fake-bpy-module 20250612__py3-none-any.whl → 20260118__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +0 -13
  2. {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +0 -5
  3. {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +0 -11
  4. {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +0 -10
  5. {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +1 -0
  6. {bl_i18n_utils → _bl_i18n_utils}/bl_extract_messages/__init__.pyi +1 -0
  7. {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +3 -1
  8. {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +4 -4
  9. _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
  10. {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
  11. _blendfile_header/__init__.pyi +48 -0
  12. _bpy_internal/__init__.pyi +4 -1
  13. _bpy_internal/assets/__init__.pyi +5 -0
  14. _bpy_internal/assets/remote_library_listing/__init__.pyi +5 -0
  15. _bpy_internal/assets/remote_library_listing/blender_asset_library_openapi/__init__.pyi +13 -0
  16. _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
  17. _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
  18. _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
  19. _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
  20. _bpy_internal/extensions/wheel_manager/__init__.pyi +1 -1
  21. _bpy_internal/filesystem/__init__.pyi +5 -0
  22. _bpy_internal/filesystem/locking/__init__.pyi +28 -0
  23. _bpy_internal/grease_pencil/stroke/__init__.pyi +2 -2
  24. _bpy_internal/platform/__init__.pyi +5 -0
  25. _bpy_types/__init__.pyi +1592 -0
  26. {keyingsets_utils → _keyingsets_utils}/__init__.pyi +2 -0
  27. {rna_info → _rna_info}/__init__.pyi +4 -2
  28. addon_utils/__init__.pyi +0 -13
  29. aud/__init__.pyi +122 -145
  30. bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
  31. bl_app_templates_system/__init__.pyi +5 -0
  32. bl_app_templates_system/py.typed +0 -0
  33. bl_math/__init__.pyi +3 -13
  34. bl_operators/__init__.pyi +1 -0
  35. bl_operators/add_mesh_torus/__init__.pyi +2 -3
  36. bl_operators/anim/__init__.pyi +62 -38
  37. bl_operators/assets/__init__.pyi +4 -9
  38. bl_operators/bone_selection_sets/__init__.pyi +15 -42
  39. bl_operators/clip/__init__.pyi +12 -31
  40. bl_operators/connect_to_output/__init__.pyi +2 -3
  41. bl_operators/console/__init__.pyi +6 -15
  42. bl_operators/constraint/__init__.pyi +6 -13
  43. bl_operators/copy_global_transform/__init__.pyi +261 -0
  44. bl_operators/file/__init__.pyi +6 -11
  45. bl_operators/freestyle/__init__.pyi +5 -12
  46. bl_operators/geometry_nodes/__init__.pyi +5 -12
  47. bl_operators/grease_pencil/__init__.pyi +2 -3
  48. bl_operators/image/__init__.pyi +6 -15
  49. bl_operators/image_as_planes/__init__.pyi +3 -10
  50. bl_operators/mesh/__init__.pyi +3 -49
  51. bl_operators/node/__init__.pyi +294 -73
  52. bl_operators/object/__init__.pyi +17 -53
  53. bl_operators/object_align/__init__.pyi +2 -3
  54. bl_operators/object_quick_effects/__init__.pyi +5 -12
  55. bl_operators/object_randomize_transform/__init__.pyi +2 -3
  56. bl_operators/presets/__init__.pyi +27 -76
  57. bl_operators/rigidbody/__init__.pyi +4 -9
  58. bl_operators/screen_play_rendered_anim/__init__.pyi +2 -3
  59. bl_operators/sequencer/__init__.pyi +12 -27
  60. bl_operators/spreadsheet/__init__.pyi +2 -3
  61. bl_operators/userpref/__init__.pyi +26 -75
  62. bl_operators/uvcalc_follow_active/__init__.pyi +3 -4
  63. bl_operators/uvcalc_lightmap/__init__.pyi +3 -4
  64. bl_operators/uvcalc_transform/__init__.pyi +26 -16
  65. bl_operators/vertexpaint_dirt/__init__.pyi +2 -3
  66. bl_operators/view3d/__init__.pyi +9 -24
  67. bl_operators/wm/__init__.pyi +48 -139
  68. bl_operators/world/__init__.pyi +3 -4
  69. bl_ui/__init__.pyi +7 -7
  70. bl_ui/anim/__init__.pyi +2 -3
  71. bl_ui/asset_shelf/__init__.pyi +2 -3
  72. bl_ui/generic_ui_list/__init__.pyi +4 -19
  73. bl_ui/node_add_menu/__init__.pyi +263 -7
  74. bl_ui/node_add_menu_compositor/__init__.pyi +96 -79
  75. bl_ui/node_add_menu_geometry/__init__.pyi +309 -270
  76. bl_ui/node_add_menu_shader/__init__.pyi +49 -49
  77. bl_ui/node_add_menu_texture/__init__.pyi +17 -62
  78. bl_ui/properties_collection/__init__.pyi +9 -22
  79. bl_ui/properties_constraint/__init__.pyi +129 -282
  80. bl_ui/properties_data_armature/__init__.pyi +22 -57
  81. bl_ui/properties_data_bone/__init__.pyi +12 -31
  82. bl_ui/properties_data_camera/__init__.pyi +18 -47
  83. bl_ui/properties_data_curve/__init__.pyi +18 -47
  84. bl_ui/properties_data_curves/__init__.pyi +11 -26
  85. bl_ui/properties_data_empty/__init__.pyi +3 -6
  86. bl_ui/properties_data_grease_pencil/__init__.pyi +23 -62
  87. bl_ui/properties_data_lattice/__init__.pyi +7 -14
  88. bl_ui/properties_data_light/__init__.pyi +13 -32
  89. bl_ui/properties_data_lightprobe/__init__.pyi +16 -43
  90. bl_ui/properties_data_mesh/__init__.pyi +47 -62
  91. bl_ui/properties_data_metaball/__init__.pyi +9 -20
  92. bl_ui/properties_data_modifier/__init__.pyi +22 -28
  93. bl_ui/properties_data_pointcloud/__init__.pyi +8 -19
  94. bl_ui/properties_data_shaderfx/__init__.pyi +2 -3
  95. bl_ui/properties_data_speaker/__init__.pyi +9 -20
  96. bl_ui/properties_data_volume/__init__.pyi +12 -29
  97. bl_ui/properties_freestyle/__init__.pyi +27 -76
  98. bl_ui/properties_grease_pencil_common/__init__.pyi +10 -168
  99. bl_ui/properties_mask_common/__init__.pyi +8 -21
  100. bl_ui/properties_material/__init__.pyi +26 -86
  101. bl_ui/properties_material_gpencil/__init__.pyi +36 -57
  102. bl_ui/properties_object/__init__.pyi +59 -65
  103. bl_ui/properties_output/__init__.pyi +21 -60
  104. bl_ui/properties_paint_common/__init__.pyi +30 -22
  105. bl_ui/properties_particle/__init__.pyi +58 -161
  106. bl_ui/properties_physics_cloth/__init__.pyi +15 -42
  107. bl_ui/properties_physics_common/__init__.pyi +2 -3
  108. bl_ui/properties_physics_dynamicpaint/__init__.pyi +23 -66
  109. bl_ui/properties_physics_field/__init__.pyi +11 -30
  110. bl_ui/properties_physics_fluid/__init__.pyi +29 -84
  111. bl_ui/properties_physics_geometry_nodes/__init__.pyi +2 -3
  112. bl_ui/properties_physics_rigidbody/__init__.pyi +9 -24
  113. bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +14 -39
  114. bl_ui/properties_physics_softbody/__init__.pyi +16 -45
  115. bl_ui/properties_render/__init__.pyi +139 -197
  116. bl_ui/properties_scene/__init__.pyi +46 -50
  117. bl_ui/properties_strip/__init__.pyi +744 -0
  118. bl_ui/properties_strip_modifier/__init__.pyi +45 -0
  119. bl_ui/properties_texture/__init__.pyi +30 -83
  120. bl_ui/properties_view_layer/__init__.pyi +84 -39
  121. bl_ui/properties_workspace/__init__.pyi +6 -13
  122. bl_ui/properties_world/__init__.pyi +14 -35
  123. bl_ui/space_clip/__init__.pyi +150 -231
  124. bl_ui/space_console/__init__.pyi +7 -18
  125. bl_ui/space_dopesheet/__init__.pyi +143 -100
  126. bl_ui/space_filebrowser/__init__.pyi +33 -90
  127. bl_ui/space_graph/__init__.pyi +48 -85
  128. bl_ui/space_image/__init__.pyi +111 -229
  129. bl_ui/space_info/__init__.pyi +7 -18
  130. bl_ui/space_nla/__init__.pyi +44 -73
  131. bl_ui/space_node/__init__.pyi +161 -123
  132. bl_ui/space_outliner/__init__.pyi +16 -45
  133. bl_ui/space_properties/__init__.pyi +34 -10
  134. bl_ui/space_sequencer/__init__.pyi +164 -901
  135. bl_ui/space_spreadsheet/__init__.pyi +4 -9
  136. bl_ui/space_statusbar/__init__.pyi +2 -3
  137. bl_ui/space_text/__init__.pyi +17 -48
  138. bl_ui/space_time/__init__.pyi +25 -71
  139. bl_ui/space_toolsystem_common/__init__.pyi +2 -2
  140. bl_ui/space_toolsystem_toolbar/__init__.pyi +30 -7
  141. bl_ui/space_topbar/__init__.pyi +35 -79
  142. bl_ui/space_userpref/__init__.pyi +185 -321
  143. bl_ui/space_view3d/__init__.pyi +337 -817
  144. bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
  145. bl_ui/space_view3d_toolbar/__init__.pyi +110 -880
  146. bl_ui/utils/__init__.pyi +0 -17
  147. blend_render_info/__init__.pyi +1 -0
  148. blf/__init__.pyi +8 -54
  149. bmesh/__init__.pyi +2 -9
  150. bmesh/geometry/__init__.pyi +1 -4
  151. bmesh/ops/__init__.pyi +125 -508
  152. bmesh/types/__init__.pyi +318 -664
  153. bmesh/utils/__init__.pyi +17 -43
  154. bpy/__init__.pyi +1 -1
  155. bpy/app/__init__.pyi +93 -88
  156. bpy/app/handlers/__init__.pyi +19 -19
  157. bpy/app/icons/__init__.pyi +0 -6
  158. bpy/app/timers/__init__.pyi +2 -7
  159. bpy/app/translations/__init__.pyi +8 -23
  160. bpy/msgbus/__init__.pyi +4 -6
  161. bpy/ops/action/__init__.pyi +68 -199
  162. bpy/ops/anim/__init__.pyi +142 -299
  163. bpy/ops/armature/__init__.pyi +78 -209
  164. bpy/ops/asset/__init__.pyi +46 -108
  165. bpy/ops/boid/__init__.pyi +28 -45
  166. bpy/ops/brush/__init__.pyi +13 -108
  167. bpy/ops/buttons/__init__.pyi +16 -75
  168. bpy/ops/cachefile/__init__.pyi +8 -65
  169. bpy/ops/camera/__init__.pyi +0 -11
  170. bpy/ops/clip/__init__.pyi +173 -471
  171. bpy/ops/cloth/__init__.pyi +0 -5
  172. bpy/ops/collection/__init__.pyi +23 -36
  173. bpy/ops/console/__init__.pyi +40 -98
  174. bpy/ops/constraint/__init__.pyi +14 -85
  175. bpy/ops/curve/__init__.pyi +94 -277
  176. bpy/ops/curves/__init__.pyi +119 -166
  177. bpy/ops/cycles/__init__.pyi +4 -15
  178. bpy/ops/dpaint/__init__.pyi +14 -24
  179. bpy/ops/ed/__init__.pyi +44 -92
  180. bpy/ops/export_anim/__init__.pyi +2 -10
  181. bpy/ops/export_scene/__init__.pyi +16 -170
  182. bpy/ops/extensions/__init__.pyi +60 -165
  183. bpy/ops/file/__init__.pyi +110 -246
  184. bpy/ops/fluid/__init__.pyi +52 -83
  185. bpy/ops/font/__init__.pyi +40 -144
  186. bpy/ops/geometry/__init__.pyi +12 -127
  187. bpy/ops/gizmogroup/__init__.pyi +4 -13
  188. bpy/ops/gpencil/__init__.pyi +22 -54
  189. bpy/ops/graph/__init__.pyi +92 -343
  190. bpy/ops/grease_pencil/__init__.pyi +218 -550
  191. bpy/ops/image/__init__.pyi +85 -435
  192. bpy/ops/import_anim/__init__.pyi +3 -17
  193. bpy/ops/import_curve/__init__.pyi +2 -5
  194. bpy/ops/import_scene/__init__.pyi +15 -49
  195. bpy/ops/info/__init__.pyi +16 -39
  196. bpy/ops/lattice/__init__.pyi +12 -36
  197. bpy/ops/marker/__init__.pyi +12 -51
  198. bpy/ops/mask/__init__.pyi +68 -193
  199. bpy/ops/material/__init__.pyi +18 -18
  200. bpy/ops/mball/__init__.pyi +4 -31
  201. bpy/ops/mesh/__init__.pyi +140 -967
  202. bpy/ops/nla/__init__.pyi +87 -206
  203. bpy/ops/node/__init__.pyi +714 -744
  204. bpy/ops/object/__init__.pyi +461 -1341
  205. bpy/ops/outliner/__init__.pyi +192 -376
  206. bpy/ops/paint/__init__.pyi +94 -319
  207. bpy/ops/paintcurve/__init__.pyi +20 -40
  208. bpy/ops/palette/__init__.pyi +14 -30
  209. bpy/ops/particle/__init__.pyi +86 -184
  210. bpy/ops/pointcloud/__init__.pyi +12 -38
  211. bpy/ops/pose/__init__.pyi +108 -261
  212. bpy/ops/poselib/__init__.pyi +32 -67
  213. bpy/ops/preferences/__init__.pyi +37 -187
  214. bpy/ops/ptcache/__init__.pyi +22 -36
  215. bpy/ops/render/__init__.pyi +20 -72
  216. bpy/ops/rigidbody/__init__.pyi +25 -63
  217. bpy/ops/scene/__init__.pyi +122 -181
  218. bpy/ops/screen/__init__.pyi +93 -221
  219. bpy/ops/script/__init__.pyi +4 -13
  220. bpy/ops/sculpt/__init__.pyi +69 -324
  221. bpy/ops/sculpt_curves/__init__.pyi +10 -23
  222. bpy/ops/sequencer/__init__.pyi +410 -730
  223. bpy/ops/sound/__init__.pyi +16 -114
  224. bpy/ops/spreadsheet/__init__.pyi +20 -37
  225. bpy/ops/surface/__init__.pyi +0 -48
  226. bpy/ops/text/__init__.pyi +112 -250
  227. bpy/ops/text_editor/__init__.pyi +0 -5
  228. bpy/ops/texture/__init__.pyi +14 -21
  229. bpy/ops/transform/__init__.pyi +18 -386
  230. bpy/ops/ui/__init__.pyi +117 -188
  231. bpy/ops/uilist/__init__.pyi +0 -13
  232. bpy/ops/uv/__init__.pyi +238 -305
  233. bpy/ops/view2d/__init__.pyi +16 -76
  234. bpy/ops/view3d/__init__.pyi +153 -377
  235. bpy/ops/wm/__init__.pyi +277 -1397
  236. bpy/ops/workspace/__init__.pyi +32 -39
  237. bpy/ops/world/__init__.pyi +10 -12
  238. bpy/path/__init__.pyi +1 -35
  239. bpy/props/__init__.pyi +347 -218
  240. bpy/stub_internal/rna_enums/__init__.pyi +142 -108
  241. bpy/types/__init__.pyi +77367 -101305
  242. bpy/utils/__init__.pyi +11 -82
  243. bpy/utils/previews/__init__.pyi +2 -11
  244. bpy/utils/units/__init__.pyi +5 -15
  245. bpy_extras/anim_utils/__init__.pyi +24 -16
  246. bpy_extras/bmesh_utils/__init__.pyi +0 -1
  247. bpy_extras/id_map_utils/__init__.pyi +14 -6
  248. bpy_extras/image_utils/__init__.pyi +2 -11
  249. bpy_extras/io_utils/__init__.pyi +8 -27
  250. bpy_extras/keyconfig_utils/__init__.pyi +1 -1
  251. bpy_extras/mesh_utils/__init__.pyi +0 -12
  252. bpy_extras/node_shader_utils/__init__.pyi +1 -9
  253. bpy_extras/object_utils/__init__.pyi +1 -15
  254. bpy_extras/view3d_utils/__init__.pyi +0 -18
  255. bpy_extras/wm_utils/progress_report/__init__.pyi +1 -1
  256. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/METADATA +4 -1
  257. fake_bpy_module-20260118.dist-info/RECORD +385 -0
  258. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/top_level.txt +17 -16
  259. freestyle/chainingiterators/__init__.pyi +5 -27
  260. freestyle/functions/__init__.pyi +0 -139
  261. freestyle/predicates/__init__.pyi +2 -53
  262. freestyle/shaders/__init__.pyi +15 -81
  263. freestyle/types/__init__.pyi +159 -799
  264. freestyle/utils/ContextFunctions/__init__.pyi +0 -23
  265. freestyle/utils/__init__.pyi +5 -11
  266. gpu/capabilities/__init__.pyi +0 -21
  267. gpu/matrix/__init__.pyi +1 -10
  268. gpu/platform/__init__.pyi +2 -7
  269. gpu/shader/__init__.pyi +26 -9
  270. gpu/state/__init__.pyi +60 -39
  271. gpu/texture/__init__.pyi +3 -5
  272. gpu/types/__init__.pyi +116 -184
  273. gpu_extras/batch/__init__.pyi +1 -5
  274. gpu_extras/presets/__init__.pyi +6 -8
  275. idprop/types/__init__.pyi +6 -6
  276. imbuf/__init__.pyi +3 -10
  277. imbuf/types/__init__.pyi +7 -21
  278. keyingsets_builtins/__init__.pyi +24 -67
  279. mathutils/__init__.pyi +241 -2207
  280. mathutils/bvhtree/__init__.pyi +18 -26
  281. mathutils/geometry/__init__.pyi +82 -132
  282. mathutils/interpolate/__init__.pyi +6 -5
  283. mathutils/kdtree/__init__.pyi +1 -11
  284. mathutils/noise/__init__.pyi +61 -106
  285. rna_prop_ui/__init__.pyi +1 -1
  286. bgl/__init__.pyi +0 -4256
  287. bpy_types/__init__.pyi +0 -30
  288. fake_bpy_module-20250612.dist-info/RECORD +0 -367
  289. {animsys_refactor → _animsys_refactor}/__init__.pyi +0 -0
  290. {animsys_refactor → _animsys_refactor}/py.typed +0 -0
  291. {bl_console_utils → _bl_console_utils}/__init__.pyi +0 -0
  292. {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +0 -0
  293. {bgl → _bl_console_utils}/py.typed +0 -0
  294. {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +0 -0
  295. {bl_console_utils → _bl_i18n_utils}/py.typed +0 -0
  296. {bl_i18n_utils → _bl_i18n_utils}/utils_cli/__init__.pyi +0 -0
  297. {bl_i18n_utils → _bl_i18n_utils}/utils_languages_menu/__init__.pyi +0 -0
  298. {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +0 -0
  299. {bl_previews_utils → _bl_previews_utils}/__init__.pyi +0 -0
  300. {bl_previews_utils → _bl_previews_utils}/bl_previews_render/__init__.pyi +0 -0
  301. {bl_i18n_utils → _bl_previews_utils}/py.typed +0 -0
  302. {bl_rna_utils → _bl_rna_utils}/__init__.pyi +0 -0
  303. {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +0 -0
  304. {bl_previews_utils → _bl_rna_utils}/py.typed +0 -0
  305. {bl_text_utils → _bl_text_utils}/__init__.pyi +0 -0
  306. {bl_text_utils → _bl_text_utils}/external_editor/__init__.pyi +0 -0
  307. {bl_rna_utils → _bl_text_utils}/py.typed +0 -0
  308. {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +0 -0
  309. {bl_text_utils → _bl_ui_utils}/py.typed +0 -0
  310. {bl_ui_utils → _blendfile_header}/py.typed +0 -0
  311. /_bpy_internal/{freedesktop → platform/freedesktop}/__init__.pyi +0 -0
  312. {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +0 -0
  313. {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
  314. {bpy_types → _bpy_types}/py.typed +0 -0
  315. {console_python → _console_python}/__init__.pyi +0 -0
  316. {console_python → _console_python}/py.typed +0 -0
  317. {console_shell → _console_shell}/__init__.pyi +0 -0
  318. {console_shell → _console_shell}/py.typed +0 -0
  319. {graphviz_export → _graphviz_export}/__init__.pyi +0 -0
  320. {graphviz_export → _graphviz_export}/py.typed +0 -0
  321. {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
  322. {rna_info → _rna_info}/py.typed +0 -0
  323. {rna_xml → _rna_xml}/__init__.pyi +0 -0
  324. {rna_xml → _rna_xml}/py.typed +0 -0
  325. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/WHEEL +0 -0
@@ -13,35 +13,30 @@ def get_border() -> tuple[int, int, int, int]:
13
13
  """Returns the border.
14
14
 
15
15
  :return: A tuple of 4 numbers (xmin, ymin, xmax, ymax).
16
- :rtype: tuple[int, int, int, int]
17
16
  """
18
17
 
19
18
  def get_canvas_height() -> int:
20
19
  """Returns the canvas height.
21
20
 
22
21
  :return: The canvas height.
23
- :rtype: int
24
22
  """
25
23
 
26
24
  def get_canvas_width() -> int:
27
25
  """Returns the canvas width.
28
26
 
29
27
  :return: The canvas width.
30
- :rtype: int
31
28
  """
32
29
 
33
30
  def get_selected_fedge() -> freestyle.types.FEdge:
34
31
  """Returns the selected FEdge.
35
32
 
36
33
  :return: The selected FEdge.
37
- :rtype: freestyle.types.FEdge
38
34
  """
39
35
 
40
36
  def get_time_stamp() -> int:
41
37
  """Returns the system time stamp.
42
38
 
43
39
  :return: The system time stamp.
44
- :rtype: int
45
40
  """
46
41
 
47
42
  def load_map(
@@ -50,15 +45,11 @@ def load_map(
50
45
  """Loads an image map for further reading.
51
46
 
52
47
  :param file_name: The name of the image file.
53
- :type file_name: str
54
48
  :param map_name: The name that will be used to access this image.
55
- :type map_name: str
56
49
  :param num_levels: The number of levels in the map pyramid
57
50
  (default = 4). If num_levels == 0, the complete pyramid is
58
51
  built.
59
- :type num_levels: int
60
52
  :param sigma: The sigma value of the gaussian function.
61
- :type sigma: float
62
53
  """
63
54
 
64
55
  def read_complete_view_map_pixel(level: int, x: int, y: int) -> float:
@@ -66,15 +57,11 @@ def read_complete_view_map_pixel(level: int, x: int, y: int) -> float:
66
57
 
67
58
  :param level: The level of the pyramid in which we wish to read the
68
59
  pixel.
69
- :type level: int
70
60
  :param x: The x coordinate of the pixel we wish to read. The origin
71
61
  is in the lower-left corner.
72
- :type x: int
73
62
  :param y: The y coordinate of the pixel we wish to read. The origin
74
63
  is in the lower-left corner.
75
- :type y: int
76
64
  :return: The floating-point value stored for that pixel.
77
- :rtype: float
78
65
  """
79
66
 
80
67
  def read_directional_view_map_pixel(
@@ -84,34 +71,24 @@ def read_directional_view_map_pixel(
84
71
 
85
72
  :param orientation: The number telling which orientation we want to
86
73
  check.
87
- :type orientation: int
88
74
  :param level: The level of the pyramid in which we wish to read the
89
75
  pixel.
90
- :type level: int
91
76
  :param x: The x coordinate of the pixel we wish to read. The origin
92
77
  is in the lower-left corner.
93
- :type x: int
94
78
  :param y: The y coordinate of the pixel we wish to read. The origin
95
79
  is in the lower-left corner.
96
- :type y: int
97
80
  :return: The floating-point value stored for that pixel.
98
- :rtype: float
99
81
  """
100
82
 
101
83
  def read_map_pixel(map_name: str, level: int, x: int, y: int) -> float:
102
84
  """Reads a pixel in a user-defined map.
103
85
 
104
86
  :param map_name: The name of the map.
105
- :type map_name: str
106
87
  :param level: The level of the pyramid in which we wish to read the
107
88
  pixel.
108
- :type level: int
109
89
  :param x: The x coordinate of the pixel we wish to read. The origin
110
90
  is in the lower-left corner.
111
- :type x: int
112
91
  :param y: The y coordinate of the pixel we wish to read. The origin
113
92
  is in the lower-left corner.
114
- :type y: int
115
93
  :return: The floating-point value stored for that pixel.
116
- :rtype: float
117
94
  """
@@ -37,11 +37,11 @@ class StrokeCollector:
37
37
  """
38
38
 
39
39
  def angle_x_normal(it) -> None:
40
- """unsigned angle between a Point's normal and the X axis, in radians"""
40
+ """unsigned angle between a Points normal and the X axis, in radians"""
41
41
 
42
42
  def bound(lower, x, higher) -> None: ...
43
43
  def bounding_box(stroke) -> None:
44
- """Returns the maximum and minimum coordinates (the bounding box) of the stroke's vertices"""
44
+ """Returns the maximum and minimum coordinates (the bounding box) of the strokes vertices"""
45
45
 
46
46
  def curvature_from_stroke_vertex(svert) -> None: ...
47
47
  def find_matching_vertex(id, it) -> None:
@@ -51,7 +51,6 @@ def getCurrentScene() -> bpy.types.Scene:
51
51
  """Returns the current scene.
52
52
 
53
53
  :return: The current scene.
54
- :rtype: bpy.types.Scene
55
54
  """
56
55
 
57
56
  def get_chain_length(ve, orientation) -> None:
@@ -77,22 +76,17 @@ def integrate(
77
76
 
78
77
  :param func: The UnaryFunction0D used to compute a value at each
79
78
  Interface0D.
80
- :type func: freestyle.types.UnaryFunction0D
81
79
  :param it: The Interface0DIterator used to iterate over the 0D
82
80
  elements of this 1D element. The integration will occur over
83
81
  the 0D elements starting from the one pointed by it.
84
- :type it: freestyle.types.Interface0DIterator
85
82
  :param it_end: The Interface0DIterator pointing the end of the 0D
86
83
  elements of the 1D element.
87
- :type it_end: freestyle.types.Interface0DIterator
88
84
  :param integration_type: The integration method used to compute a
89
85
  single value from a set of values.
90
- :type integration_type: freestyle.types.IntegrationType
91
86
  :return: The single value obtained for the 1D element. The return
92
87
  value type is float if func is of the `UnaryFunction0DDouble`
93
88
  or `UnaryFunction0DFloat` type, and int if func is of the
94
89
  `UnaryFunction0DUnsigned` type.
95
- :rtype: float
96
90
  """
97
91
 
98
92
  def is_poly_clockwise(stroke) -> None:
@@ -116,7 +110,7 @@ def iter_distance_from_object(stroke, location, range_min, range_max, normfac) -
116
110
  """
117
111
 
118
112
  def iter_material_value(stroke, func, attribute) -> None:
119
- """Yields a specific material attribute from the vertex' underlying material."""
113
+ """Yields a specific material attribute from the vertex underlying material."""
120
114
 
121
115
  def iter_t2d_along_stroke(stroke) -> None:
122
116
  """Yields the progress along the stroke."""
@@ -135,7 +129,7 @@ def simplify(points, tolerance) -> None:
135
129
  """Simplifies a set of points"""
136
130
 
137
131
  def stroke_curvature(it) -> None:
138
- """Compute the 2D curvature at the stroke vertex pointed by the iterator 'it'.
132
+ """Compute the 2D curvature at the stroke vertex pointed by the iterator it.
139
133
  K = 1 / R
140
134
  where R is the radius of the circle going through the current vertex and its neighbors
141
135
 
@@ -143,7 +137,7 @@ def stroke_curvature(it) -> None:
143
137
 
144
138
  def stroke_normal(stroke) -> None:
145
139
  """Compute the 2D normal at the stroke vertex pointed by the iterator
146
- 'it'. It is noted that Normal2DF0D computes normals based on
140
+ it. It is noted that Normal2DF0D computes normals based on
147
141
  underlying FEdges instead, which is inappropriate for strokes when
148
142
  they have already been modified by stroke geometry modifiers.The returned normals are dynamic: they update when the
149
143
  vertex position (and therefore the vertex normal) changes.
@@ -12,56 +12,48 @@ def compute_shader_support_get() -> bool:
12
12
  """Are compute shaders supported.
13
13
 
14
14
  :return: True when supported, False when not supported.
15
- :rtype: bool
16
15
  """
17
16
 
18
17
  def extensions_get() -> tuple[str]:
19
18
  """Get supported extensions in the current context.
20
19
 
21
20
  :return: Extensions.
22
- :rtype: tuple[str]
23
21
  """
24
22
 
25
23
  def hdr_support_get() -> bool:
26
24
  """Return whether GPU backend supports High Dynamic range for viewport.
27
25
 
28
26
  :return: HDR support available.
29
- :rtype: bool
30
27
  """
31
28
 
32
29
  def max_batch_indices_get() -> int:
33
30
  """Get maximum number of vertex array indices.
34
31
 
35
32
  :return: Number of indices.
36
- :rtype: int
37
33
  """
38
34
 
39
35
  def max_batch_vertices_get() -> int:
40
36
  """Get maximum number of vertex array vertices.
41
37
 
42
38
  :return: Number of vertices.
43
- :rtype: int
44
39
  """
45
40
 
46
41
  def max_images_get() -> int:
47
42
  """Get maximum supported number of image units.
48
43
 
49
44
  :return: Number of image units.
50
- :rtype: int
51
45
  """
52
46
 
53
47
  def max_texture_layers_get() -> int:
54
48
  """Get maximum number of layers in texture.
55
49
 
56
50
  :return: Number of layers.
57
- :rtype: int
58
51
  """
59
52
 
60
53
  def max_texture_size_get() -> int:
61
54
  """Get estimated maximum texture size to be able to handle.
62
55
 
63
56
  :return: Texture size.
64
- :rtype: int
65
57
  """
66
58
 
67
59
  def max_textures_frag_get() -> int:
@@ -69,7 +61,6 @@ def max_textures_frag_get() -> int:
69
61
  accessing texture maps from the fragment shader.
70
62
 
71
63
  :return: Texture image units.
72
- :rtype: int
73
64
  """
74
65
 
75
66
  def max_textures_geom_get() -> int:
@@ -77,7 +68,6 @@ def max_textures_geom_get() -> int:
77
68
  accessing texture maps from the geometry shader.
78
69
 
79
70
  :return: Texture image units.
80
- :rtype: int
81
71
  """
82
72
 
83
73
  def max_textures_get() -> int:
@@ -86,7 +76,6 @@ def max_textures_get() -> int:
86
76
  fragment processor.
87
77
 
88
78
  :return: Texture image units.
89
- :rtype: int
90
79
  """
91
80
 
92
81
  def max_textures_vert_get() -> int:
@@ -94,7 +83,6 @@ def max_textures_vert_get() -> int:
94
83
  accessing texture maps from the vertex shader.
95
84
 
96
85
  :return: Texture image units.
97
- :rtype: int
98
86
  """
99
87
 
100
88
  def max_uniforms_frag_get() -> int:
@@ -102,7 +90,6 @@ def max_uniforms_frag_get() -> int:
102
90
  storage for a fragment shader.
103
91
 
104
92
  :return: Number of values.
105
- :rtype: int
106
93
  """
107
94
 
108
95
  def max_uniforms_vert_get() -> int:
@@ -110,7 +97,6 @@ def max_uniforms_vert_get() -> int:
110
97
  storage for a vertex shader.
111
98
 
112
99
  :return: Number of values.
113
- :rtype: int
114
100
  """
115
101
 
116
102
  def max_varying_floats_get() -> int:
@@ -118,7 +104,6 @@ def max_varying_floats_get() -> int:
118
104
  vertex and fragment shaders.
119
105
 
120
106
  :return: Number of variables.
121
- :rtype: int
122
107
  """
123
108
 
124
109
  def max_vertex_attribs_get() -> int:
@@ -126,30 +111,24 @@ def max_vertex_attribs_get() -> int:
126
111
  a vertex shader.
127
112
 
128
113
  :return: Number of attributes.
129
- :rtype: int
130
114
  """
131
115
 
132
116
  def max_work_group_count_get(index: int) -> int:
133
117
  """Get maximum number of work groups that may be dispatched to a compute shader.
134
118
 
135
119
  :param index: Index of the dimension.
136
- :type index: int
137
120
  :return: Maximum number of work groups for the queried dimension.
138
- :rtype: int
139
121
  """
140
122
 
141
123
  def max_work_group_size_get(index: int) -> int:
142
124
  """Get maximum size of a work group that may be dispatched to a compute shader.
143
125
 
144
126
  :param index: Index of the dimension.
145
- :type index: int
146
127
  :return: Maximum size of a work group for the queried dimension.
147
- :rtype: int
148
128
  """
149
129
 
150
130
  def shader_image_load_store_support_get() -> bool:
151
131
  """Is image load/store supported.
152
132
 
153
133
  :return: True when supported, False when not supported.
154
- :rtype: bool
155
134
  """
gpu/matrix/__init__.pyi CHANGED
@@ -13,21 +13,18 @@ def get_model_view_matrix() -> mathutils.Matrix:
13
13
  """Return a copy of the model-view matrix.
14
14
 
15
15
  :return: A 4x4 view matrix.
16
- :rtype: mathutils.Matrix
17
16
  """
18
17
 
19
18
  def get_normal_matrix() -> mathutils.Matrix:
20
19
  """Return a copy of the normal matrix.
21
20
 
22
21
  :return: A 3x3 normal matrix.
23
- :rtype: mathutils.Matrix
24
22
  """
25
23
 
26
24
  def get_projection_matrix() -> mathutils.Matrix:
27
25
  """Return a copy of the projection matrix.
28
26
 
29
27
  :return: A 4x4 projection matrix.
30
- :rtype: mathutils.Matrix
31
28
  """
32
29
 
33
30
  def load_identity() -> None:
@@ -40,7 +37,6 @@ def load_matrix(
40
37
  """Load a matrix into the stack.
41
38
 
42
39
  :param matrix: A 4x4 matrix.
43
- :type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
44
40
  """
45
41
 
46
42
  def load_projection_matrix(
@@ -50,7 +46,6 @@ def load_projection_matrix(
50
46
  """Load a projection matrix into the stack.
51
47
 
52
48
  :param matrix: A 4x4 matrix.
53
- :type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
54
49
  """
55
50
 
56
51
  def multiply_matrix(
@@ -60,7 +55,6 @@ def multiply_matrix(
60
55
  """Multiply the current stack matrix.
61
56
 
62
57
  :param matrix: A 4x4 matrix.
63
- :type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
64
58
  """
65
59
 
66
60
  def pop() -> None:
@@ -88,19 +82,16 @@ def scale(scale: collections.abc.Sequence[float]) -> None:
88
82
  """Scale the current stack matrix.
89
83
 
90
84
  :param scale: Scale the current stack matrix with 2 or 3 floats.
91
- :type scale: collections.abc.Sequence[float]
92
85
  """
93
86
 
94
87
  def scale_uniform(scale: float) -> None:
95
88
  """
96
89
 
97
90
  :param scale: Scale the current stack matrix.
98
- :type scale: float
99
91
  """
100
92
 
101
93
  def translate(offset: collections.abc.Sequence[float]) -> None:
102
- """Scale the current stack matrix.
94
+ """Translate the current stack matrix.
103
95
 
104
96
  :param offset: Translate the current stack matrix with 2 or 3 floats.
105
- :type offset: collections.abc.Sequence[float]
106
97
  """
gpu/platform/__init__.pyi CHANGED
@@ -11,34 +11,29 @@ import numpy.typing as npt
11
11
  def backend_type_get() -> str:
12
12
  """Get actuve GPU backend.
13
13
 
14
- :return: Backend type ('OPENGL', 'VULKAN', 'METAL', 'NONE', 'UNKNOWN').
15
- :rtype: str
14
+ :return: Backend type (OPENGL, VULKAN, METAL, NONE, UNKNOWN).
16
15
  """
17
16
 
18
17
  def device_type_get() -> str:
19
18
  """Get GPU device type.
20
19
 
21
- :return: Device type ('APPLE', 'NVIDIA', 'AMD', 'INTEL', 'SOFTWARE', 'QUALCOMM', 'UNKNOWN').
22
- :rtype: str
20
+ :return: Device type (APPLE, NVIDIA, AMD, INTEL, SOFTWARE, QUALCOMM, UNKNOWN).
23
21
  """
24
22
 
25
23
  def renderer_get() -> str:
26
24
  """Get GPU to be used for rendering.
27
25
 
28
26
  :return: GPU name.
29
- :rtype: str
30
27
  """
31
28
 
32
29
  def vendor_get() -> str:
33
30
  """Get GPU vendor.
34
31
 
35
32
  :return: Vendor name.
36
- :rtype: str
37
33
  """
38
34
 
39
35
  def version_get() -> str:
40
36
  """Get GPU driver version.
41
37
 
42
38
  :return: Driver version.
43
- :rtype: str
44
39
  """
gpu/shader/__init__.pyi CHANGED
@@ -9,6 +9,9 @@ All built-in shaders have the mat4 ModelViewProjectionMatrix
9
9
 
10
10
  Its value must be modified using the gpu.matrix module.
11
11
 
12
+ [IMPORTANT]
13
+ Shader uniforms must be explicitly initialized to avoid retaining values from previous executions.
14
+
12
15
  FLAT_COLOR
13
16
 
14
17
 
@@ -25,6 +28,15 @@ IMAGE
25
28
 
26
29
 
27
30
 
31
+ IMAGE_SCENE_LINEAR_TO_REC709_SRGB
32
+
33
+
34
+ Attributes: vec3 pos, vec2 texCoord
35
+ Uniforms: sampler2D image
36
+ Note: Expect texture to be in scene linear color space
37
+
38
+
39
+
28
40
  IMAGE_COLOR
29
41
 
30
42
 
@@ -33,6 +45,15 @@ IMAGE_COLOR
33
45
 
34
46
 
35
47
 
48
+ IMAGE_COLOR_SCENE_LINEAR_TO_REC709_SRGB
49
+
50
+
51
+ Attributes: vec3 pos, vec2 texCoord
52
+ Uniforms: sampler2D image, vec4 color
53
+ Note: Expect texture to be in scene linear color space
54
+
55
+
56
+
36
57
  SMOOTH_COLOR
37
58
 
38
59
 
@@ -69,7 +90,7 @@ POLYLINE_UNIFORM_COLOR
69
90
 
70
91
 
71
92
  Attributes: vec3 pos
72
- Uniforms: vec2 viewportSize, float lineWidth
93
+ Uniforms: vec2 viewportSize, float lineWidth, vec4 color
73
94
 
74
95
 
75
96
 
@@ -81,7 +102,7 @@ POINT_FLAT_COLOR
81
102
 
82
103
 
83
104
 
84
- POLYLINE_UNIFORM_COLOR
105
+ POINT_UNIFORM_COLOR
85
106
 
86
107
 
87
108
  Attributes: vec3 pos
@@ -97,29 +118,25 @@ import typing_extensions
97
118
  import numpy.typing as npt
98
119
  import gpu.types
99
120
 
100
- def create_from_info(shader_info) -> gpu.types.GPUShader:
121
+ def create_from_info(shader_info: gpu.types.GPUShaderCreateInfo) -> gpu.types.GPUShader:
101
122
  """Create shader from a GPUShaderCreateInfo.
102
123
 
103
124
  :param shader_info: GPUShaderCreateInfo
104
- :return: Shader object corresponding to the given name.
105
- :rtype: gpu.types.GPUShader
125
+ :return: Shader object corresponding to the given shader info.
106
126
  """
107
127
 
108
- def from_builtin(shader_name: str, config: str = "DEFAULT") -> gpu.types.GPUShader:
128
+ def from_builtin(shader_name: str, *, config: str = "DEFAULT") -> gpu.types.GPUShader:
109
129
  """Shaders that are embedded in the blender internal code (see `built-in-shaders`).
110
130
  They all read the uniform mat4 ModelViewProjectionMatrix,
111
131
  which can be edited by the `gpu.matrix` module.You can also choose a shader configuration that uses clip_planes by setting the CLIPPED value to the config parameter. Note that in this case you also need to manually set the value of mat4 ModelMatrix.
112
132
 
113
133
  :param shader_name: One of the builtin shader names.
114
- :type shader_name: str
115
134
  :param config: One of these types of shader configuration:
116
135
 
117
136
  DEFAULT
118
137
 
119
138
  CLIPPED
120
- :type config: str
121
139
  :return: Shader object corresponding to the given name.
122
- :rtype: gpu.types.GPUShader
123
140
  """
124
141
 
125
142
  def unbind() -> None:
gpu/state/__init__.pyi CHANGED
@@ -7,12 +7,19 @@ import typing
7
7
  import collections.abc
8
8
  import typing_extensions
9
9
  import numpy.typing as npt
10
+ import gpu.types
10
11
 
11
- def active_framebuffer_get(enable) -> None:
12
- """Return the active frame-buffer in context."""
12
+ def active_framebuffer_get() -> gpu.types.GPUFrameBuffer:
13
+ """Return the active frame-buffer in context.
13
14
 
14
- def blend_get() -> None:
15
- """Current blending equation."""
15
+ :return: The active framebuffer.
16
+ """
17
+
18
+ def blend_get() -> str:
19
+ """Current blending equation.
20
+
21
+ :return: The current blend mode.
22
+ """
16
23
 
17
24
  def blend_set(mode: str) -> None:
18
25
  """Defines the fixed pipeline blending equation.
@@ -34,59 +41,73 @@ def blend_set(mode: str) -> None:
34
41
  SUBTRACT The original color channels are subtracted by the corresponding ones.
35
42
 
36
43
  INVERT The original color channels are replaced by its complementary color.
37
- :type mode: str
38
44
  """
39
45
 
40
46
  def clip_distances_set(distances_enabled: int) -> None:
41
47
  """Sets the number of gl_ClipDistance planes used for clip geometry.
42
48
 
43
49
  :param distances_enabled: Number of clip distances enabled.
44
- :type distances_enabled: int
45
50
  """
46
51
 
47
- def color_mask_set(r: bool, g, b, a) -> None:
52
+ def color_mask_set(r: bool, g: bool, b: bool, a: bool) -> None:
48
53
  """Enable or disable writing of frame buffer color components.
49
54
 
50
- :param r: components red, green, blue, and alpha.
51
- :type r: bool
55
+ :param r: Red component.
56
+ :param g: Green component.
57
+ :param b: Blue component.
58
+ :param a: Alpha component.
52
59
  """
53
60
 
54
- def depth_mask_get() -> None:
55
- """Writing status in the depth component."""
61
+ def depth_mask_get() -> bool:
62
+ """Writing status in the depth component.
56
63
 
57
- def depth_mask_set(value) -> None:
64
+ :return: True if writing to the depth component is enabled.
65
+ """
66
+
67
+ def depth_mask_set(value: bool) -> None:
58
68
  """Write to depth component.
59
69
 
60
70
  :param value: True for writing to the depth component.
61
71
  """
62
72
 
63
- def depth_test_get() -> None:
64
- """Current depth_test equation."""
73
+ def depth_test_get() -> str:
74
+ """Current depth_test equation.
75
+
76
+ :return: The current depth test mode.
77
+ """
65
78
 
66
79
  def depth_test_set(mode: str) -> None:
67
80
  """Defines the depth_test equation.
68
81
 
69
82
  :param mode: The depth test equation name.
70
83
  Possible values are NONE, ALWAYS, LESS, LESS_EQUAL, EQUAL, GREATER and GREATER_EQUAL.
71
- :type mode: str
72
84
  """
73
85
 
74
- def face_culling_set(culling) -> None:
75
- """Specify whether none, front-facing or back-facing facets can be culled."""
86
+ def face_culling_set(culling: str) -> None:
87
+ """Specify whether none, front-facing or back-facing facets can be culled.
76
88
 
77
- def front_facing_set(invert) -> None:
89
+ :param culling: NONE, FRONT or BACK.
90
+ """
91
+
92
+ def front_facing_set(invert: bool) -> None:
78
93
  """Specifies the orientation of front-facing polygons.
79
94
 
80
95
  :param invert: True for clockwise polygons as front-facing.
81
96
  """
82
97
 
83
- def line_width_get() -> None:
84
- """Current width of rasterized lines."""
98
+ def line_width_get() -> float:
99
+ """Current width of rasterized lines.
100
+
101
+ :return: The current line width.
102
+ """
103
+
104
+ def line_width_set(width: float) -> None:
105
+ """Specify the width of rasterized lines.
85
106
 
86
- def line_width_set(width) -> None:
87
- """Specify the width of rasterized lines."""
107
+ :param width: New width.
108
+ """
88
109
 
89
- def point_size_set(size) -> None:
110
+ def point_size_set(size: float) -> None:
90
111
  """Specify the diameter of rasterized points.
91
112
 
92
113
  :param size: New diameter.
@@ -96,28 +117,26 @@ def program_point_size_set(enable: bool) -> None:
96
117
  """If enabled, the derived point size is taken from the (potentially clipped) shader builtin gl_PointSize.
97
118
 
98
119
  :param enable: True for shader builtin gl_PointSize.
99
- :type enable: bool
100
120
  """
101
121
 
102
122
  def scissor_get() -> tuple[int, int, int, int]:
103
123
  """Retrieve the scissors of the active framebuffer.
104
- Note: Only valid between 'scissor_set' and a framebuffer rebind.
124
+ Note: Only valid between scissor_set and a framebuffer rebind.
105
125
 
106
126
  :return: The scissor of the active framebuffer as a tuple
107
127
  (x, y, xsize, ysize).
108
128
  x, y: lower left corner of the scissor rectangle, in pixels.
109
129
  xsize, ysize: width and height of the scissor rectangle.
110
- :rtype: tuple[int, int, int, int]
111
130
  """
112
131
 
113
- def scissor_set(x: int, y, xsize: int, ysize) -> None:
132
+ def scissor_set(x: int, y: int, xsize: int, ysize: int) -> None:
114
133
  """Specifies the scissor area of the active framebuffer.
115
134
  Note: The scissor state is not saved upon framebuffer rebind.
116
135
 
117
- :param x: lower left corner of the scissor rectangle, in pixels.
118
- :type x: int
119
- :param xsize: width and height of the scissor rectangle.
120
- :type xsize: int
136
+ :param x: Lower left corner x coordinate, in pixels.
137
+ :param y: Lower left corner y coordinate, in pixels.
138
+ :param xsize: Width of the scissor rectangle.
139
+ :param ysize: Height of the scissor rectangle.
121
140
  """
122
141
 
123
142
  def scissor_test_set(enable: bool) -> None:
@@ -125,18 +144,20 @@ def scissor_test_set(enable: bool) -> None:
125
144
 
126
145
  :param enable: True - enable scissor testing.
127
146
  False - disable scissor testing.
128
- :type enable: bool
129
147
  """
130
148
 
131
- def viewport_get() -> None:
132
- """Viewport of the active framebuffer."""
149
+ def viewport_get() -> tuple[int, int, int, int]:
150
+ """Viewport of the active framebuffer.
151
+
152
+ :return: The viewport as a tuple (x, y, xsize, ysize).
153
+ """
133
154
 
134
- def viewport_set(x: int, y, xsize: int, ysize) -> None:
155
+ def viewport_set(x: int, y: int, xsize: int, ysize: int) -> None:
135
156
  """Specifies the viewport of the active framebuffer.
136
157
  Note: The viewport state is not saved upon framebuffer rebind.
137
158
 
138
- :param x: lower left corner of the viewport_set rectangle, in pixels.
139
- :type x: int
140
- :param xsize: width and height of the viewport_set.
141
- :type xsize: int
159
+ :param x: Lower left corner x coordinate, in pixels.
160
+ :param y: Lower left corner y coordinate, in pixels.
161
+ :param xsize: Width of the viewport.
162
+ :param ysize: Height of the viewport.
142
163
  """