im_cool_bar.pyi 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. """ImCoolbar: A Cool bar for Dear ImGui
  2. Python bindings for https://github.com/aiekick/ImCoolBar
  3. """
  4. ###############################################################################
  5. # This file is a part of Dear ImGui Bundle, NOT a part of ImCoolBar
  6. # -----------------------------------------------------------------------------
  7. # im_cool_bar.pyi: auto-generated bindings for ImCoolBar.
  8. #
  9. # Most of the code of this file is automatically generated (using https://pthom.github.io/litgen/),
  10. # and is generally very close to the C++ version. Comments, docs are identical.
  11. # Do not manually edit the autogenerated parts (look for "Autogenerated" comments)!
  12. ###############################################################################
  13. # ruff: noqa: B008
  14. import enum
  15. from typing import Optional
  16. from imgui_bundle.imgui import ImVec2, ImVec2Like, WindowFlags, WindowFlags_
  17. ImCoolBarFlags = int
  18. ImGuiWindowFlags = WindowFlags
  19. ImGuiWindowFlags_None = WindowFlags_.none
  20. # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! AUTOGENERATED CODE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  21. # <litgen_stub> // Autogenerated code below! Do not edit!
  22. #################### <generated_from:ImCoolbar.h> ####################
  23. #
  24. #MIT License
  25. #
  26. #Copyright (c) 2024-2026 Stephane Cuillerdier (aka Aiekick)
  27. #
  28. #Permission is hereby granted, free of charge, to any person obtaining a copy
  29. #of this software and associated documentation files (the "Software"), to deal
  30. #in the Software without restriction, including without limitation the rights
  31. #to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  32. #copies of the Software, and to permit persons to whom the Software is
  33. #furnished to do so, subject to the following conditions:
  34. #
  35. #The above copyright notice and this permission notice shall be included in all
  36. #copies or substantial portions of the Software.
  37. #
  38. #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  39. #IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  40. #FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  41. #AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  42. #LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  43. #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  44. #SOFTWARE.
  45. #
  46. # ImCoolBar, v1.0.0
  47. # macOS Dock-style magnification bar for Dear ImGui
  48. class ImCoolBarFlags_(enum.IntEnum):
  49. #
  50. none = enum.auto() # (= 0)
  51. horizontal = enum.auto() # (= (1 << 0))
  52. vertical = enum.auto() # (= (1 << 1))
  53. # #ifdef __cplusplus
  54. #
  55. # #define ENABLE_IMCOOLBAR_DEBUG
  56. class ImCoolBarSettings:
  57. anchor: ImVec2 = ImVec2(0.5, 0.5)
  58. normal_size: float = float(40.0)
  59. hovered_size: float = float(150.0)
  60. anim_step: float = float(0.05)
  61. effect_strength: float = float(0.5)
  62. mode: ImCoolBarFlags = ImCoolBarFlags(ImCoolBarFlags_.horizontal)
  63. def __init__(
  64. self,
  65. a_anchor: Optional[ImVec2Like] = None,
  66. a_normal_size: float = 40.0,
  67. a_hovered_size: float = 150.0,
  68. a_anim_step: float = 0.05,
  69. a_effect_strength: float = 0.5,
  70. a_mode: Optional[ImCoolBarFlags] = None
  71. ) -> None:
  72. """Python bindings defaults:
  73. If any of the params below is None, then its default value below will be used:
  74. * aAnchor: ImVec2(0.5, 0.5)
  75. * aMode: ImCoolBarFlags_.horizontal
  76. """
  77. pass
  78. def cool_bar_debug_check_version(a_version: str, a_settings_size: int) -> bool:
  79. pass
  80. def begin_cool_bar(
  81. a_label: str,
  82. ar_settings: Optional[ImCoolBarSettings] = None,
  83. a_win_flags: Optional[ImGuiWindowFlags] = None
  84. ) -> bool:
  85. """Python bindings defaults:
  86. If any of the params below is None, then its default value below will be used:
  87. * arSettings: initialized with default value
  88. * aWinFlags: WindowFlags_.none
  89. """
  90. pass
  91. def end_cool_bar() -> None:
  92. pass
  93. def cool_bar_item() -> bool:
  94. pass
  95. def get_cool_bar_item_width() -> float:
  96. pass
  97. def get_cool_bar_item_scale() -> float:
  98. pass
  99. def show_cool_bar_metrics(apo_open: bool) -> None:
  100. pass
  101. def show_cool_bar_demo_window(
  102. apo_open: Optional[bool] = None,
  103. apo_settings: Optional[ImCoolBarSettings] = None,
  104. apo_default_settings: Optional[ImCoolBarSettings] = None
  105. ) -> None:
  106. pass
  107. # #endif
  108. #///////////////////////////////////////////////
  109. #// C LANG API ///////////////////////////////
  110. #/////////////////////////////////////////////
  111. # #ifdef __cplusplus
  112. #
  113. # #else
  114. # #endif
  115. #################### </generated_from:ImCoolbar.h> ####################
  116. # </litgen_stub> // Autogenerated code end!