From 3493982c68b8afc68eba4600d5cf1361e48a44a8 Mon Sep 17 00:00:00 2001 From: hmn Date: Tue, 10 Jun 2025 15:24:40 +0200 Subject: [PATCH 1/6] Fixed build error on python 3.12 --- MANIFEST.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index 0d439db7..c5ce60ad 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -10,8 +10,10 @@ recursive-include imgui *.cpp *.h # Additional internal ImgGui configuration recursive-include config-cpp *.cpp *.h -# ImGui sources +# ImGui / Implot sources recursive-include imgui-cpp *.cpp *.h +recursive-include implot-cpp *.cpp *.h + prune imgui-cpp/examples prune imgui-cpp/extra_fonts From a4a369d54d1ceaad18d24b1774526d6c0e224c84 Mon Sep 17 00:00:00 2001 From: hmn Date: Wed, 11 Jun 2025 11:53:09 +0200 Subject: [PATCH 2/6] migrated to prefer pyproject.toml vs setup.py --- pyproject.toml | 28 +++++++++++++++++++++++++++- setup.cfg | 2 ++ setup.py | 35 ++--------------------------------- 3 files changed, 31 insertions(+), 34 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 792440ab..686b7aab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ environment = { LC_ALL="en_US.UTF-8", LANG="en_US.UTF-8" } [build-system] requires = [ - "Cython>=0.24,<0.30", + "Cython", "PyOpenGL", "glfw", "wheel", @@ -25,3 +25,29 @@ requires = [ "setuptools", ] build-backend = "setuptools.build_meta" +[tool.cython] +language_level = "3" + +[project] +name='pyplotgui' # name on PyPi; still imported as 'imgui' +version='1.0.0' # separate versioning from pyimgui + +authors = [ + {name = 'Erik Härkönen', email = 'erik.harkonen@hotmail.com'} +] + +description="Cython-based Python bindings for dear imgui and implot" +readme = "README.md" +license= 'BSD-2-Clause' + +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Cython", + "Operating System :: MacOS :: MacOS X", + "Operating System :: POSIX :: Linux", + "Operating System :: Microsoft :: Windows", + "Topic :: Games/Entertainment", +] +[project.urls] +Repository = "https://github.com/harskish/pyplotgui" \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 712f9e30..9c08b952 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,5 @@ [tool:pytest] filterwarnings = ignore::DeprecationWarning:docutils addopts = --ignore=tests/test_crazy_callbacks.py +[options] +packages = find: \ No newline at end of file diff --git a/setup.py b/setup.py index 7d6c7792..26ca043f 100644 --- a/setup.py +++ b/setup.py @@ -103,7 +103,7 @@ def backend_extras(*requirements): return ["PyOpenGL"] + list(requirements) EXTRAS_REQUIRE = { - 'Cython': ['Cython>=0.24,<0.30'], + 'Cython': ['Cython>=3.16,'], 'cocos2d': backend_extras( "cocos2d", "pyglet>=1.5.6; sys_platform == 'darwin'", @@ -131,6 +131,7 @@ def backend_extras(*requirements): ('PYIMGUI_CUSTOM_EXCEPTION', None) ] + os_specific_macros + general_macros, include_dirs=['imgui', 'config-cpp', 'imgui-cpp', 'ansifeed-cpp'], + language="c++" ), Extension( "imgui.internal", extension_sources("imgui/internal"), @@ -154,41 +155,9 @@ def backend_extras(*requirements): setup( - name='pyplotgui', # name on PyPi; still imported as 'imgui' - version='1.0.0', # separate versioning from pyimgui - packages=find_packages('.'), - - author=u'Erik Härkönen', - author_email='erik.harkonen@hotmail.com', - - description="Cython-based Python bindings for dear imgui and implot", - long_description=read(README), - long_description_content_type="text/markdown", - - url="https://github.com/harskish/pyplotgui", - ext_modules=cythonize( EXTENSIONS, compiler_directives=compiler_directives, **cythonize_opts ), - extras_require=EXTRAS_REQUIRE, include_package_data=True, - - license='BSD', - classifiers=[ - 'Intended Audience :: Developers', - 'License :: OSI Approved :: BSD License', - - 'Programming Language :: Cython', - 'Programming Language :: Python :: 3', - - 'Programming Language :: Python :: Implementation :: CPython', - 'Programming Language :: Cython', - - 'Operating System :: MacOS :: MacOS X', - 'Operating System :: POSIX :: Linux', - 'Operating System :: Microsoft :: Windows', - - 'Topic :: Games/Entertainment', - ], ) From af9dc4d174aa08140a5d88b449a8a249f0d6cf63 Mon Sep 17 00:00:00 2001 From: hmn Date: Wed, 11 Jun 2025 12:09:14 +0200 Subject: [PATCH 3/6] Fixed relative imports on the cython files, (compatibile with more recent cython versions > 3 builds tested for 3.8 till 3.13 --- imgui/ansifeed.pxd | 4 ++-- imgui/cimgui.pxd | 4 ++-- imgui/cimplot.pxd | 2 +- imgui/core.pxd | 2 +- imgui/core.pyx | 33 +++++++++++++++++---------------- imgui/internal.pxd | 6 +++--- imgui/internal.pyx | 6 +++--- imgui/plot.pyx | 8 ++++---- pyproject.toml | 1 - 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/imgui/ansifeed.pxd b/imgui/ansifeed.pxd index 29c4a095..4b876328 100644 --- a/imgui/ansifeed.pxd +++ b/imgui/ansifeed.pxd @@ -8,9 +8,9 @@ Notes: `✗` marks API element as "yet to be mapped """ -cimport cimgui +from imgui cimport cimgui -from cimgui cimport ImVec4 +from imgui.cimgui cimport ImVec4 cdef extern from "../ansifeed-cpp/AnsiTextColored.h" namespace "ImGui": void TextAnsi(const char* fmt, ...) except + # ✓ diff --git a/imgui/cimgui.pxd b/imgui/cimgui.pxd index 866b9e9e..544196d3 100644 --- a/imgui/cimgui.pxd +++ b/imgui/cimgui.pxd @@ -8,7 +8,7 @@ Notes: """ from libcpp cimport bool -from enums cimport ImGuiKey_, ImGuiCol_, ImGuiSliderFlags_ +from imgui.enums cimport ImGuiKey_, ImGuiCol_, ImGuiSliderFlags_ cdef extern from "imgui.h": # ==== @@ -708,7 +708,7 @@ cdef extern from "imgui.h": float Ascent # ✗ float Descent # ✗ int MetricsTotalSurface # ✗ - ImU8 Used4kPagesMap[(IM_UNICODE_CODEPOINT_MAX+1)/4096/8] # ✗ + ImU8 Used4kPagesMap[(IM_UNICODE_CODEPOINT_MAX+1)//4096//8] # ✗ # Methods const ImFontGlyph*FindGlyph(ImWchar c) except + # ✗ diff --git a/imgui/cimplot.pxd b/imgui/cimplot.pxd index 4e209842..5f9df1a8 100644 --- a/imgui/cimplot.pxd +++ b/imgui/cimplot.pxd @@ -8,7 +8,7 @@ Notes: """ from libcpp cimport bool -from cimgui cimport ImVec2, ImVec4, ImTextureID, ImGuiCond, ImGuiMouseButton, ImGuiKeyModFlags, ImGuiDragDropFlags, ImU32, ImDrawList, ImGuiContext +from imgui.cimgui cimport ImVec2, ImVec4, ImTextureID, ImGuiCond, ImGuiMouseButton, ImGuiKeyModFlags, ImGuiDragDropFlags, ImU32, ImDrawList, ImGuiContext # Must be outside cdef extern from "implot.h" since it is not defined there ctypedef ImPlotPoint (*ImPlotGetterCallback)(void* data, int idx) diff --git a/imgui/core.pxd b/imgui/core.pxd index dbab93d9..5454b258 100644 --- a/imgui/core.pxd +++ b/imgui/core.pxd @@ -3,7 +3,7 @@ This file provides all C/C++ definitions that need to be shared between all extension modules. This is mostly for the `extra` submodule that provides some additional utilities that do not belong to `core`. """ -cimport cimgui +from imgui cimport cimgui cdef class _Font(object): cdef cimgui.ImFont* _ptr diff --git a/imgui/core.pyx b/imgui/core.pyx index 3371fd68..c6b48e01 100644 --- a/imgui/core.pyx +++ b/imgui/core.pyx @@ -31,11 +31,11 @@ from libcpp cimport bool FLOAT_MIN = FLT_MIN FLOAT_MAX = FLT_MAX -cimport cimgui -cimport core -cimport enums -cimport ansifeed -cimport internal +from imgui cimport cimgui +from imgui cimport core +from imgui cimport enums +from imgui cimport ansifeed +from imgui cimport internal from cpython.version cimport PY_MAJOR_VERSION @@ -3034,7 +3034,7 @@ cdef class _InputTextSharedBuffer(object): cdef _InputTextSharedBuffer _input_text_shared_buffer = _InputTextSharedBuffer() -cdef int _ImGuiInputTextCallback(cimgui.ImGuiInputTextCallbackData* data): +cdef int _ImGuiInputTextCallback(cimgui.ImGuiInputTextCallbackData* data) noexcept: cdef _ImGuiInputTextCallbackData callback_data = _ImGuiInputTextCallbackData.from_ptr(data) callback_data._require_pointer() @@ -3046,7 +3046,7 @@ cdef int _ImGuiInputTextCallback(cimgui.ImGuiInputTextCallbackData* data): cdef ret = (<_callback_user_info>callback_data._ptr.UserData).callback_fn(callback_data) return ret if ret is not None else 0 -cdef int _ImGuiInputTextOnlyResizeCallback(cimgui.ImGuiInputTextCallbackData* data): +cdef int _ImGuiInputTextOnlyResizeCallback(cimgui.ImGuiInputTextCallbackData* data) noexcept: # This callback is used internally if user asks for buffer resizing but does not provide any python callback function. if data.EventFlag == enums.ImGuiInputTextFlags_CallbackResize: @@ -3185,7 +3185,7 @@ cdef class _ImGuiInputTextCallbackData(object): def insert_chars(self, int pos, str text): self._require_pointer() self._ptr.InsertChars(pos, _bytes(text)) - + def select_all(self): self._require_pointer() self._ptr.SelectAll() @@ -3193,14 +3193,13 @@ cdef class _ImGuiInputTextCallbackData(object): def clear_selection(self): self._require_pointer() self._ptr.ClearSelection() - + def has_selection(self): self._require_pointer() return self._ptr.HasSelection() - - -cdef void _ImGuiSizeCallback(cimgui.ImGuiSizeCallbackData* data): + +cdef void _ImGuiSizeCallback(cimgui.ImGuiSizeCallbackData* data) noexcept: cdef _ImGuiSizeCallbackData callback_data = _ImGuiSizeCallbackData.from_ptr(data) callback_data._require_pointer() (<_callback_user_info>callback_data._ptr.UserData).callback_fn(callback_data) @@ -9239,7 +9238,7 @@ def plot_lines( float scale_min = FLOAT_MAX, float scale_max = FLOAT_MAX, graph_size = (0, 0), - int stride = sizeof(float), + int stride = -1, ): """ @@ -9302,7 +9301,8 @@ def plot_lines( """ if values_count == -1: values_count = values.shape[0] - + if stride == -1: + stride = sizeof(float) # Would be nicer as something like # _bytes(overlay_text) if overlay_text is not None else NULL # but then Cython complains about either types or pointers to temporary references. @@ -9331,7 +9331,7 @@ def plot_histogram( float scale_min = FLT_MAX, float scale_max = FLT_MAX, graph_size = (0, 0), - int stride = sizeof(float), + int stride = -1, ): """ Plot a histogram of float values. @@ -9394,7 +9394,8 @@ def plot_histogram( """ if values_count == -1: values_count = values.shape[0] - + if stride == -1: + stride = sizeof(float) # Would be nicer as something like # _bytes(overlay_text) if overlay_text is not None else NULL # but then Cython complains about either types or pointers to temporary references. diff --git a/imgui/internal.pxd b/imgui/internal.pxd index 583f7244..121fd945 100644 --- a/imgui/internal.pxd +++ b/imgui/internal.pxd @@ -9,10 +9,10 @@ Notes: """ from libcpp cimport bool -from enums cimport ImGuiKey_, ImGuiCol_, ImGuiSliderFlags_ +from imgui.enums cimport ImGuiKey_, ImGuiCol_, ImGuiSliderFlags_ -cimport cimgui -cimport enums_internal +from imgui cimport cimgui +from imgui cimport enums_internal cdef UpdateImGuiContext(cimgui.ImGuiContext* _ptr) diff --git a/imgui/internal.pyx b/imgui/internal.pyx index fb4b42a8..b2b44f01 100644 --- a/imgui/internal.pyx +++ b/imgui/internal.pyx @@ -5,9 +5,9 @@ import cython -cimport cimgui -cimport internal -cimport enums_internal +from imgui cimport cimgui +from imgui cimport internal +from imgui cimport enums_internal from cpython.version cimport PY_MAJOR_VERSION diff --git a/imgui/plot.pyx b/imgui/plot.pyx index 88058149..723ea5ad 100644 --- a/imgui/plot.pyx +++ b/imgui/plot.pyx @@ -11,10 +11,10 @@ import warnings from libcpp cimport bool from libc.stdlib cimport malloc, free -cimport cimplot -cimport cimgui -cimport core -cimport enums +from imgui cimport cimplot +from imgui cimport cimgui +from imgui cimport core +from imgui cimport enums from cpython.version cimport PY_MAJOR_VERSION diff --git a/pyproject.toml b/pyproject.toml index 686b7aab..fb3001a8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,6 @@ authors = [ description="Cython-based Python bindings for dear imgui and implot" readme = "README.md" -license= 'BSD-2-Clause' classifiers = [ "Programming Language :: Python :: 3", From a5bd553bdaef91aa5264dc8cc50caa4d4100cc37 Mon Sep 17 00:00:00 2001 From: hmn Date: Wed, 11 Jun 2025 14:39:45 +0200 Subject: [PATCH 4/6] updated the version info to be read from package data --- imgui/__init__.py | 15 ++++++++------- imgui/extra.py | 2 +- pyproject.toml | 2 +- setup.py | 23 ++++------------------- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/imgui/__init__.py b/imgui/__init__.py index 5a2b946f..8bcf6176 100644 --- a/imgui/__init__.py +++ b/imgui/__init__.py @@ -1,14 +1,15 @@ -# -*- coding: utf-8 -*- -VERSION = (2, 0, 0) # PEP 386 -__version__ = ".".join([str(x) for x in VERSION]) - from imgui.core import * # noqa +from importlib.metadata import version, PackageNotFoundError + +try: + __version__ = version("pyplotgui") # replace with your actual package name +except PackageNotFoundError: + __version__ = "0.0.0" # fallback or handle error + + from imgui import core from imgui.extra import * # noqa from imgui import extra -from imgui import _compat -from imgui import internal -from imgui import plot # TODO: Complete and correcte doc text for ImGui v1.79 diff --git a/imgui/extra.py b/imgui/extra.py index 2aeffe16..b922a375 100644 --- a/imgui/extra.py +++ b/imgui/extra.py @@ -3,7 +3,7 @@ but are useful in Python application. """ -from . import core +from imgui import core __all__ = ( "text_ansi", diff --git a/pyproject.toml b/pyproject.toml index fb3001a8..c2c4f3ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ language_level = "3" [project] name='pyplotgui' # name on PyPi; still imported as 'imgui' -version='1.0.0' # separate versioning from pyimgui +version='2.0.0' # separate versioning from pyimgui authors = [ {name = 'Erik Härkönen', email = 'erik.harkonen@hotmail.com'} diff --git a/setup.py b/setup.py index 26ca043f..c10cb8ff 100644 --- a/setup.py +++ b/setup.py @@ -1,9 +1,7 @@ -# -*- coding: utf-8 -*- -import os import sys from itertools import chain -from setuptools import setup, Extension, find_packages +from setuptools import setup, Extension try: from Cython.Build import cythonize @@ -16,7 +14,8 @@ USE_CYTHON = True -_CYTHONIZE_WITH_COVERAGE = False #os.environ.get("_CYTHONIZE_WITH_COVERAGE", False) +_CYTHONIZE_WITH_COVERAGE = False +# os.environ.get("_CYTHONIZE_WITH_COVERAGE", False) if _CYTHONIZE_WITH_COVERAGE and not USE_CYTHON: raise RuntimeError( @@ -30,19 +29,6 @@ def read(filename): return file_handle.read() -def get_version(version_tuple): - if not isinstance(version_tuple[-1], int): - return '.'.join(map(str, version_tuple[:-1])) + version_tuple[-1] - return '.'.join(map(str, version_tuple)) - - -init = os.path.join(os.path.dirname(__file__), 'imgui', '__init__.py') -version_line = list(filter(lambda l: l.startswith('VERSION'), open(init)))[0] - -#VERSION = get_version(eval(version_line.split('=')[-1])) -README = os.path.join(os.path.dirname(__file__), 'README.md') - - if sys.platform in ('cygwin', 'win32'): # windows # note: `/FI` means forced include in VC++/VC # note: may be obsoleted in future if ImGui gets patched @@ -73,7 +59,6 @@ def get_version(version_tuple): def extension_sources(path): sources = ["{0}{1}".format(path, '.pyx' if USE_CYTHON else '.cpp')] - if not USE_CYTHON: # note: Cython will pick these files automatically but when building # a plain C++ sdist without Cython we need to explicitly mark @@ -97,11 +82,11 @@ def extension_sources(path): def backend_extras(*requirements): """Construct list of requirements for backend integration. - All built-in backends depend on PyOpenGL so add it as default requirement. """ return ["PyOpenGL"] + list(requirements) + EXTRAS_REQUIRE = { 'Cython': ['Cython>=3.16,'], 'cocos2d': backend_extras( From 2b21d58021acf8b1bc241ba8ec01d4087a36b1ad Mon Sep 17 00:00:00 2001 From: hmn Date: Wed, 11 Jun 2025 14:40:10 +0200 Subject: [PATCH 5/6] added the flake8 setting in setup.cfg --- setup.cfg | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 9c08b952..09bcec88 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,4 +2,7 @@ filterwarnings = ignore::DeprecationWarning:docutils addopts = --ignore=tests/test_crazy_callbacks.py [options] -packages = find: \ No newline at end of file +packages = find: +[flake8] +extend-ignore = E501 +exclude = .git,__pycache__,build,dist \ No newline at end of file From ce147b22f15935eed1b198484617a78268cc76db Mon Sep 17 00:00:00 2001 From: hmn Date: Wed, 11 Jun 2025 14:43:14 +0200 Subject: [PATCH 6/6] fixed warning issue on init file (formatted for flake8) --- imgui/__init__.py | 220 ++++++++++++++++++++++++---------------------- 1 file changed, 117 insertions(+), 103 deletions(-) diff --git a/imgui/__init__.py b/imgui/__init__.py index 8bcf6176..109722ba 100644 --- a/imgui/__init__.py +++ b/imgui/__init__.py @@ -63,7 +63,7 @@ KEY_ENTER = core.KEY_ENTER #: for text edit KEY_ESCAPE = core.KEY_ESCAPE -#: +#: KEY_PAD_ENTER = core.KEY_PAD_ENTER #: for text edit CTRL+A: select all KEY_A = core.KEY_A @@ -98,7 +98,7 @@ #: scroll / move window (w/ PadMenu) e.g. Left Analog Stick Left/Right/Up/Down NAV_INPUT_L_STICK_LEFT = core.NAV_INPUT_L_STICK_LEFT #: -NAV_INPUT_L_STICK_RIGHT = core.NAV_INPUT_L_STICK_RIGHT +NAV_INPUT_L_STICK_RIGHT = core.NAV_INPUT_L_STICK_RIGHT #: NAV_INPUT_L_STICK_UP = core.NAV_INPUT_L_STICK_UP #: @@ -110,7 +110,7 @@ #: slower tweaks e.g. L1 or L2 (PS4), LB or LT (Xbox), L or ZL (Switch) NAV_INPUT_TWEAK_SLOW = core.NAV_INPUT_TWEAK_SLOW #: faster tweaks e.g. R1 or R2 (PS4), RB or RT (Xbox), R or ZL (Switch) -NAV_INPUT_TWEAK_FAST = core.NAV_INPUT_TWEAK_FAST +NAV_INPUT_TWEAK_FAST = core.NAV_INPUT_TWEAK_FAST # === Key Mode Flags (redefines for autodoc) @@ -371,11 +371,11 @@ COLOR_RESIZE_GRIP = core.COLOR_RESIZE_GRIP COLOR_RESIZE_GRIP_HOVERED = core.COLOR_RESIZE_GRIP_HOVERED COLOR_RESIZE_GRIP_ACTIVE = core.COLOR_RESIZE_GRIP_ACTIVE -COLOR_TAB = COLOR_TAB -COLOR_TAB_HOVERED = COLOR_TAB_HOVERED -COLOR_TAB_ACTIVE = COLOR_TAB_ACTIVE -COLOR_TAB_UNFOCUSED = COLOR_TAB_UNFOCUSED -COLOR_TAB_UNFOCUSED_ACTIVE = COLOR_TAB_UNFOCUSED_ACTIVE +COLOR_TAB = core.COLOR_TAB +COLOR_TAB_HOVERED = core.COLOR_TAB_HOVERED +COLOR_TAB_ACTIVE = core.COLOR_TAB_ACTIVE +COLOR_TAB_UNFOCUSED = core.COLOR_TAB_UNFOCUSED +COLOR_TAB_UNFOCUSED_ACTIVE = core.COLOR_TAB_UNFOCUSED_ACTIVE COLOR_PLOT_LINES = core.COLOR_PLOT_LINES COLOR_PLOT_LINES_HOVERED = core.COLOR_PLOT_LINES_HOVERED COLOR_PLOT_HISTOGRAM = core.COLOR_PLOT_HISTOGRAM @@ -394,15 +394,15 @@ COLOR_COUNT = core.COLOR_COUNT # === Data Type (redefines for autodoc) -DATA_TYPE_S8 = core.DATA_TYPE_S8 -DATA_TYPE_U8 = core.DATA_TYPE_U8 -DATA_TYPE_S16 = core.DATA_TYPE_S16 -DATA_TYPE_U16 = core.DATA_TYPE_U16 -DATA_TYPE_S32 = core.DATA_TYPE_S32 -DATA_TYPE_U32 = core.DATA_TYPE_U32 -DATA_TYPE_S64 = core.DATA_TYPE_S64 -DATA_TYPE_U64 = core.DATA_TYPE_U64 -DATA_TYPE_FLOAT = core.DATA_TYPE_FLOAT +DATA_TYPE_S8 = core.DATA_TYPE_S8 +DATA_TYPE_U8 = core.DATA_TYPE_U8 +DATA_TYPE_S16 = core.DATA_TYPE_S16 +DATA_TYPE_U16 = core.DATA_TYPE_U16 +DATA_TYPE_S32 = core.DATA_TYPE_S32 +DATA_TYPE_U32 = core.DATA_TYPE_U32 +DATA_TYPE_S64 = core.DATA_TYPE_S64 +DATA_TYPE_U64 = core.DATA_TYPE_U64 +DATA_TYPE_FLOAT = core.DATA_TYPE_FLOAT DATA_TYPE_DOUBLE = core.DATA_TYPE_DOUBLE @@ -437,7 +437,12 @@ #: Display only a square arrow button COMBO_NO_PREVIEW = core.COMBO_NO_PREVIEW #: Shortcut: ``imgui.COMBO_HEIGHT_SMALL | imgui.COMBO_HEIGHT_REGULAR | imgui.COMBO_HEIGHT_LARGE | imgui.COMBO_HEIGHT_LARGEST``. -COMBO_HEIGHT_MASK = COMBO_HEIGHT_SMALL | COMBO_HEIGHT_REGULAR | COMBO_HEIGHT_LARGE | COMBO_HEIGHT_LARGEST +COMBO_HEIGHT_MASK = ( + COMBO_HEIGHT_SMALL + | COMBO_HEIGHT_REGULAR + | COMBO_HEIGHT_LARGE + | COMBO_HEIGHT_LARGEST +) # === Tab Bar Flags (redefines for autodoc) TAB_BAR_NONE = core.TAB_BAR_NONE @@ -448,7 +453,9 @@ #: Disable buttons to open the tab list popup TAB_BAR_TAB_LIST_POPUP_BUTTON = core.TAB_BAR_TAB_LIST_POPUP_BUTTON #: Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false. -TAB_BAR_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON = core.TAB_BAR_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON +TAB_BAR_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON = ( + core.TAB_BAR_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON +) #: Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll) TAB_BAR_NO_TAB_LIST_SCROLLING_BUTTONS = core.TAB_BAR_NO_TAB_LIST_SCROLLING_BUTTONS #: Disable tooltips when hovering a tab @@ -469,7 +476,9 @@ #: Trigger flag to programmatically make the tab selected when calling BeginTabItem() TAB_ITEM_SET_SELECTED = core.TAB_ITEM_SET_SELECTED #: Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false. -TAB_ITEM_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON = core.TAB_ITEM_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON +TAB_ITEM_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON = ( + core.TAB_ITEM_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON +) #: Don't call PushID(tab->ID)/PopID() on BeginTabItem()/EndTabItem() TAB_ITEM_NO_PUSH_ID = core.TAB_ITEM_NO_PUSH_ID #: Disable tooltip for the given tab @@ -485,144 +494,144 @@ # === Table Flags === #: # Features #: None -TABLE_NONE = core.TABLE_NONE +TABLE_NONE = core.TABLE_NONE #: Enable resizing columns. -TABLE_RESIZABLE = core.TABLE_RESIZABLE +TABLE_RESIZABLE = core.TABLE_RESIZABLE #: Enable reordering columns in header row (need calling TableSetupColumn() + TableHeadersRow() to display headers) -TABLE_REORDERABLE = core.TABLE_REORDERABLE +TABLE_REORDERABLE = core.TABLE_REORDERABLE #: Enable hiding/disabling columns in context menu. -TABLE_HIDEABLE = core.TABLE_HIDEABLE +TABLE_HIDEABLE = core.TABLE_HIDEABLE #: Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate. -TABLE_SORTABLE = core.TABLE_SORTABLE +TABLE_SORTABLE = core.TABLE_SORTABLE #: Disable persisting columns order, width and sort settings in the .ini file. -TABLE_NO_SAVED_SETTINGS = core.TABLE_NO_SAVED_SETTINGS +TABLE_NO_SAVED_SETTINGS = core.TABLE_NO_SAVED_SETTINGS #: Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow(). -TABLE_CONTEXT_MENU_IN_BODY = core.TABLE_CONTEXT_MENU_IN_BODY +TABLE_CONTEXT_MENU_IN_BODY = core.TABLE_CONTEXT_MENU_IN_BODY #: # Decorations #: Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually) -TABLE_ROW_BACKGROUND = core.TABLE_ROW_BACKGROUND +TABLE_ROW_BACKGROUND = core.TABLE_ROW_BACKGROUND #: Draw horizontal borders between rows. -TABLE_BORDERS_INNER_HORIZONTAL = core.TABLE_BORDERS_INNER_HORIZONTAL +TABLE_BORDERS_INNER_HORIZONTAL = core.TABLE_BORDERS_INNER_HORIZONTAL #: Draw horizontal borders at the top and bottom. -TABLE_BORDERS_OUTER_HORIZONTAL = core.TABLE_BORDERS_OUTER_HORIZONTAL +TABLE_BORDERS_OUTER_HORIZONTAL = core.TABLE_BORDERS_OUTER_HORIZONTAL #: Draw vertical borders between columns. -TABLE_BORDERS_INNER_VERTICAL = core.TABLE_BORDERS_INNER_VERTICAL +TABLE_BORDERS_INNER_VERTICAL = core.TABLE_BORDERS_INNER_VERTICAL #: Draw vertical borders on the left and right sides. -TABLE_BORDERS_OUTER_VERTICAL = core.TABLE_BORDERS_OUTER_VERTICAL +TABLE_BORDERS_OUTER_VERTICAL = core.TABLE_BORDERS_OUTER_VERTICAL #: Draw horizontal borders. -TABLE_BORDERS_HORIZONTAL = core.TABLE_BORDERS_HORIZONTAL +TABLE_BORDERS_HORIZONTAL = core.TABLE_BORDERS_HORIZONTAL #: Draw vertical borders. -TABLE_BORDERS_VERTICAL = core.TABLE_BORDERS_VERTICAL +TABLE_BORDERS_VERTICAL = core.TABLE_BORDERS_VERTICAL #: Draw inner borders. -TABLE_BORDERS_INNER = core.TABLE_BORDERS_INNER +TABLE_BORDERS_INNER = core.TABLE_BORDERS_INNER #: Draw outer borders. -TABLE_BORDERS_OUTER = core.TABLE_BORDERS_OUTER +TABLE_BORDERS_OUTER = core.TABLE_BORDERS_OUTER #: Draw all borders. -TABLE_BORDERS = core.TABLE_BORDERS +TABLE_BORDERS = core.TABLE_BORDERS #: [ALPHA] Disable vertical borders in columns Body (borders will always appears in Headers). -> May move to style -TABLE_NO_BORDERS_IN_BODY = core.TABLE_NO_BORDERS_IN_BODY +TABLE_NO_BORDERS_IN_BODY = core.TABLE_NO_BORDERS_IN_BODY #: [ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appears in Headers). -> May move to style -TABLE_NO_BORDERS_IN_BODY_UTIL_RESIZE = core.TABLE_NO_BORDERS_IN_BODY_UTIL_RESIZE +TABLE_NO_BORDERS_IN_BODY_UTIL_RESIZE = core.TABLE_NO_BORDERS_IN_BODY_UTIL_RESIZE #: # Sizing Policy (read above for defaults) #: Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width. -TABLE_SIZING_FIXED_FIT = core.TABLE_SIZING_FIXED_FIT +TABLE_SIZING_FIXED_FIT = core.TABLE_SIZING_FIXED_FIT #: Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible. -TABLE_SIZING_FIXED_SAME = core.TABLE_SIZING_FIXED_SAME +TABLE_SIZING_FIXED_SAME = core.TABLE_SIZING_FIXED_SAME #: Columns default to _WidthStretch with default weights proportional to each columns contents widths. -TABLE_SIZING_STRETCH_PROP = core.TABLE_SIZING_STRETCH_PROP +TABLE_SIZING_STRETCH_PROP = core.TABLE_SIZING_STRETCH_PROP #: Columns default to _WidthStretch with default weights all equal, unless overriden by TableSetupColumn(). -TABLE_SIZING_STRETCH_SAME = core.TABLE_SIZING_STRETCH_SAME +TABLE_SIZING_STRETCH_SAME = core.TABLE_SIZING_STRETCH_SAME #: # Sizing Extra Options #: Make outer width auto-fit to columns, overriding outer_size.x value. Only available when ScrollX/ScrollY are disabled and Stretch columns are not used. -TABLE_NO_HOST_EXTEND_X = core.TABLE_NO_HOST_EXTEND_X +TABLE_NO_HOST_EXTEND_X = core.TABLE_NO_HOST_EXTEND_X #: Make outer height stop exactly at outer_size.y (prevent auto-extending table past the limit). Only available when ScrollX/ScrollY are disabled. Data below the limit will be clipped and not visible. -TABLE_NO_HOST_EXTEND_Y = core.TABLE_NO_HOST_EXTEND_Y +TABLE_NO_HOST_EXTEND_Y = core.TABLE_NO_HOST_EXTEND_Y #: Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable. -TABLE_NO_KEEP_COLUMNS_VISIBLE = core.TABLE_NO_KEEP_COLUMNS_VISIBLE +TABLE_NO_KEEP_COLUMNS_VISIBLE = core.TABLE_NO_KEEP_COLUMNS_VISIBLE #: Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth. -TABLE_PRECISE_WIDTHS = core.TABLE_PRECISE_WIDTHS +TABLE_PRECISE_WIDTHS = core.TABLE_PRECISE_WIDTHS #: # Clipping #: Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze(). TABLE_NO_CLIP = core.TABLE_NO_CLIP #: # Padding #: Default if BordersOuterV is on. Enable outer-most padding. Generally desirable if you have headers. -TABLE_PAD_OUTER_X = core.TABLE_PAD_OUTER_X +TABLE_PAD_OUTER_X = core.TABLE_PAD_OUTER_X #: Default if BordersOuterV is off. Disable outer-most padding. -TABLE_NO_PAD_OUTER_X = core.TABLE_NO_PAD_OUTER_X +TABLE_NO_PAD_OUTER_X = core.TABLE_NO_PAD_OUTER_X #: Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off). -TABLE_NO_PAD_INNER_X = core.TABLE_NO_PAD_INNER_X +TABLE_NO_PAD_INNER_X = core.TABLE_NO_PAD_INNER_X #: # Scrolling #: Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this create a child window, ScrollY is currently generally recommended when using ScrollX. -TABLE_SCROLL_X = core.TABLE_SCROLL_X +TABLE_SCROLL_X = core.TABLE_SCROLL_X #: Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. TABLE_SCROLL_Y = core.TABLE_SCROLL_Y #: # Sorting #: Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1). -TABLE_SORT_MULTI = core.TABLE_SORT_MULTI +TABLE_SORT_MULTI = core.TABLE_SORT_MULTI #: Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0). TABLE_SORT_TRISTATE = core.TABLE_SORT_TRISTATE # === Table Column Flags === #: # Input configuration flags #: None -TABLE_COLUMN_NONE = core.TABLE_COLUMN_NONE +TABLE_COLUMN_NONE = core.TABLE_COLUMN_NONE #: Default as a hidden/disabled column. -TABLE_COLUMN_DEFAULT_HIDE = core.TABLE_COLUMN_DEFAULT_HIDE +TABLE_COLUMN_DEFAULT_HIDE = core.TABLE_COLUMN_DEFAULT_HIDE #: Default as a sorting column. -TABLE_COLUMN_DEFAULT_SORT = core.TABLE_COLUMN_DEFAULT_SORT +TABLE_COLUMN_DEFAULT_SORT = core.TABLE_COLUMN_DEFAULT_SORT #: Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp). -TABLE_COLUMN_WIDTH_STRETCH = core.TABLE_COLUMN_WIDTH_STRETCH +TABLE_COLUMN_WIDTH_STRETCH = core.TABLE_COLUMN_WIDTH_STRETCH #: Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable). -TABLE_COLUMN_WIDTH_FIXED = core.TABLE_COLUMN_WIDTH_FIXED +TABLE_COLUMN_WIDTH_FIXED = core.TABLE_COLUMN_WIDTH_FIXED #: Disable manual resizing. -TABLE_COLUMN_NO_RESIZE = core.TABLE_COLUMN_NO_RESIZE +TABLE_COLUMN_NO_RESIZE = core.TABLE_COLUMN_NO_RESIZE #: Disable manual reordering this column, this will also prevent other columns from crossing over this column. -TABLE_COLUMN_NO_REORDER = core.TABLE_COLUMN_NO_REORDER +TABLE_COLUMN_NO_REORDER = core.TABLE_COLUMN_NO_REORDER #: Disable ability to hide/disable this column. -TABLE_COLUMN_NO_HIDE = core.TABLE_COLUMN_NO_HIDE +TABLE_COLUMN_NO_HIDE = core.TABLE_COLUMN_NO_HIDE #: Disable clipping for this column (all NoClip columns will render in a same draw command). -TABLE_COLUMN_NO_CLIP = core.TABLE_COLUMN_NO_CLIP +TABLE_COLUMN_NO_CLIP = core.TABLE_COLUMN_NO_CLIP #: Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table). -TABLE_COLUMN_NO_SORT = core.TABLE_COLUMN_NO_SORT +TABLE_COLUMN_NO_SORT = core.TABLE_COLUMN_NO_SORT #: Disable ability to sort in the ascending direction. -TABLE_COLUMN_NO_SORT_ASCENDING = core.TABLE_COLUMN_NO_SORT_ASCENDING +TABLE_COLUMN_NO_SORT_ASCENDING = core.TABLE_COLUMN_NO_SORT_ASCENDING #: Disable ability to sort in the descending direction. -TABLE_COLUMN_NO_SORT_DESCENDING = core.TABLE_COLUMN_NO_SORT_DESCENDING +TABLE_COLUMN_NO_SORT_DESCENDING = core.TABLE_COLUMN_NO_SORT_DESCENDING #: Disable header text width contribution to automatic column width. -TABLE_COLUMN_NO_HEADER_WIDTH = core.TABLE_COLUMN_NO_HEADER_WIDTH +TABLE_COLUMN_NO_HEADER_WIDTH = core.TABLE_COLUMN_NO_HEADER_WIDTH #: Make the initial sort direction Ascending when first sorting on this column (default). -TABLE_COLUMN_PREFER_SORT_ASCENDING = core.TABLE_COLUMN_PREFER_SORT_ASCENDING +TABLE_COLUMN_PREFER_SORT_ASCENDING = core.TABLE_COLUMN_PREFER_SORT_ASCENDING #: Make the initial sort direction Descending when first sorting on this column. TABLE_COLUMN_PREFER_SORT_DESCENDING = core.TABLE_COLUMN_PREFER_SORT_DESCENDING #: Use current Indent value when entering cell (default for column 0). -TABLE_COLUMN_INDENT_ENABLE = core.TABLE_COLUMN_INDENT_ENABLE +TABLE_COLUMN_INDENT_ENABLE = core.TABLE_COLUMN_INDENT_ENABLE #: Ignore current Indent value when entering cell (default for columns > 0). Indentation changes _within_ the cell will still be honored. -TABLE_COLUMN_INDENT_DISABLE = core.TABLE_COLUMN_INDENT_DISABLE +TABLE_COLUMN_INDENT_DISABLE = core.TABLE_COLUMN_INDENT_DISABLE #: # Output status flags, read-only via TableGetColumnFlags() #: Status: is enabled == not hidden by user/api (referred to as "Hide" in _DefaultHide and _NoHide) flags. -TABLE_COLUMN_IS_ENABLED = core.TABLE_COLUMN_IS_ENABLED +TABLE_COLUMN_IS_ENABLED = core.TABLE_COLUMN_IS_ENABLED #: Status: is visible == is enabled AND not clipped by scrolling. -TABLE_COLUMN_IS_VISIBLE = core.TABLE_COLUMN_IS_VISIBLE +TABLE_COLUMN_IS_VISIBLE = core.TABLE_COLUMN_IS_VISIBLE #: Status: is currently part of the sort specs -TABLE_COLUMN_IS_SORTED = core.TABLE_COLUMN_IS_SORTED +TABLE_COLUMN_IS_SORTED = core.TABLE_COLUMN_IS_SORTED #: Status: is hovered by mouse -TABLE_COLUMN_IS_HOVERED = core.TABLE_COLUMN_IS_HOVERED +TABLE_COLUMN_IS_HOVERED = core.TABLE_COLUMN_IS_HOVERED # === Table Row Flags === #: None -TABLE_ROW_NONE = core.TABLE_ROW_NONE +TABLE_ROW_NONE = core.TABLE_ROW_NONE #: Identify header row (set default background color + width of its contents accounted different for auto column width) -TABLE_ROW_HEADERS = core.TABLE_ROW_HEADERS +TABLE_ROW_HEADERS = core.TABLE_ROW_HEADERS # === Table Background Target === #: None -TABLE_BACKGROUND_TARGET_NONE = core.TABLE_BACKGROUND_TARGET_NONE +TABLE_BACKGROUND_TARGET_NONE = core.TABLE_BACKGROUND_TARGET_NONE #: Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used) -TABLE_BACKGROUND_TARGET_ROW_BG0 = core.TABLE_BACKGROUND_TARGET_ROW_BG0 +TABLE_BACKGROUND_TARGET_ROW_BG0 = core.TABLE_BACKGROUND_TARGET_ROW_BG0 #: Set row background color 1 (generally used for selection marking) -TABLE_BACKGROUND_TARGET_ROW_BG1 = core.TABLE_BACKGROUND_TARGET_ROW_BG1 +TABLE_BACKGROUND_TARGET_ROW_BG1 = core.TABLE_BACKGROUND_TARGET_ROW_BG1 #: Set cell background color (top-most color) -TABLE_BACKGROUND_TARGET_CELL_BG = core.TABLE_BACKGROUND_TARGET_CELL_BG +TABLE_BACKGROUND_TARGET_CELL_BG = core.TABLE_BACKGROUND_TARGET_CELL_BG # === Focus flag constants (redefines for autodoc) FOCUS_NONE = core.FOCUS_NONE @@ -649,12 +658,18 @@ #: Return true even if a popup window is normally blocking access to this item/window HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP = core.HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP #: Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns. -HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM = core.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM +HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM = ( + core.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM +) #: Return true even if the position is overlapped by another window HOVERED_ALLOW_WHEN_OVERLAPPED = core.HOVERED_ALLOW_WHEN_OVERLAPPED HOVERED_ALLOW_WHEN_DISABLED = core.HOVERED_ALLOW_WHEN_DISABLED #: Shortcut: ``imgui.HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP | imgui.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM | imgui.HOVERED_ALLOW_WHEN_OVERLAPPED``. -HOVERED_RECT_ONLY = core.HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP | core.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM | core.HOVERED_ALLOW_WHEN_OVERLAPPED +HOVERED_RECT_ONLY = ( + core.HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP + | core.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM + | core.HOVERED_ALLOW_WHEN_OVERLAPPED +) #: Shortcut: ``imgui.HOVERED_ROOT_WINDOW | imgui.HOVERED_CHILD_WINDOWS``. HOVERED_ROOT_AND_CHILD_WINDOWS = core.HOVERED_ROOT_WINDOW | core.HOVERED_CHILD_WINDOWS @@ -709,7 +724,7 @@ DIRECTION_DOWN = core.DIRECTION_DOWN # === Sorting direction -SORT_DIRECTION_NONE = core.SORT_DIRECTION_NONE +SORT_DIRECTION_NONE = core.SORT_DIRECTION_NONE #: Ascending = 0->9, A->Z etc. SORT_DIRECTION_ASCENDING = core.SORT_DIRECTION_ASCENDING #: Descending = 9->0, Z->A etc. @@ -796,29 +811,29 @@ # === Draw Flags (redifines for autodoc) #: None -DRAW_NONE = core.DRAW_NONE +DRAW_NONE = core.DRAW_NONE #: path_stroke(), add_polyline(): specify that shape should be closed (Important: this is always == 1 for legacy reason) -DRAW_CLOSED = core.DRAW_CLOSED +DRAW_CLOSED = core.DRAW_CLOSED #: add_rect(), add_rect_filled(), path_rect(): enable rounding top-left corner only (when rounding > 0.0f, we default to all corners). Was 0x01. -DRAW_ROUND_CORNERS_TOP_LEFT = core.DRAW_ROUND_CORNERS_TOP_LEFT +DRAW_ROUND_CORNERS_TOP_LEFT = core.DRAW_ROUND_CORNERS_TOP_LEFT #: add_rect(), add_rect_filled(), path_rect(): enable rounding top-right corner only (when rounding > 0.0f, we default to all corners). Was 0x02. -DRAW_ROUND_CORNERS_TOP_RIGHT = core.DRAW_ROUND_CORNERS_TOP_RIGHT +DRAW_ROUND_CORNERS_TOP_RIGHT = core.DRAW_ROUND_CORNERS_TOP_RIGHT #: add_rect(), add_rect_filled(), path_rect(): enable rounding bottom-left corner only (when rounding > 0.0f, we default to all corners). Was 0x04. -DRAW_ROUND_CORNERS_BOTTOM_LEFT = core.DRAW_ROUND_CORNERS_BOTTOM_LEFT +DRAW_ROUND_CORNERS_BOTTOM_LEFT = core.DRAW_ROUND_CORNERS_BOTTOM_LEFT #: add_rect(), add_rect_filled(), path_rect(): enable rounding bottom-right corner only (when rounding > 0.0f, we default to all corners). Wax 0x08. -DRAW_ROUND_CORNERS_BOTTOM_RIGHT = core.DRAW_ROUND_CORNERS_BOTTOM_RIGHT +DRAW_ROUND_CORNERS_BOTTOM_RIGHT = core.DRAW_ROUND_CORNERS_BOTTOM_RIGHT #: add_rect(), add_rect_filled(), path_rect(): disable rounding on all corners (when rounding > 0.0f). This is NOT zero, NOT an implicit flag! -DRAW_ROUND_CORNERS_NONE = core.DRAW_ROUND_CORNERS_NONE +DRAW_ROUND_CORNERS_NONE = core.DRAW_ROUND_CORNERS_NONE #: DRAW_ROUND_CORNERS_TOP_LEFT | DRAW_ROUND_CORNERS_TOP_RIGHT -DRAW_ROUND_CORNERS_TOP = core.DRAW_ROUND_CORNERS_TOP +DRAW_ROUND_CORNERS_TOP = core.DRAW_ROUND_CORNERS_TOP #: DRAW_ROUND_CORNERS_BOTTOM_LEFT | DRAW_ROUND_CORNERS_BOTTOM_RIGHT -DRAW_ROUND_CORNERS_BOTTOM = core.DRAW_ROUND_CORNERS_BOTTOM +DRAW_ROUND_CORNERS_BOTTOM = core.DRAW_ROUND_CORNERS_BOTTOM #: DRAW_ROUND_CORNERS_BOTTOM_LEFT | DRAW_ROUND_CORNERS_TOP_LEFT -DRAW_ROUND_CORNERS_LEFT = core.DRAW_ROUND_CORNERS_LEFT +DRAW_ROUND_CORNERS_LEFT = core.DRAW_ROUND_CORNERS_LEFT #: DRAW_ROUND_CORNERS_BOTTOM_RIGHT | DRAW_ROUND_CORNERS_TOP_RIGHT -DRAW_ROUND_CORNERS_RIGHT = core.DRAW_ROUND_CORNERS_RIGHT +DRAW_ROUND_CORNERS_RIGHT = core.DRAW_ROUND_CORNERS_RIGHT #: DRAW_ROUND_CORNERS_TOP_LEFT | DRAW_ROUND_CORNERS_TOP_RIGHT | DRAW_ROUND_CORNERS_BOTTOM_LEFT | DRAW_ROUND_CORNERS_BOTTOM_RIGHT -DRAW_ROUND_CORNERS_ALL = core.DRAW_ROUND_CORNERS_ALL +DRAW_ROUND_CORNERS_ALL = core.DRAW_ROUND_CORNERS_ALL # === Draw List Flags (redefines for autodoc) DRAW_LIST_NONE = core.DRAW_LIST_NONE @@ -852,28 +867,27 @@ BACKEND_RENDERER_HAS_VTX_OFFSET = core.BACKEND_RENDERER_HAS_VTX_OFFSET # === Slider flag (redefines for autodoc) -SLIDER_FLAGS_NONE +SLIDER_FLAGS_NONE = core.SLIDER_FLAGS_NONE #: Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds. -SLIDER_FLAGS_ALWAYS_CLAMP +SLIDER_FLAGS_ALWAYS_CLAMP = core.SLIDER_FLAGS_ALWAYS_CLAMP #: Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits. -SLIDER_FLAGS_LOGARITHMIC +SLIDER_FLAGS_LOGARITHMIC = core.SLIDER_FLAGS_LOGARITHMIC #: Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits) -SLIDER_FLAGS_NO_ROUND_TO_FORMAT +SLIDER_FLAGS_NO_ROUND_TO_FORMAT = core.SLIDER_FLAGS_NO_ROUND_TO_FORMAT #: Disable CTRL+Click or Enter key allowing to input text directly into the widget -SLIDER_FLAGS_NO_INPUT +SLIDER_FLAGS_NO_INPUT = core.SLIDER_FLAGS_NO_INPUT # === Mouse Button (redefines for autodoc) MOUSE_BUTTON_LEFT = core.MOUSE_BUTTON_LEFT MOUSE_BUTTON_RIGHT = core.MOUSE_BUTTON_RIGHT -MOUSE_BUTTON_MIDDLE = core.MOUSE_BUTTON_MIDDLE +MOUSE_BUTTON_MIDDLE = core.MOUSE_BUTTON_MIDDLE # === Viewport Flags (redifines for autodoc) #: None -VIEWPORT_FLAGS_NONE = core.VIEWPORT_FLAGS_NONE +VIEWPORT_FLAGS_NONE = core.VIEWPORT_FLAGS_NONE #: Represent a Platform Window -VIEWPORT_FLAGS_IS_PLATFORM_WINDOW = core.VIEWPORT_FLAGS_IS_PLATFORM_WINDOW +VIEWPORT_FLAGS_IS_PLATFORM_WINDOW = core.VIEWPORT_FLAGS_IS_PLATFORM_WINDOW #: Represent a Platform Monitor (unused yet) VIEWPORT_FLAGS_IS_PLATFORM_MONITOR = core.VIEWPORT_FLAGS_IS_PLATFORM_MONITOR #: Platform Window: is created/managed by the application (rather than a dear imgui backend) -VIEWPORT_FLAGS_OWNED_BY_APP = core.VIEWPORT_FLAGS_OWNED_BY_APP - +VIEWPORT_FLAGS_OWNED_BY_APP = core.VIEWPORT_FLAGS_OWNED_BY_APP