Blender  V3.3
WM_api.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2007 Blender Foundation. All rights reserved. */
3 #pragma once
4 
16 /* dna-savable wmStructs here */
17 #include "BLI_compiler_attrs.h"
18 #include "BLI_sys_types.h"
20 #include "WM_keymap.h"
21 #include "WM_types.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 struct ARegion;
28 struct AssetHandle;
30 struct GHashIterator;
31 struct GPUViewport;
32 struct ID;
33 struct IDProperty;
34 struct IDRemapper;
35 struct ImBuf;
36 struct ImageFormatData;
37 struct Main;
38 struct MenuType;
39 struct PointerRNA;
40 struct PropertyRNA;
41 struct ScrArea;
42 struct SelectPick_Params;
43 struct View3D;
44 struct ViewLayer;
45 struct bContext;
46 struct rcti;
47 struct wmDrag;
48 struct wmDropBox;
49 struct wmEvent;
51 struct wmEventHandler_UI;
52 struct wmGenericUserData;
53 struct wmGesture;
54 struct wmJob;
55 struct wmOperator;
56 struct wmOperatorType;
57 struct wmPaintCursor;
58 struct wmTabletData;
59 
60 #ifdef WITH_INPUT_NDOF
61 struct wmNDOFMotionData;
62 #endif
63 
64 #ifdef WITH_XR_OPENXR
65 struct wmXrRuntimeData;
66 #endif
67 
68 typedef struct wmGizmo wmGizmo;
69 typedef struct wmGizmoMap wmGizmoMap;
70 typedef struct wmGizmoMapType wmGizmoMapType;
71 typedef struct wmJob wmJob;
72 
73 /* General API. */
74 
82 const char *WM_init_state_app_template_get(void);
83 
87 void WM_init_state_size_set(int stax, int stay, int sizx, int sizy);
92 void WM_init_state_normal_set(void);
95 void WM_init_window_focus_set(bool do_it);
96 void WM_init_native_pixels(bool do_it);
97 void WM_init_input_devices(void);
98 
103 void WM_init(struct bContext *C, int argc, const char **argv);
107 void WM_exit_ex(struct bContext *C, bool do_python);
108 
114 void WM_exit(struct bContext *C) ATTR_NORETURN;
115 
116 void WM_main(struct bContext *C) ATTR_NORETURN;
117 
118 void WM_init_splash(struct bContext *C);
119 
120 void WM_init_opengl(void);
121 
122 void WM_check(struct bContext *C);
123 void WM_reinit_gizmomap_all(struct Main *bmain);
124 
129 void WM_script_tag_reload(void);
130 
131 wmWindow *WM_window_find_under_cursor(wmWindow *win, const int mval[2], int r_mval[2]);
133  const wmWindow *win,
134  const int pos[2],
135  float r_col[3]);
136 
137 uint *WM_window_pixels_read(struct wmWindowManager *wm, struct wmWindow *win, int r_size[2]);
138 
144 int WM_window_pixels_x(const struct wmWindow *win);
145 int WM_window_pixels_y(const struct wmWindow *win);
149 void WM_window_rect_calc(const struct wmWindow *win, struct rcti *r_rect);
154 void WM_window_screen_rect_calc(const struct wmWindow *win, struct rcti *r_rect);
156 bool WM_window_is_maximized(const struct wmWindow *win);
157 
163 void WM_windows_scene_data_sync(const ListBase *win_lb, struct Scene *scene) ATTR_NONNULL();
165  const struct bScreen *screen)
168  const struct bScreen *screen)
171  const struct bScreen *screen)
173 
174 struct Scene *WM_window_get_active_scene(const struct wmWindow *win)
179 void WM_window_set_active_scene(struct Main *bmain,
180  struct bContext *C,
181  struct wmWindow *win,
182  struct Scene *scene_new) ATTR_NONNULL();
186  struct wmWindow *win,
187  struct WorkSpace *workspace) ATTR_NONNULL(1);
190 void WM_window_set_active_layout(struct wmWindow *win,
191  struct WorkSpace *workspace,
192  struct WorkSpaceLayout *layout) ATTR_NONNULL(1);
196 struct bScreen *WM_window_get_active_screen(const struct wmWindow *win)
198 void WM_window_set_active_screen(struct wmWindow *win,
199  struct WorkSpace *workspace,
200  struct bScreen *screen) ATTR_NONNULL(1);
201 
204 void WM_window_set_active_view_layer(struct wmWindow *win, struct ViewLayer *view_layer)
205  ATTR_NONNULL(1);
207 
209 
210 void *WM_opengl_context_create(void);
214 
215 /* #WM_window_open alignment */
216 typedef enum eWindowAlignment {
221 
230 struct wmWindow *WM_window_open(struct bContext *C,
231  const char *title,
232  int x,
233  int y,
234  int sizex,
235  int sizey,
236  int space_type,
237  bool toplevel,
238  bool dialog,
239  bool temp,
240  eWindowAlignment alignment);
241 
242 void WM_window_set_dpi(const wmWindow *win);
243 
244 bool WM_stereo3d_enabled(struct wmWindow *win, bool only_fullscreen_test);
245 
246 /* wm_files.c */
247 
248 void WM_file_autoexec_init(const char *filepath);
249 bool WM_file_read(struct bContext *C, const char *filepath, struct ReportList *reports);
250 void WM_file_autosave_init(struct wmWindowManager *wm);
251 bool WM_file_recover_last_session(struct bContext *C, struct ReportList *reports);
252 void WM_file_tag_modified(void);
253 
258 struct ID *WM_file_link_datablock(struct Main *bmain,
259  struct Scene *scene,
260  struct ViewLayer *view_layer,
261  struct View3D *v3d,
262  const char *filepath,
263  short id_code,
264  const char *id_name,
265  int flag);
270 struct ID *WM_file_append_datablock(struct Main *bmain,
271  struct Scene *scene,
272  struct ViewLayer *view_layer,
273  struct View3D *v3d,
274  const char *filepath,
275  short id_code,
276  const char *id_name,
277  int flag);
278 void WM_lib_reload(struct Library *lib, struct bContext *C, struct ReportList *reports);
279 
280 /* Mouse cursors. */
281 
282 void WM_cursor_set(struct wmWindow *win, int curs);
283 bool WM_cursor_set_from_tool(struct wmWindow *win, const ScrArea *area, const ARegion *region);
284 void WM_cursor_modal_set(struct wmWindow *win, int val);
285 void WM_cursor_modal_restore(struct wmWindow *win);
289 void WM_cursor_wait(bool val);
293 void WM_cursor_grab_enable(struct wmWindow *win, int wrap, bool hide, int bounds[4]);
294 void WM_cursor_grab_disable(struct wmWindow *win, const int mouse_ungrab_xy[2]);
298 void WM_cursor_time(struct wmWindow *win, int nr);
299 
301  short space_type,
302  short region_type,
303  bool (*poll)(struct bContext *C),
304  void (*draw)(struct bContext *C, int, int, void *customdata),
305  void *customdata);
306 
307 bool WM_paint_cursor_end(struct wmPaintCursor *handle);
309  void *draw_fn,
310  void (*free)(void *));
311 void WM_paint_cursor_tag_redraw(struct wmWindow *win, struct ARegion *region);
312 
316 void WM_cursor_warp(struct wmWindow *win, int x, int y);
317 
318 /* Handlers. */
319 
320 typedef bool (*EventHandlerPoll)(const ARegion *region, const struct wmEvent *event);
323  wmKeyMap *keymap,
324  EventHandlerPoll poll);
326  wmKeyMap *keymap);
331  wmKeyMap *keymap,
332  int priority);
333 
338 
340  struct wmWindow *win,
341  struct wmEventHandler_Keymap *handler,
342  struct wmEventHandler_KeymapResult *km_result);
343 
345  struct wmWindow *win,
346  struct wmEventHandler_Keymap *handler,
347  wmEventHandler_KeymapResult *km_result);
349  struct wmWindow *win,
350  struct wmEventHandler_Keymap *handler,
351  wmEventHandler_KeymapResult *km_result);
352 
354  ListBase *handlers, wmEventHandler_KeymapDynamicFn *keymap_fn, void *user_data);
355 
357 
359  void(keymap_tag)(wmKeyMap *keymap,
360  wmKeyMapItem *kmi,
361  void *user_data),
362  void *user_data);
364  struct wmWindow *win,
365  struct wmEventHandler_Keymap *handler,
366  struct wmEventHandler_KeymapResult *km_result);
367 
369  wmKeyMap *keymap,
370  const struct wmEvent *event);
371 
373  struct wmWindowManager *wm,
374  struct wmWindow *win,
375  struct ListBase *handlers,
376  const struct wmEvent *event);
377 
378 typedef int (*wmUIHandlerFunc)(struct bContext *C, const struct wmEvent *event, void *userdata);
379 typedef void (*wmUIHandlerRemoveFunc)(struct bContext *C, void *userdata);
380 
382  ListBase *handlers,
385  void *user_data,
386  char flag);
387 
392 
397 void WM_event_remove_ui_handler(ListBase *handlers,
400  void *user_data,
401  bool postpone);
402 void WM_event_remove_area_handler(struct ListBase *handlers, void *area);
404  ListBase *handlers,
407 
414  const struct ScrArea *old_area,
415  struct ScrArea *new_area);
421  const struct ARegion *old_region,
422  struct ARegion *new_region);
423 
427 void WM_event_remove_handlers(struct bContext *C, ListBase *handlers);
428 
429 /* handler flag */
430 enum {
431  WM_HANDLER_BLOCKING = (1 << 0), /* after this handler all others are ignored */
432  WM_HANDLER_ACCEPT_DBL_CLICK = (1 << 1), /* handler accepts double key press events */
433 
434  /* internal */
435  WM_HANDLER_DO_FREE = (1 << 7), /* handler tagged to be freed in wm_handlers_do() */
436 };
437 
440 
441 /* mouse */
443 
444 #ifdef WITH_INPUT_NDOF
445 /* 3D mouse */
446 void WM_ndof_deadzone_set(float deadzone);
447 #endif
448 /* notifiers */
450  const struct wmWindow *win,
451  unsigned int type,
452  void *reference);
453 void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference);
454 void WM_main_add_notifier(unsigned int type, void *reference);
458 void WM_main_remove_notifier_reference(const void *reference);
459 void WM_main_remap_editor_id_reference(const struct IDRemapper *mappings);
460 
461 /* reports */
465 void WM_report_banner_show(void);
469 void WM_report_banners_cancel(struct Main *bmain);
470 void WM_report(eReportType type, const char *message);
471 void WM_reportf(eReportType type, const char *format, ...) ATTR_PRINTF_FORMAT(2, 3);
472 
473 struct wmEvent *wm_event_add_ex(struct wmWindow *win,
474  const struct wmEvent *event_to_add,
475  const struct wmEvent *event_to_add_after) ATTR_NONNULL(1, 2);
476 struct wmEvent *wm_event_add(struct wmWindow *win, const struct wmEvent *event_to_add)
477  ATTR_NONNULL(1, 2);
478 
479 void wm_event_init_from_window(struct wmWindow *win, struct wmEvent *event);
480 
481 /* at maximum, every timestep seconds it triggers event_type events */
482 struct wmTimer *WM_event_add_timer(struct wmWindowManager *wm,
483  struct wmWindow *win,
484  int event_type,
485  double timestep);
487  struct wmWindow *win,
488  unsigned int type,
489  double timestep);
493  struct wmWindow *win,
494  struct wmTimer *timer);
496  struct wmWindow *win,
497  struct wmTimer *timer);
502  struct wmWindow *win,
503  struct wmTimer *timer,
504  bool do_sleep);
505 
506 /* Operator API, default callbacks. */
507 
516  struct wmOperator *op,
517  const struct wmEvent *event);
526  struct wmOperator *op,
527  const struct wmEvent *event);
528 void WM_operator_view3d_unit_defaults(struct bContext *C, struct wmOperator *op);
533 int WM_menu_invoke_ex(struct bContext *C, struct wmOperator *op, wmOperatorCallContext opcontext);
534 int WM_menu_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
538 void WM_menu_name_call(struct bContext *C, const char *menu_name, short context);
544  struct wmOperator *op,
545  short prv_cols,
546  short prv_rows);
547 int WM_enum_search_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
551 int WM_operator_confirm(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
553  struct wmOperator *op,
554  const struct wmEvent *event);
560 int WM_operator_filesel(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
562  const struct ImageFormatData *im_format);
564 bool WM_operator_winactive(struct bContext *C);
572  struct wmOperator *op,
573  const struct wmEvent *event);
580  struct wmOperator *op,
581  const struct wmEvent *event);
583  struct wmOperator *op,
584  const struct wmEvent *event);
585 int WM_operator_props_dialog_popup(struct bContext *C, struct wmOperator *op, int width);
586 int WM_operator_redo_popup(struct bContext *C, struct wmOperator *op);
587 int WM_operator_ui_popup(struct bContext *C, struct wmOperator *op, int width);
588 
593  struct wmOperator *op,
594  const char *title,
595  int icon,
596  const char *message,
597  wmOperatorCallContext opcontext);
598 int WM_operator_confirm_message(struct bContext *C, struct wmOperator *op, const char *message);
599 
600 /* Operator API. */
601 
602 void WM_operator_free(struct wmOperator *op);
611 void WM_operator_type_set(struct wmOperator *op, struct wmOperatorType *ot);
618 
619 bool WM_operator_poll(struct bContext *C, struct wmOperatorType *ot);
620 bool WM_operator_poll_context(struct bContext *C, struct wmOperatorType *ot, short context);
629 int WM_operator_call_ex(struct bContext *C, struct wmOperator *op, bool store);
630 int WM_operator_call(struct bContext *C, struct wmOperator *op);
636 int WM_operator_call_notest(struct bContext *C, struct wmOperator *op);
640 int WM_operator_repeat(struct bContext *C, struct wmOperator *op);
641 int WM_operator_repeat_last(struct bContext *C, struct wmOperator *op);
648 bool WM_operator_repeat_check(const struct bContext *C, struct wmOperator *op);
649 bool WM_operator_is_repeat(const struct bContext *C, const struct wmOperator *op);
650 
651 bool WM_operator_name_poll(struct bContext *C, const char *opstring);
662  struct wmOperatorType *ot,
664  struct PointerRNA *properties,
665  const wmEvent *event);
667 int WM_operator_name_call(struct bContext *C,
668  const char *opstring,
670  struct PointerRNA *properties,
671  const wmEvent *event);
673  const char *opstring,
675  struct IDProperty *properties,
676  const wmEvent *event);
684 int WM_operator_call_py(struct bContext *C,
685  struct wmOperatorType *ot,
687  struct PointerRNA *properties,
688  struct ReportList *reports,
689  bool is_undo);
690 
693  wmOperatorCallContext opcontext,
694  PointerRNA *properties,
695  const wmEvent *event,
696  const char *drawstr);
697 
702  struct IDProperty **properties,
703  const char *opstring);
704 
708 void WM_operator_properties_sanitize(struct PointerRNA *ptr, bool no_context);
709 
718 bool WM_operator_properties_default(struct PointerRNA *ptr, bool do_update);
723 void WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring);
727 
732 bool WM_operator_check_ui_enabled(const struct bContext *C, const char *idname);
733 
741 ID *WM_operator_drop_load_path(struct bContext *C, struct wmOperator *op, short idcode);
742 
745 
746 /* wm_operator_props.c */
747 
749 
751 typedef enum eFileSel_Flag {
761 
762 
763 typedef enum eFileSel_Action {
767 
772  int filter,
773  short type,
774  eFileSel_Action action,
775  eFileSel_Flag flag,
776  short display,
777  short sort);
778 
794  PointerRNA *ptr,
795  enum ID_Type type);
811 void WM_operator_properties_id_lookup(wmOperatorType *ot, const bool add_name_prop);
812 
819 void WM_operator_properties_border_to_rcti(struct wmOperator *op, struct rcti *rect);
824 void WM_operator_properties_gesture_box_ex(struct wmOperatorType *ot, bool deselect, bool extend);
846  int default_action,
847  bool hide_gui);
852  int default_action,
853  bool hide_gui);
892 
894  int nth; /* bypass when set to zero */
895  int skip;
896  int offset;
897 };
901 void WM_operator_properties_checker_interval(struct wmOperatorType *ot, bool nth_can_disable);
903  struct CheckerIntervalParams *op_params);
905  int depth);
906 
918 char *WM_operator_pystring_ex(struct bContext *C,
919  struct wmOperator *op,
920  bool all_args,
921  bool macro_args,
922  struct wmOperatorType *ot,
923  struct PointerRNA *opptr);
924 char *WM_operator_pystring(struct bContext *C,
925  struct wmOperator *op,
926  bool all_args,
927  bool macro_args);
931 bool WM_operator_pystring_abbreviate(char *str, int str_len_max);
932 char *WM_prop_pystring_assign(struct bContext *C,
933  struct PointerRNA *ptr,
934  struct PropertyRNA *prop,
935  int index);
940 size_t WM_operator_bl_idname(char *dst, const char *src) ATTR_NONNULL(1, 2);
945 size_t WM_operator_py_idname(char *dst, const char *src) ATTR_NONNULL(1, 2);
951  const char *classname,
952  const char *idname);
957  const PointerRNA *ptr,
958  PropertyRNA *prop,
959  int index);
960 char *WM_context_path_resolve_full(struct bContext *C, const PointerRNA *ptr);
961 
962 /* wm_operator_type.c */
963 
964 struct wmOperatorType *WM_operatortype_find(const char *idname, bool quiet);
968 void WM_operatortype_iter(struct GHashIterator *ghi);
969 void WM_operatortype_append(void (*opfunc)(struct wmOperatorType *));
970 void WM_operatortype_append_ptr(void (*opfunc)(struct wmOperatorType *, void *), void *userdata);
971 void WM_operatortype_append_macro_ptr(void (*opfunc)(struct wmOperatorType *, void *),
972  void *userdata);
977 bool WM_operatortype_remove(const char *idname);
982 
984  PointerRNA *ptr,
985  PropertyRNA *prop,
986  const char *edit_text,
988  void *visit_user_data);
989 
1012 
1013 #define WM_operatortype_prop_tag(property, tags) \
1014  { \
1015  CHECK_TYPE(tags, eOperatorPropTags); \
1016  RNA_def_property_tags(prop, tags); \
1017  } \
1018  (void)0
1019 
1024  const char *name,
1025  const char *description,
1026  int flag);
1028  const char *idname);
1029 
1030 const char *WM_operatortype_name(struct wmOperatorType *ot, struct PointerRNA *properties);
1031 char *WM_operatortype_description(struct bContext *C,
1032  struct wmOperatorType *ot,
1033  struct PointerRNA *properties);
1038  struct wmOperatorType *ot,
1039  struct PointerRNA *properties);
1040 
1041 /* wm_operator_utils.c */
1042 
1048 
1049 /* wm_uilist_type.c */
1050 
1054 void WM_uilisttype_init(void);
1055 struct uiListType *WM_uilisttype_find(const char *idname, bool quiet);
1056 bool WM_uilisttype_add(struct uiListType *ult);
1057 void WM_uilisttype_remove_ptr(struct Main *bmain, struct uiListType *ult);
1058 void WM_uilisttype_free(void);
1059 
1071  const char *list_id,
1072  char r_full_list_id[]);
1078 const char *WM_uilisttype_list_id_get(const struct uiListType *ult, struct uiList *list);
1079 
1080 /* wm_menu_type.c */
1081 
1085 void WM_menutype_init(void);
1086 struct MenuType *WM_menutype_find(const char *idname, bool quiet);
1087 void WM_menutype_iter(struct GHashIterator *ghi);
1088 bool WM_menutype_add(struct MenuType *mt);
1089 void WM_menutype_freelink(struct MenuType *mt);
1090 void WM_menutype_free(void);
1091 bool WM_menutype_poll(struct bContext *C, struct MenuType *mt);
1092 
1094  struct PointerRNA *ptr,
1095  struct PropertyRNA *prop,
1096  const char *edit_text,
1098  void *visit_user_data);
1099 
1100 /* wm_panel_type.c */
1101 
1105 void WM_paneltype_init(void);
1106 void WM_paneltype_clear(void);
1107 struct PanelType *WM_paneltype_find(const char *idname, bool quiet);
1108 bool WM_paneltype_add(struct PanelType *pt);
1109 void WM_paneltype_remove(struct PanelType *pt);
1110 
1112  struct PointerRNA *ptr,
1113  struct PropertyRNA *prop,
1114  const char *edit_text,
1116  void *visit_user_data);
1117 
1118 /* wm_gesture_ops.c */
1119 
1120 int WM_gesture_box_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
1121 int WM_gesture_box_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
1122 void WM_gesture_box_cancel(struct bContext *C, struct wmOperator *op);
1124  struct wmOperator *op,
1125  const struct wmEvent *event);
1127  struct wmOperator *op,
1128  const struct wmEvent *event);
1129 void WM_gesture_circle_cancel(struct bContext *C, struct wmOperator *op);
1131  struct wmOperator *op,
1132  const struct wmEvent *event);
1133 int WM_gesture_lines_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
1134 void WM_gesture_lines_cancel(struct bContext *C, struct wmOperator *op);
1136  struct wmOperator *op,
1137  const struct wmEvent *event);
1138 int WM_gesture_lasso_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event);
1139 void WM_gesture_lasso_cancel(struct bContext *C, struct wmOperator *op);
1146  struct wmOperator *op,
1147  int *mcoords_len))[2];
1148 
1150  struct wmOperator *op,
1151  const struct wmEvent *event);
1157  struct wmOperator *op,
1158  const struct wmEvent *event);
1165  struct wmOperator *op,
1166  const struct wmEvent *event);
1175  struct wmOperator *op,
1176  const struct wmEvent *event);
1177 void WM_gesture_straightline_cancel(struct bContext *C, struct wmOperator *op);
1178 
1179 /* Gesture manager API */
1180 
1184 struct wmGesture *WM_gesture_new(struct wmWindow *window,
1185  const struct ARegion *region,
1186  const struct wmEvent *event,
1187  int type);
1188 void WM_gesture_end(struct wmWindow *win, struct wmGesture *gesture);
1189 void WM_gestures_remove(struct wmWindow *win);
1190 void WM_gestures_free_all(struct wmWindow *win);
1191 bool WM_gesture_is_modal_first(const struct wmGesture *gesture);
1192 
1193 /* File-selecting support. */
1194 
1201 void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op);
1202 void WM_event_fileselect_event(struct wmWindowManager *wm, void *ophandle, int eventval);
1203 
1210 
1214 int WM_operator_flag_only_pass_through_on_press(int retval, const struct wmEvent *event);
1215 
1216 /* Drag and drop. */
1217 
1222 void WM_event_start_drag(
1223  struct bContext *C, int icon, int type, void *poin, double value, unsigned int flags);
1232  struct bContext *C, int icon, int type, void *poin, double value, unsigned int flags);
1236 void WM_event_start_prepared_drag(struct bContext *C, wmDrag *drag);
1237 void WM_event_drag_image(struct wmDrag *, struct ImBuf *, float scale);
1238 void WM_drag_free(struct wmDrag *drag);
1239 void WM_drag_data_free(int dragtype, void *poin);
1240 void WM_drag_free_list(struct ListBase *lb);
1242  ListBase *lb,
1243  const char *idname,
1244  bool (*poll)(struct bContext *, struct wmDrag *, const struct wmEvent *event),
1245  void (*copy)(struct bContext *, struct wmDrag *, struct wmDropBox *),
1246  void (*cancel)(struct Main *, struct wmDrag *, struct wmDropBox *),
1249  struct wmWindow *win,
1250  struct wmDrag *drag,
1251  const int xy[2]);
1252 void WM_drag_draw_default_fn(struct bContext *C,
1253  struct wmWindow *win,
1254  struct wmDrag *drag,
1255  const int xy[2]);
1259 ListBase *WM_dropboxmap_find(const char *idname, int spaceid, int regionid);
1260 
1261 /* ID drag and drop */
1262 
1266 ID *WM_drag_asset_id_import(wmDragAsset *asset_drag, int flag_extra);
1267 bool WM_drag_asset_will_import_linked(const wmDrag *drag);
1268 void WM_drag_add_local_ID(struct wmDrag *drag, struct ID *id, struct ID *from_parent);
1269 struct ID *WM_drag_get_local_ID(const struct wmDrag *drag, short idcode);
1270 struct ID *WM_drag_get_local_ID_from_event(const struct wmEvent *event, short idcode);
1274 bool WM_drag_is_ID_type(const struct wmDrag *drag, int idcode);
1275 
1280  struct AssetMetaData *metadata,
1281  const char *path,
1282  int import_type);
1283 struct wmDragAsset *WM_drag_get_asset_data(const struct wmDrag *drag, int idcode);
1284 struct AssetMetaData *WM_drag_get_asset_meta_data(const struct wmDrag *drag, int idcode);
1292 struct ID *WM_drag_get_local_ID_or_import_from_asset(const struct wmDrag *drag, int idcode);
1293 
1302 void WM_drag_free_imported_drag_ID(struct Main *bmain,
1303  struct wmDrag *drag,
1304  struct wmDropBox *drop);
1305 
1307 
1312  const struct bContext *C,
1313  const struct AssetLibraryReference *asset_library_ref,
1314  const struct AssetHandle *asset);
1315 const ListBase *WM_drag_asset_list_get(const wmDrag *drag);
1316 
1317 const char *WM_drag_get_item_name(struct wmDrag *drag);
1318 
1319 /* Set OpenGL viewport and scissor */
1320 void wmViewport(const struct rcti *winrct);
1321 void wmPartialViewport(rcti *drawrct, const rcti *winrct, const rcti *partialrct);
1322 void wmWindowViewport(struct wmWindow *win);
1323 
1324 /* OpenGL utilities with safety check */
1325 void wmOrtho2(float x1, float x2, float y1, float y2);
1326 /* use for conventions (avoid hard-coded offsets all over) */
1327 
1331 void wmOrtho2_region_pixelspace(const struct ARegion *region);
1332 void wmOrtho2_pixelspace(float x, float y);
1333 void wmGetProjectionMatrix(float mat[4][4], const struct rcti *winrct);
1334 
1335 /* threaded Jobs Manager */
1336 enum {
1337  WM_JOB_PRIORITY = (1 << 0),
1339  WM_JOB_PROGRESS = (1 << 2),
1340 };
1341 
1346 enum {
1350  WM_JOB_TYPE_RENDER_PREVIEW, /* UI preview */
1352  WM_JOB_TYPE_LOAD_PREVIEW, /* UI preview */
1376  /* add as needed, bake, seq proxy build
1377  * if having hard coded values is a problem */
1378 };
1379 
1386 struct wmJob *WM_jobs_get(struct wmWindowManager *wm,
1387  struct wmWindow *win,
1388  const void *owner,
1389  const char *name,
1390  int flag,
1391  int job_type);
1392 
1396 bool WM_jobs_test(const struct wmWindowManager *wm, const void *owner, int job_type);
1397 float WM_jobs_progress(const struct wmWindowManager *wm, const void *owner);
1398 const char *WM_jobs_name(const struct wmWindowManager *wm, const void *owner);
1402 double WM_jobs_starttime(const struct wmWindowManager *wm, const void *owner);
1403 void *WM_jobs_customdata_from_type(struct wmWindowManager *wm, const void *owner, int job_type);
1404 
1405 bool WM_jobs_is_running(const struct wmJob *wm_job);
1406 bool WM_jobs_is_stopped(const wmWindowManager *wm, const void *owner);
1407 void *WM_jobs_customdata_get(struct wmJob *);
1408 void WM_jobs_customdata_set(struct wmJob *, void *customdata, void (*free)(void *));
1409 void WM_jobs_timer(struct wmJob *, double timestep, unsigned int note, unsigned int endnote);
1410 void WM_jobs_delay_start(struct wmJob *, double delay_time);
1411 
1412 typedef void (*wm_jobs_start_callback)(void *custom_data,
1413  short *stop,
1414  short *do_update,
1415  float *progress);
1416 void WM_jobs_callbacks(struct wmJob *,
1418  void (*initjob)(void *),
1419  void (*update)(void *),
1420  void (*endjob)(void *));
1421 
1422 void WM_jobs_callbacks_ex(wmJob *wm_job,
1424  void (*initjob)(void *),
1425  void (*update)(void *),
1426  void (*endjob)(void *),
1427  void (*completed)(void *),
1428  void (*canceled)(void *));
1429 
1434 void WM_jobs_start(struct wmWindowManager *wm, struct wmJob *);
1438 void WM_jobs_stop(struct wmWindowManager *wm, const void *owner, void *startjob);
1442 void WM_jobs_kill(struct wmWindowManager *wm,
1443  void *owner,
1444  void (*)(void *, short int *, short int *, float *));
1448 void WM_jobs_kill_all(struct wmWindowManager *wm);
1452 void WM_jobs_kill_all_except(struct wmWindowManager *wm, const void *owner);
1453 void WM_jobs_kill_type(struct wmWindowManager *wm, const void *owner, int job_type);
1454 
1455 bool WM_jobs_has_running(const struct wmWindowManager *wm);
1456 bool WM_jobs_has_running_type(const struct wmWindowManager *wm, int job_type);
1457 
1458 void WM_job_main_thread_lock_acquire(struct wmJob *job);
1459 void WM_job_main_thread_lock_release(struct wmJob *job);
1460 
1461 /* Clipboard. */
1462 
1468 char *WM_clipboard_text_get(bool selection, int *r_len);
1472 char *WM_clipboard_text_get_firstline(bool selection, int *r_len);
1473 void WM_clipboard_text_set(const char *buf, bool selection);
1474 
1475 /* progress */
1476 
1477 void WM_progress_set(struct wmWindow *win, float progress);
1478 void WM_progress_clear(struct wmWindow *win);
1479 
1480 /* Draw (for screenshot) */
1481 
1482 void *WM_draw_cb_activate(struct wmWindow *win,
1483  void (*draw)(const struct wmWindow *, void *),
1484  void *customdata);
1485 void WM_draw_cb_exit(struct wmWindow *win, void *handle);
1486 void WM_redraw_windows(struct bContext *C);
1487 
1488 void WM_draw_region_viewport_ensure(struct ARegion *region, short space_type);
1489 void WM_draw_region_viewport_bind(struct ARegion *region);
1490 void WM_draw_region_viewport_unbind(struct ARegion *region);
1491 
1492 /* Region drawing */
1493 
1494 void WM_draw_region_free(struct ARegion *region, bool hide);
1495 struct GPUViewport *WM_draw_region_get_viewport(struct ARegion *region);
1496 struct GPUViewport *WM_draw_region_get_bound_viewport(struct ARegion *region);
1497 
1498 void WM_main_playanim(int argc, const char **argv);
1499 
1504 bool write_crash_blend(void);
1505 
1509 void WM_set_locked_interface(struct wmWindowManager *wm, bool lock);
1510 
1511 void WM_event_tablet_data_default_set(struct wmTabletData *tablet_data);
1512 
1516 struct wmEvent *WM_event_add_simulate(struct wmWindow *win, const struct wmEvent *event_to_add);
1517 
1518 const char *WM_window_cursor_keymap_status_get(const struct wmWindow *win,
1519  int button_index,
1520  int type_index);
1521 void WM_window_cursor_keymap_status_refresh(struct bContext *C, struct wmWindow *win);
1522 
1523 void WM_window_status_area_tag_redraw(struct wmWindow *win);
1528 struct ScrArea *WM_window_status_area_find(struct wmWindow *win, struct bScreen *screen);
1530  struct wmWindow *win,
1531  struct uiLayout *layout);
1532 
1533 /* wm_event_query.c */
1534 
1538 void WM_event_print(const struct wmEvent *event);
1539 
1543 bool WM_event_is_modal_drag_exit(const struct wmEvent *event,
1544  short init_event_type,
1545  short init_event_val);
1546 bool WM_event_is_mouse_drag(const struct wmEvent *event);
1547 bool WM_event_is_mouse_drag_or_press(const wmEvent *event);
1548 int WM_event_drag_direction(const wmEvent *event);
1550 
1566 
1567 int WM_event_drag_threshold(const struct wmEvent *event);
1568 bool WM_event_drag_test(const struct wmEvent *event, const int prev_xy[2]);
1569 bool WM_event_drag_test_with_delta(const struct wmEvent *event, const int delta[2]);
1570 void WM_event_drag_start_mval(const wmEvent *event, const ARegion *region, int r_mval[2]);
1571 void WM_event_drag_start_mval_fl(const wmEvent *event, const ARegion *region, float r_mval[2]);
1572 void WM_event_drag_start_xy(const wmEvent *event, int r_xy[2]);
1573 
1577 int WM_userdef_event_map(int kmitype);
1584 
1585 #ifdef WITH_INPUT_NDOF
1586 void WM_event_ndof_pan_get(const struct wmNDOFMotionData *ndof, float r_pan[3], bool use_zoom);
1587 void WM_event_ndof_rotate_get(const struct wmNDOFMotionData *ndof, float r_rot[3]);
1588 
1589 float WM_event_ndof_to_axis_angle(const struct wmNDOFMotionData *ndof, float axis[3]);
1590 void WM_event_ndof_to_quat(const struct wmNDOFMotionData *ndof, float q[4]);
1591 #endif /* WITH_INPUT_NDOF */
1592 
1593 #ifdef WITH_XR_OPENXR
1594 bool WM_event_is_xr(const struct wmEvent *event);
1595 #endif
1596 
1601 float WM_event_tablet_data(const struct wmEvent *event, int *pen_flip, float tilt[2]);
1602 bool WM_event_is_tablet(const struct wmEvent *event);
1603 
1604 int WM_event_absolute_delta_x(const struct wmEvent *event);
1605 int WM_event_absolute_delta_y(const struct wmEvent *event);
1606 
1607 #ifdef WITH_INPUT_IME
1608 bool WM_event_is_ime_switch(const struct wmEvent *event);
1609 #endif
1610 
1611 /* wm_tooltip.c */
1612 
1613 typedef struct ARegion *(*wmTooltipInitFn)(struct bContext *C,
1614  struct ARegion *region,
1615  int *pass,
1616  double *r_pass_delay,
1617  bool *r_exit_on_event);
1618 
1619 void WM_tooltip_immediate_init(struct bContext *C,
1620  struct wmWindow *win,
1621  struct ScrArea *area,
1622  struct ARegion *region,
1624 void WM_tooltip_timer_init_ex(struct bContext *C,
1625  struct wmWindow *win,
1626  struct ScrArea *area,
1627  struct ARegion *region,
1629  double delay);
1630 void WM_tooltip_timer_init(struct bContext *C,
1631  struct wmWindow *win,
1632  struct ScrArea *area,
1633  struct ARegion *region,
1635 void WM_tooltip_timer_clear(struct bContext *C, struct wmWindow *win);
1636 void WM_tooltip_clear(struct bContext *C, struct wmWindow *win);
1637 void WM_tooltip_init(struct bContext *C, struct wmWindow *win);
1638 void WM_tooltip_refresh(struct bContext *C, struct wmWindow *win);
1639 double WM_tooltip_time_closed(void);
1640 
1641 /* wm_utils.c */
1642 
1645 
1646 void WM_generic_user_data_free(struct wmGenericUserData *wm_userdata);
1647 
1648 bool WM_region_use_viewport(struct ScrArea *area, struct ARegion *region);
1649 
1650 #ifdef WITH_XR_OPENXR
1651 /* wm_xr_session.c */
1652 
1657 bool WM_xr_session_exists(const wmXrData *xr);
1661 bool WM_xr_session_is_ready(const wmXrData *xr);
1663 struct ScrArea *WM_xr_session_area_get(const wmXrData *xr);
1665 bool WM_xr_session_state_viewer_pose_location_get(const wmXrData *xr, float r_location[3]);
1666 bool WM_xr_session_state_viewer_pose_rotation_get(const wmXrData *xr, float r_rotation[4]);
1668  float r_viewmat[4][4],
1669  float *r_focal_len);
1671  unsigned int subaction_idx,
1672  float r_location[3]);
1674  unsigned int subaction_idx,
1675  float r_rotation[4]);
1677  unsigned int subaction_idx,
1678  float r_location[3]);
1680  unsigned int subaction_idx,
1681  float r_rotation[4]);
1682 bool WM_xr_session_state_nav_location_get(const wmXrData *xr, float r_location[3]);
1683 void WM_xr_session_state_nav_location_set(wmXrData *xr, const float location[3]);
1684 bool WM_xr_session_state_nav_rotation_get(const wmXrData *xr, float r_rotation[4]);
1685 void WM_xr_session_state_nav_rotation_set(wmXrData *xr, const float rotation[4]);
1686 bool WM_xr_session_state_nav_scale_get(const wmXrData *xr, float *r_scale);
1687 void WM_xr_session_state_nav_scale_set(wmXrData *xr, float scale);
1689 
1691 
1692 /* wm_xr_actions.c */
1693 
1694 /* XR action functions to be called pre-XR session start.
1695  * NOTE: The "destroy" functions can also be called post-session start. */
1696 
1697 bool WM_xr_action_set_create(wmXrData *xr, const char *action_set_name);
1698 void WM_xr_action_set_destroy(wmXrData *xr, const char *action_set_name);
1699 bool WM_xr_action_create(wmXrData *xr,
1700  const char *action_set_name,
1701  const char *action_name,
1703  const ListBase *user_paths,
1704  struct wmOperatorType *ot,
1705  struct IDProperty *op_properties,
1706  const char *haptic_name,
1707  const int64_t *haptic_duration,
1708  const float *haptic_frequency,
1709  const float *haptic_amplitude,
1710  eXrOpFlag op_flag,
1711  eXrActionFlag action_flag,
1712  eXrHapticFlag haptic_flag);
1713 void WM_xr_action_destroy(wmXrData *xr, const char *action_set_name, const char *action_name);
1715  const char *action_set_name,
1716  const char *action_name,
1717  const char *profile_path,
1718  const ListBase *user_paths,
1719  const ListBase *component_paths,
1720  const float *float_thresholds,
1721  const eXrAxisFlag *axis_flags,
1722  const struct wmXrPose *poses);
1724  const char *action_set_name,
1725  const char *action_name,
1726  const char *profile_path);
1727 
1731 bool WM_xr_active_action_set_set(wmXrData *xr, const char *action_set_name, bool delayed);
1732 
1734  const char *action_set_name,
1735  const char *grip_action_name,
1736  const char *aim_action_name);
1737 
1741 bool WM_xr_action_state_get(const wmXrData *xr,
1742  const char *action_set_name,
1743  const char *action_name,
1744  const char *subaction_path,
1745  struct wmXrActionState *r_state);
1747  const char *action_set_name,
1748  const char *action_name,
1749  const char *subaction_path,
1750  const int64_t *duration,
1751  const float *frequency,
1752  const float *amplitude);
1754  const char *action_set_name,
1755  const char *action_name,
1756  const char *subaction_path);
1757 
1758 /* wm_xr_actionmap.c */
1759 
1761  const char *name,
1762  bool replace_existing);
1766 void WM_xr_actionmap_ensure_unique(struct wmXrRuntimeData *runtime, XrActionMap *actionmap);
1768 bool WM_xr_actionmap_remove(struct wmXrRuntimeData *runtime, XrActionMap *actionmap);
1769 XrActionMap *WM_xr_actionmap_find(struct wmXrRuntimeData *runtime, const char *name);
1770 void WM_xr_actionmap_clear(XrActionMap *actionmap);
1771 void WM_xr_actionmaps_clear(struct wmXrRuntimeData *runtime);
1773 short WM_xr_actionmap_active_index_get(const struct wmXrRuntimeData *runtime);
1774 void WM_xr_actionmap_active_index_set(struct wmXrRuntimeData *runtime, short idx);
1775 short WM_xr_actionmap_selected_index_get(const struct wmXrRuntimeData *runtime);
1776 void WM_xr_actionmap_selected_index_set(struct wmXrRuntimeData *runtime, short idx);
1777 
1779  const char *name,
1780  bool replace_existing);
1787 XrActionMapItem *WM_xr_actionmap_item_find(XrActionMap *actionmap, const char *name);
1793 
1795  const char *name,
1796  bool replace_existing);
1802  XrActionMapBinding *amb_src);
1805 #endif /* WITH_XR_OPENXR */
1806 
1807 #ifdef __cplusplus
1808 }
1809 #endif
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NORETURN
#define ATTR_NONNULL(...)
void BLI_kdtree_nd_() free(KDTree *tree)
Definition: kdtree_impl.h:102
size_t ATTR_PRINTF_FORMAT(3, 4)
unsigned int uint
Definition: BLI_sys_types.h:67
#define ENUM_OPERATORS(_type, _max)
ID_Type
Definition: DNA_ID_enums.h:44
eXrOpFlag
Definition: DNA_xr_types.h:73
eXrAxisFlag
Definition: DNA_xr_types.h:100
eXrActionType
Definition: DNA_xr_types.h:64
eXrActionFlag
Definition: DNA_xr_types.h:79
eXrHapticFlag
Definition: DNA_xr_types.h:84
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble y1
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble x2
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
void(* StringPropertySearchVisitFunc)(void *visit_user_data, const StringPropertySearchVisitParams *params)
Definition: RNA_types.h:568
#define C
Definition: RandGen.cpp:25
void WM_menutype_freelink(struct MenuType *mt)
Definition: wm_menu_type.c:58
int WM_operator_call_ex(struct bContext *C, struct wmOperator *op, bool store)
void WM_job_main_thread_lock_acquire(struct wmJob *job)
Definition: wm_jobs.c:134
struct MenuType * WM_menutype_find(const char *idname, bool quiet)
Definition: wm_menu_type.c:30
bool WM_operator_check_ui_enabled(const struct bContext *C, const char *idname)
void WM_gesture_end(struct wmWindow *win, struct wmGesture *gesture)
Definition: wm_gesture.c:86
void WM_operator_properties_gesture_box_ex(struct wmOperatorType *ot, bool deselect, bool extend)
struct uiListType * WM_uilisttype_find(const char *idname, bool quiet)
void WM_operator_properties_mouse_select(struct wmOperatorType *ot)
void WM_drag_add_local_ID(struct wmDrag *drag, struct ID *id, struct ID *from_parent)
Definition: wm_dragdrop.cc:508
struct wmEventHandler_Keymap * WM_event_add_keymap_handler_priority(ListBase *handlers, wmKeyMap *keymap, int priority)
void WM_operator_properties_reset(struct wmOperator *op)
Definition: wm_operators.c:757
bool WM_event_is_tablet(const struct wmEvent *event)
eFileSel_Flag
Definition: WM_api.h:751
@ WM_FILESEL_FILES
Definition: WM_api.h:756
@ WM_FILESEL_DIRECTORY
Definition: WM_api.h:753
@ WM_FILESEL_RELPATH
Definition: WM_api.h:752
@ WM_FILESEL_SHOW_PROPS
Definition: WM_api.h:758
@ WM_FILESEL_FILEPATH
Definition: WM_api.h:755
@ WM_FILESEL_FILENAME
Definition: WM_api.h:754
struct WorkSpaceLayout * WM_window_get_active_layout(const struct wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
void WM_operator_properties_filesel(struct wmOperatorType *ot, int filter, short type, eFileSel_Action action, eFileSel_Flag flag, short display, short sort)
wmWindow * WM_window_find_under_cursor(wmWindow *win, const int mval[2], int r_mval[2])
Definition: wm_window.c:1904
void WM_operator_properties_clear(struct PointerRNA *ptr)
Definition: wm_operators.c:774
struct ID * WM_operator_properties_id_lookup_from_name_or_session_uuid(struct Main *bmain, PointerRNA *ptr, enum ID_Type type)
void WM_generic_user_data_free(struct wmGenericUserData *wm_userdata)
Definition: wm_utils.c:45
bool WM_window_is_temp_screen(const struct wmWindow *win) ATTR_WARN_UNUSED_RESULT
void WM_operatortype_last_properties_clear_all(void)
int WM_menu_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_jobs_kill_all_except(struct wmWindowManager *wm, const void *owner)
Definition: wm_jobs.c:563
ID * WM_operator_drop_load_path(struct bContext *C, struct wmOperator *op, short idcode)
void WM_cursor_modal_set(struct wmWindow *win, int val)
Definition: wm_cursors.c:191
void WM_window_set_active_screen(struct wmWindow *win, struct WorkSpace *workspace, struct bScreen *screen) ATTR_NONNULL(1)
Definition: wm_window.c:2306
struct wmEventHandler_UI * WM_event_add_ui_handler(const struct bContext *C, ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn, void *user_data, char flag)
bool write_crash_blend(void)
Definition: wm_files.c:1710
void WM_drag_free_imported_drag_ID(struct Main *bmain, struct wmDrag *drag, struct wmDropBox *drop)
Free asset ID imported for canceled drop.
Definition: wm_dragdrop.cc:686
void WM_draw_cb_exit(struct wmWindow *win, void *handle)
Definition: wm_draw.c:574
int WM_operator_flag_only_pass_through_on_press(int retval, const struct wmEvent *event)
bool WM_cursor_test_motion_and_update(const int mval[2]) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
bool WM_operator_pystring_abbreviate(char *str, int str_len_max)
Definition: wm_operators.c:272
const ListBase * WM_drag_asset_list_get(const wmDrag *drag)
Definition: wm_dragdrop.cc:748
char * WM_operator_pystring(struct bContext *C, struct wmOperator *op, bool all_args, bool macro_args)
Definition: wm_operators.c:267
void WM_main_playanim(int argc, const char **argv)
Definition: wm_playanim.c:1846
int WM_event_drag_threshold(const struct wmEvent *event)
struct wmDragAsset * WM_drag_get_asset_data(const struct wmDrag *drag, int idcode)
void WM_init(struct bContext *C, int argc, const char **argv)
Definition: wm_init_exit.c:212
struct ViewLayer * WM_windows_view_layer_get_from_screen(const struct wmWindowManager *wm, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
int WM_operator_call_notest(struct bContext *C, struct wmOperator *op)
int WM_gesture_straightline_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_window_set_active_workspace(struct bContext *C, struct wmWindow *win, struct WorkSpace *workspace) ATTR_NONNULL(1)
Definition: wm_window.c:2271
void WM_operatortype_props_advanced_end(struct wmOperatorType *ot)
void WM_operator_properties_gesture_box(struct wmOperatorType *ot)
int WM_operator_confirm_message(struct bContext *C, struct wmOperator *op, const char *message)
int WM_gesture_lines_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
int WM_gesture_circle_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
int WM_operator_props_popup(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void * WM_jobs_customdata_get(struct wmJob *)
Definition: wm_jobs.c:315
void WM_menu_name_call(struct bContext *C, const char *menu_name, short context)
bool WM_operator_last_properties_init(struct wmOperator *op)
Definition: wm_operators.c:839
void WM_event_start_drag(struct bContext *C, int icon, int type, void *poin, double value, unsigned int flags)
Definition: wm_dragdrop.cc:237
bool WM_jobs_has_running_type(const struct wmWindowManager *wm, int job_type)
Definition: wm_jobs.c:710
void * WM_opengl_context_create(void)
Definition: wm_window.c:2353
void WM_clipboard_text_set(const char *buf, bool selection)
Definition: wm_window.c:1780
char * WM_operatortype_description(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *properties)
void WM_gesture_circle_cancel(struct bContext *C, struct wmOperator *op)
void() wmEventHandler_KeymapDynamicFn(wmWindowManager *wm, struct wmWindow *win, struct wmEventHandler_Keymap *handler, struct wmEventHandler_KeymapResult *km_result)
Definition: WM_api.h:339
int WM_event_drag_direction(const wmEvent *event)
void WM_report_banners_cancel(struct Main *bmain)
struct ARegion *(* wmTooltipInitFn)(struct bContext *C, struct ARegion *region, int *pass, double *r_pass_delay, bool *r_exit_on_event)
Definition: WM_api.h:1613
eWindowAlignment
Definition: WM_api.h:216
@ WIN_ALIGN_LOCATION_CENTER
Definition: WM_api.h:218
@ WIN_ALIGN_ABSOLUTE
Definition: WM_api.h:217
@ WIN_ALIGN_PARENT_CENTER
Definition: WM_api.h:219
void WM_event_remove_keymap_handler(ListBase *handlers, wmKeyMap *keymap)
void WM_operatortype_iter(struct GHashIterator *ghi)
const char * WM_uilisttype_list_id_get(const struct uiListType *ult, struct uiList *list)
void WM_set_locked_interface(struct wmWindowManager *wm, bool lock)
void WM_window_set_active_layout(struct wmWindow *win, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) ATTR_NONNULL(1)
Definition: wm_window.c:2295
bool WM_window_is_fullscreen(const struct wmWindow *win)
int WM_operator_confirm(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_jobs_timer(struct wmJob *, double timestep, unsigned int note, unsigned int endnote)
Definition: wm_jobs.c:339
void WM_event_get_keymaps_from_handler(wmWindowManager *wm, struct wmWindow *win, struct wmEventHandler_Keymap *handler, struct wmEventHandler_KeymapResult *km_result)
void WM_operator_type_modal_from_exec_for_object_edit_coords(struct wmOperatorType *ot)
wmOperator * WM_operator_find_modal_by_type(wmWindow *win, const wmOperatorType *ot)
bool WM_paint_cursor_end(struct wmPaintCursor *handle)
void WM_event_start_prepared_drag(struct bContext *C, wmDrag *drag)
Definition: wm_dragdrop.cc:229
float WM_jobs_progress(const struct wmWindowManager *wm, const void *owner)
int WM_operator_properties_select_random_seed_increment_get(wmOperator *op)
void * WM_jobs_customdata_from_type(struct wmWindowManager *wm, const void *owner, int job_type)
Definition: wm_jobs.c:293
void WM_operator_last_properties_ensure(struct wmOperatorType *ot, struct PointerRNA *ptr)
bool WM_operator_properties_checker_interval_test(const struct CheckerIntervalParams *op_params, int depth)
size_t WM_operator_bl_idname(char *dst, const char *src) ATTR_NONNULL(1
void WM_cursor_set(struct wmWindow *win, int curs)
Definition: wm_cursors.c:126
const char * WM_drag_get_item_name(struct wmDrag *drag)
Definition: wm_dragdrop.cc:787
void WM_init_state_normal_set(void)
Definition: wm_window.c:2006
void WM_main_add_notifier(unsigned int type, void *reference)
int WM_userdef_event_map(int kmitype)
bool WM_operator_is_repeat(const struct bContext *C, const struct wmOperator *op)
void WM_jobs_delay_start(struct wmJob *, double delay_time)
Definition: wm_jobs.c:346
void WM_uilisttype_remove_ptr(struct Main *bmain, struct uiListType *ult)
size_t size_t bool WM_operator_py_idname_ok_or_report(struct ReportList *reports, const char *classname, const char *idname)
Definition: wm_operators.c:144
bool WM_window_modal_keymap_status_draw(struct bContext *C, struct wmWindow *win, struct uiLayout *layout)
bool WM_file_recover_last_session(struct bContext *C, struct ReportList *reports)
Definition: wm_files.c:2883
void WM_operator_handlers_clear(wmWindowManager *wm, struct wmOperatorType *ot)
Definition: wm.c:401
void WM_paneltype_init(void)
Definition: wm_panel_type.c:58
char * WM_clipboard_text_get_firstline(bool selection, int *r_len)
Definition: wm_window.c:1775
char * WM_operator_pystring_ex(struct bContext *C, struct wmOperator *op, bool all_args, bool macro_args, struct wmOperatorType *ot, struct PointerRNA *opptr)
Definition: wm_operators.c:192
uint * WM_window_pixels_read(struct wmWindowManager *wm, struct wmWindow *win, int r_size[2])
Definition: wm_window.c:1953
int WM_operator_ui_popup(struct bContext *C, struct wmOperator *op, int width)
void WM_opengl_context_activate(void *context)
Definition: wm_window.c:2380
char * WM_operatortype_description_or_name(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *properties)
int WM_gesture_box_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_operator_properties_use_cursor_init(struct wmOperatorType *ot)
struct ID * WM_file_link_datablock(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, struct View3D *v3d, const char *filepath, short id_code, const char *id_name, int flag)
void WM_main(struct bContext *C) ATTR_NORETURN
Definition: wm.c:622
int WM_operator_filesel(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
wmKeyMapItem * WM_event_match_keymap_item_from_handlers(struct bContext *C, struct wmWindowManager *wm, struct wmWindow *win, struct ListBase *handlers, const struct wmEvent *event)
bool WM_drag_asset_will_import_linked(const wmDrag *drag)
Definition: wm_dragdrop.cc:657
void WM_event_print(const struct wmEvent *event)
void WM_cursor_time(struct wmWindow *win, int nr)
Definition: wm_cursors.c:317
const char * WM_init_state_app_template_get(void)
Definition: wm_files.c:1037
bool WM_paneltype_add(struct PanelType *pt)
Definition: wm_panel_type.c:44
bool WM_operator_poll_context(struct bContext *C, struct wmOperatorType *ot, short context)
void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op)
void WM_window_rect_calc(const struct wmWindow *win, struct rcti *r_rect)
struct wmJob * WM_jobs_get(struct wmWindowManager *wm, struct wmWindow *win, const void *owner, const char *name, int flag, int job_type)
Definition: wm_jobs.c:184
struct wmEventHandler_Keymap * WM_event_add_keymap_handler_dynamic(ListBase *handlers, wmEventHandler_KeymapDynamicFn *keymap_fn, void *user_data)
struct WorkSpace * WM_window_get_active_workspace(const struct wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
void WM_main_remap_editor_id_reference(const struct IDRemapper *mappings)
void wmOrtho2_pixelspace(float x, float y)
Definition: wm_subwindow.c:108
void WM_progress_set(struct wmWindow *win, float progress)
Definition: wm_window.c:1825
void WM_windows_scene_data_sync(const ListBase *win_lb, struct Scene *scene) ATTR_NONNULL()
Definition: wm_window.c:2142
bool WM_operator_poll(struct bContext *C, struct wmOperatorType *ot)
void WM_event_remove_ui_handler(ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn, void *user_data, bool postpone)
void WM_event_get_keymap_from_toolsystem_with_gizmos(struct wmWindowManager *wm, struct wmWindow *win, struct wmEventHandler_Keymap *handler, wmEventHandler_KeymapResult *km_result)
void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference)
void WM_operatortype_append_macro_ptr(void(*opfunc)(struct wmOperatorType *, void *), void *userdata)
bool WM_operator_properties_id_lookup_is_set(PointerRNA *ptr)
void WM_operator_region_active_win_set(struct bContext *C)
void WM_event_drag_start_mval_fl(const wmEvent *event, const ARegion *region, float r_mval[2])
void WM_operator_free_all_after(wmWindowManager *wm, struct wmOperator *op)
Definition: wm.c:325
void WM_operator_properties_select_action(struct wmOperatorType *ot, int default_action, bool hide_gui)
void WM_operator_properties_select_all(struct wmOperatorType *ot)
void WM_report(eReportType type, const char *message)
wmDrag * WM_drag_data_create(struct bContext *C, int icon, int type, void *poin, double value, unsigned int flags)
Definition: wm_dragdrop.cc:177
bool WM_event_is_mouse_drag(const struct wmEvent *event)
void WM_operator_properties_select_action_simple(struct wmOperatorType *ot, int default_action, bool hide_gui)
void WM_window_status_area_tag_redraw(struct wmWindow *win)
void WM_report_banner_show(void)
bool WM_operator_check_ui_empty(struct wmOperatorType *ot)
void WM_menutype_idname_visit_for_search(const struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, const char *edit_text, StringPropertySearchVisitFunc visit_fn, void *visit_user_data)
bool WM_jobs_test(const struct wmWindowManager *wm, const void *owner, int job_type)
const char * WM_window_cursor_keymap_status_get(const struct wmWindow *win, int button_index, int type_index)
void(* wm_jobs_start_callback)(void *custom_data, short *stop, short *do_update, float *progress)
Definition: WM_api.h:1412
void wmGetProjectionMatrix(float mat[4][4], const struct rcti *winrct)
void WM_gesture_straightline_cancel(struct bContext *C, struct wmOperator *op)
void WM_reportf(eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(2
int WM_operator_call(struct bContext *C, struct wmOperator *op)
struct wmTimer * WM_event_add_timer_notifier(struct wmWindowManager *wm, struct wmWindow *win, unsigned int type, double timestep)
Definition: wm_window.c:1647
size_t size_t WM_operator_py_idname(char *dst, const char *src) ATTR_NONNULL(1
void WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring)
Definition: wm_operators.c:667
void WM_event_remove_timer(struct wmWindowManager *wm, struct wmWindow *win, struct wmTimer *timer)
void(* wmUIHandlerRemoveFunc)(struct bContext *C, void *userdata)
Definition: WM_api.h:379
void WM_operator_properties_select_operation_simple(struct wmOperatorType *ot)
void WM_operatortype_append(void(*opfunc)(struct wmOperatorType *))
@ WM_HANDLER_BLOCKING
Definition: WM_api.h:431
@ WM_HANDLER_DO_FREE
Definition: WM_api.h:435
@ WM_HANDLER_ACCEPT_DBL_CLICK
Definition: WM_api.h:432
bool WM_operator_name_poll(struct bContext *C, const char *opstring)
void WM_menutype_iter(struct GHashIterator *ghi)
Definition: wm_menu_type.c:46
bool WM_event_drag_test(const struct wmEvent *event, const int prev_xy[2])
void wmOrtho2(float x1, float x2, float y1, float y2)
Definition: wm_subwindow.c:84
int WM_event_absolute_delta_y(const struct wmEvent *event)
int WM_operator_name_call(struct bContext *C, const char *opstring, wmOperatorCallContext context, struct PointerRNA *properties, const wmEvent *event)
void WM_paint_cursor_tag_redraw(struct wmWindow *win, struct ARegion *region)
void WM_jobs_kill_all(struct wmWindowManager *wm)
Definition: wm_jobs.c:551
void WM_operator_properties_select_walk_direction(struct wmOperatorType *ot)
char * WM_prop_pystring_assign(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int index)
Definition: wm_operators.c:636
void WM_event_tablet_data_default_set(struct wmTabletData *tablet_data)
void WM_opengl_context_release(void *context)
Definition: wm_window.c:2386
int WM_enum_search_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_jobs_kill_type(struct wmWindowManager *wm, const void *owner, int job_type)
Definition: wm_jobs.c:572
bool WM_gesture_is_modal_first(const struct wmGesture *gesture)
void WM_event_set_keymap_handler_post_callback(struct wmEventHandler_Keymap *handler, void(keymap_tag)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data), void *user_data)
void WM_init_splash(struct bContext *C)
Definition: wm_init_exit.c:366
int WM_gesture_circle_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_paneltype_idname_visit_for_search(const struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, const char *edit_text, StringPropertySearchVisitFunc visit_fn, void *visit_user_data)
bool WM_cursor_set_from_tool(struct wmWindow *win, const ScrArea *area, const ARegion *region)
Definition: wm_cursors.c:174
bool WM_jobs_is_stopped(const wmWindowManager *wm, const void *owner)
Definition: wm_jobs.c:309
int WM_gesture_straightline_active_side_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
int WM_operator_smooth_viewtx_get(const struct wmOperator *op)
int WM_operator_repeat_last(struct bContext *C, struct wmOperator *op)
void wmPartialViewport(rcti *drawrct, const rcti *winrct, const rcti *partialrct)
Definition: wm_subwindow.c:33
bool WM_operator_filesel_ensure_ext_imtype(wmOperator *op, const struct ImageFormatData *im_format)
void WM_init_state_app_template_set(const char *app_template)
Definition: wm_files.c:1025
char * WM_context_path_resolve_full(struct bContext *C, const PointerRNA *ptr)
Definition: wm_operators.c:617
struct ID * WM_drag_get_local_ID_from_event(const struct wmEvent *event, short idcode)
void WM_operator_properties_gesture_straightline(struct wmOperatorType *ot, int cursor)
void WM_lib_reload(struct Library *lib, struct bContext *C, struct ReportList *reports)
void WM_event_add_notifier_ex(struct wmWindowManager *wm, const struct wmWindow *win, unsigned int type, void *reference)
void WM_operator_properties_generic_select(struct wmOperatorType *ot)
ID * WM_drag_asset_id_import(wmDragAsset *asset_drag, int flag_extra)
Definition: wm_dragdrop.cc:608
void WM_gesture_lines_cancel(struct bContext *C, struct wmOperator *op)
struct wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_event_remove_area_handler(struct ListBase *handlers, void *area)
@ WM_JOB_EXCL_RENDER
Definition: WM_api.h:1338
@ WM_JOB_PROGRESS
Definition: WM_api.h:1339
@ WM_JOB_PRIORITY
Definition: WM_api.h:1337
struct ID * WM_drag_get_local_ID(const struct wmDrag *drag, short idcode)
int WM_operator_redo_popup(struct bContext *C, struct wmOperator *op)
void WM_tooltip_timer_init(struct bContext *C, struct wmWindow *win, struct ScrArea *area, struct ARegion *region, wmTooltipInitFn init)
Definition: wm_tooltip.c:62
void WM_init_native_pixels(bool do_it)
Definition: wm_window.c:2023
struct wmDragAssetCatalog * WM_drag_get_asset_catalog_data(const struct wmDrag *drag)
void WM_init_state_maximized_set(void)
Definition: wm_window.c:2012
void WM_operatortype_remove_ptr(struct wmOperatorType *ot)
void WM_window_set_dpi(const wmWindow *win)
Definition: wm_window.c:447
struct Scene * WM_window_get_active_scene(const struct wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
void WM_jobs_customdata_set(struct wmJob *, void *customdata, void(*free)(void *))
Definition: wm_jobs.c:323
double WM_tooltip_time_closed(void)
Definition: wm_tooltip.c:26
struct wmEventHandler_Op * WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op)
void WM_event_drag_image(struct wmDrag *, struct ImBuf *, float scale)
Definition: wm_dragdrop.cc:288
void WM_operator_properties_free(struct PointerRNA *ptr)
Definition: wm_operators.c:783
bool WM_jobs_has_running(const struct wmWindowManager *wm)
void WM_redraw_windows(struct bContext *C)
Definition: wm_draw.c:1380
void WM_menutype_free(void)
Definition: wm_menu_type.c:72
void WM_cursor_wait(bool val)
Definition: wm_cursors.c:209
void WM_window_set_active_view_layer(struct wmWindow *win, struct ViewLayer *view_layer) ATTR_NONNULL(1)
Definition: wm_window.c:2237
bool WM_uilisttype_add(struct uiListType *ult)
void WM_operator_properties_select_operation(struct wmOperatorType *ot)
void WM_cursor_modal_restore(struct wmWindow *win)
Definition: wm_cursors.c:200
void WM_tooltip_init(struct bContext *C, struct wmWindow *win)
Definition: wm_tooltip.c:95
struct ID * WM_drag_get_local_ID_or_import_from_asset(const struct wmDrag *drag, int idcode)
void WM_draw_region_viewport_bind(struct ARegion *region)
Definition: wm_draw.c:1411
void WM_script_tag_reload(void)
Definition: wm_init_exit.c:663
int WM_gesture_box_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_cursor_grab_disable(struct wmWindow *win, const int mouse_ungrab_xy[2])
Definition: wm_cursors.c:263
void WM_tooltip_timer_init_ex(struct bContext *C, struct wmWindow *win, struct ScrArea *area, struct ARegion *region, wmTooltipInitFn init, double delay)
Definition: wm_tooltip.c:46
void struct wmEvent struct wmEvent * wm_event_add(struct wmWindow *win, const struct wmEvent *event_to_add) ATTR_NONNULL(1
void WM_drag_data_free(int dragtype, void *poin)
Definition: wm_dragdrop.cc:294
void WM_operator_properties_sanitize(struct PointerRNA *ptr, bool no_context)
Definition: wm_operators.c:701
void * WM_draw_cb_activate(struct wmWindow *win, void(*draw)(const struct wmWindow *, void *), void *customdata)
Definition: wm_draw.c:561
char * WM_clipboard_text_get(bool selection, int *r_len)
Definition: wm_window.c:1770
struct wmGenericCallback * WM_generic_callback_steal(struct wmGenericCallback *callback)
Definition: wm_utils.c:30
int WM_gesture_lasso_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_generic_callback_free(struct wmGenericCallback *callback)
Definition: wm_utils.c:18
void WM_drag_free_list(struct ListBase *lb)
Definition: wm_dragdrop.cc:333
void WM_window_cursor_keymap_status_refresh(struct bContext *C, struct wmWindow *win)
void WM_event_remove_timer_notifier(struct wmWindowManager *wm, struct wmWindow *win, struct wmTimer *timer)
Definition: wm_window.c:1713
struct WorkSpace * WM_windows_workspace_get_from_screen(const wmWindowManager *wm, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
void WM_jobs_callbacks_ex(wmJob *wm_job, wm_jobs_start_callback startjob, void(*initjob)(void *), void(*update)(void *), void(*endjob)(void *), void(*completed)(void *), void(*canceled)(void *))
Definition: wm_jobs.c:360
struct Scene * WM_windows_scene_get_from_screen(const struct wmWindowManager *wm, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
wmDragAsset * WM_drag_create_asset_data(const struct AssetHandle *asset, struct AssetMetaData *metadata, const char *path, int import_type)
bool WM_stereo3d_enabled(struct wmWindow *win, bool only_fullscreen_test)
Definition: wm_stereo.c:141
void WM_operatortype_append_ptr(void(*opfunc)(struct wmOperatorType *, void *), void *userdata)
void WM_gestures_remove(struct wmWindow *win)
Definition: wm_gesture.c:101
void WM_file_tag_modified(void)
Definition: wm_files.c:150
struct AssetMetaData * WM_drag_get_asset_meta_data(const struct wmDrag *drag, int idcode)
void WM_file_autoexec_init(const char *filepath)
Definition: wm_files.c:559
struct wmPaintCursor * WM_paint_cursor_activate(short space_type, short region_type, bool(*poll)(struct bContext *C), void(*draw)(struct bContext *C, int, int, void *customdata), void *customdata)
int WM_operator_props_popup_call(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_draw_region_free(struct ARegion *region, bool hide)
Definition: wm_draw.c:1360
void WM_event_drag_start_mval(const wmEvent *event, const ARegion *region, int r_mval[2])
bool WM_operator_properties_default(struct PointerRNA *ptr, bool do_update)
Definition: wm_operators.c:730
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
Definition: wm_dragdrop.cc:76
void WM_operator_free(struct wmOperator *op)
Definition: wm.c:290
void WM_operator_type_set(struct wmOperator *op, struct wmOperatorType *ot)
Definition: wm.c:336
void WM_drag_free(struct wmDrag *drag)
Definition: wm_dragdrop.cc:311
struct PanelType * WM_paneltype_find(const char *idname, bool quiet)
Definition: wm_panel_type.c:28
double WM_jobs_starttime(const struct wmWindowManager *wm, const void *owner)
struct wmDropBox * WM_dropbox_add(ListBase *lb, const char *idname, bool(*poll)(struct bContext *, struct wmDrag *, const struct wmEvent *event), void(*copy)(struct bContext *, struct wmDrag *, struct wmDropBox *), void(*cancel)(struct Main *, struct wmDrag *, struct wmDropBox *), WMDropboxTooltipFunc tooltip)
struct ViewLayer * WM_window_get_active_view_layer(const struct wmWindow *win) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
eFileSel_Action
Definition: WM_api.h:763
@ FILE_OPENFILE
Definition: WM_api.h:764
@ FILE_SAVE
Definition: WM_api.h:765
void WM_operator_properties_create_ptr(struct PointerRNA *ptr, struct wmOperatorType *ot)
Definition: wm_operators.c:661
int WM_window_pixels_x(const struct wmWindow *win)
bool(* EventHandlerPoll)(const ARegion *region, const struct wmEvent *event)
Definition: WM_api.h:320
void WM_operatortype_props_advanced_begin(struct wmOperatorType *ot)
void WM_init_opengl(void)
Definition: wm_init_exit.c:162
void WM_window_set_active_scene(struct Main *bmain, struct bContext *C, struct wmWindow *win, struct Scene *scene_new) ATTR_NONNULL()
Definition: wm_window.c:2188
void WM_event_timer_sleep(struct wmWindowManager *wm, struct wmWindow *win, struct wmTimer *timer, bool do_sleep)
int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, wmOperatorCallContext context, struct PointerRNA *properties, struct ReportList *reports, bool is_undo)
bool WM_window_is_maximized(const struct wmWindow *win)
void WM_init_state_size_set(int stax, int stay, int sizx, int sizy)
Definition: wm_window.c:1991
void WM_opengl_context_dispose(void *context)
Definition: wm_window.c:2374
int WM_gesture_straightline_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_gesture_lasso_cancel(struct bContext *C, struct wmOperator *op)
void WM_operator_properties_border_to_rcti(struct wmOperator *op, struct rcti *rect)
struct wmEventHandler_Keymap * WM_event_add_keymap_handler_poll(ListBase *handlers, wmKeyMap *keymap, EventHandlerPoll poll)
void WM_exit_ex(struct bContext *C, bool do_python)
Definition: wm_init_exit.c:434
void WM_operator_properties_gesture_box_zoom(struct wmOperatorType *ot)
int WM_gesture_lines_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
@ WM_JOB_TYPE_DPAINT_BAKE
Definition: WM_api.h:1365
@ WM_JOB_TYPE_SEQ_BUILD_PROXY
Definition: WM_api.h:1362
@ WM_JOB_TYPE_SEQ_DRAG_DROP_PREVIEW
Definition: WM_api.h:1375
@ WM_JOB_TYPE_COMPOSITE
Definition: WM_api.h:1348
@ WM_JOB_TYPE_OBJECT_BAKE
Definition: WM_api.h:1356
@ WM_JOB_TYPE_LIGHT_BAKE
Definition: WM_api.h:1369
@ WM_JOB_TYPE_QUADRIFLOW_REMESH
Definition: WM_api.h:1371
@ WM_JOB_TYPE_RENDER_PREVIEW
Definition: WM_api.h:1350
@ WM_JOB_TYPE_POINTCACHE
Definition: WM_api.h:1364
@ WM_JOB_TYPE_FSMENU_BOOKMARK_VALIDATE
Definition: WM_api.h:1370
@ WM_JOB_TYPE_SEQ_DRAW_THUMBNAIL
Definition: WM_api.h:1374
@ WM_JOB_TYPE_CLIP_BUILD_PROXY
Definition: WM_api.h:1358
@ WM_JOB_TYPE_TRACE_IMAGE
Definition: WM_api.h:1372
@ WM_JOB_TYPE_CLIP_PREFETCH
Definition: WM_api.h:1361
@ WM_JOB_TYPE_SEQ_BUILD_PREVIEW
Definition: WM_api.h:1363
@ WM_JOB_TYPE_RENDER
Definition: WM_api.h:1349
@ WM_JOB_TYPE_LOAD_PREVIEW
Definition: WM_api.h:1352
@ WM_JOB_TYPE_LINEART
Definition: WM_api.h:1373
@ WM_JOB_TYPE_ANY
Definition: WM_api.h:1347
@ WM_JOB_TYPE_OBJECT_SIM_OCEAN
Definition: WM_api.h:1353
@ WM_JOB_TYPE_STUDIOLIGHT
Definition: WM_api.h:1368
@ WM_JOB_TYPE_CLIP_SOLVE_CAMERA
Definition: WM_api.h:1360
@ WM_JOB_TYPE_FILESEL_READDIR
Definition: WM_api.h:1357
@ WM_JOB_TYPE_CLIP_TRACK_MARKERS
Definition: WM_api.h:1359
@ WM_JOB_TYPE_SHADER_COMPILATION
Definition: WM_api.h:1367
@ WM_JOB_TYPE_ALEMBIC
Definition: WM_api.h:1366
@ WM_JOB_TYPE_OBJECT_SIM_FLUID
Definition: WM_api.h:1354
@ WM_JOB_TYPE_OBJECT_BAKE_TEXTURE
Definition: WM_api.h:1355
void WM_tooltip_clear(struct bContext *C, struct wmWindow *win)
Definition: wm_tooltip.c:80
bool WM_event_drag_test_with_delta(const struct wmEvent *event, const int delta[2])
int(* wmUIHandlerFunc)(struct bContext *C, const struct wmEvent *event, void *userdata)
Definition: WM_api.h:378
void WM_menutype_init(void)
Definition: wm_menu_type.c:66
void WM_event_modal_handler_area_replace(wmWindow *win, const struct ScrArea *old_area, struct ScrArea *new_area)
void WM_jobs_callbacks(struct wmJob *, wm_jobs_start_callback startjob, void(*initjob)(void *), void(*update)(void *), void(*endjob)(void *))
Definition: wm_jobs.c:351
int WM_operator_props_popup_confirm(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_exit(struct bContext *C) ATTR_NORETURN
Main exit function to close Blender ordinarily.
Definition: wm_init_exit.c:646
void WM_event_remove_handlers(struct bContext *C, ListBase *handlers)
void WM_operator_stack_clear(struct wmWindowManager *wm)
Definition: wm.c:390
void wmOrtho2_region_pixelspace(const struct ARegion *region)
bool WM_region_use_viewport(struct ScrArea *area, struct ARegion *region)
Definition: wm_draw.c:509
void WM_drag_draw_item_name_fn(struct bContext *C, struct wmWindow *win, struct wmDrag *drag, const int xy[2])
int WM_enum_search_invoke_previews(struct bContext *C, struct wmOperator *op, short prv_cols, short prv_rows)
void WM_operatortype_idname_visit_for_search(const struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, StringPropertySearchVisitFunc visit_fn, void *visit_user_data)
void WM_operator_properties_gesture_circle(struct wmOperatorType *ot)
const int(* WM_gesture_lasso_path_to_array(struct bContext *C, struct wmOperator *op, int *mcoords_len))[2]
void WM_main_remove_notifier_reference(const void *reference)
struct ID * WM_file_append_datablock(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, struct View3D *v3d, const char *filepath, short id_code, const char *id_name, int flag)
void WM_cursor_grab_enable(struct wmWindow *win, int wrap, bool hide, int bounds[4])
Definition: wm_cursors.c:226
struct bScreen * WM_window_get_active_screen(const struct wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
int WM_operator_repeat(struct bContext *C, struct wmOperator *op)
void WM_operator_properties_confirm_or_exec(struct wmOperatorType *ot)
void WM_event_drag_start_xy(const wmEvent *event, int r_xy[2])
bool WM_file_read(struct bContext *C, const char *filepath, struct ReportList *reports)
Definition: wm_files.c:900
void WM_operator_properties_border_to_rctf(struct wmOperator *op, rctf *rect)
void WM_window_pixel_sample_read(const wmWindowManager *wm, const wmWindow *win, const int pos[2], float r_col[3])
Definition: wm_window.c:1922
int WM_gesture_straightline_oneshot_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_jobs_stop(struct wmWindowManager *wm, const void *owner, void *startjob)
Definition: wm_jobs.c:583
void WM_operator_properties_gesture_lasso(struct wmOperatorType *ot)
void WM_file_autosave_init(struct wmWindowManager *wm)
Definition: wm_files.c:1984
void struct wmEvent * wm_event_add_ex(struct wmWindow *win, const struct wmEvent *event_to_add, const struct wmEvent *event_to_add_after) ATTR_NONNULL(1
void WM_operator_properties_checker_interval(struct wmOperatorType *ot, bool nth_can_disable)
void WM_operator_properties_id_lookup(wmOperatorType *ot, const bool add_name_prop)
void WM_uilisttype_free(void)
void WM_paneltype_remove(struct PanelType *pt)
Definition: wm_panel_type.c:50
bool WM_jobs_is_running(const struct wmJob *wm_job)
void WM_cursor_warp(struct wmWindow *win, int x, int y)
Definition: wm_window.c:2054
void WM_window_ensure_active_view_layer(struct wmWindow *win) ATTR_NONNULL(1)
Definition: wm_window.c:2255
bool WM_menutype_add(struct MenuType *mt)
Definition: wm_menu_type.c:51
struct wmEventHandler_Keymap * WM_event_add_keymap_handler_v2d_mask(ListBase *handlers, wmKeyMap *keymap)
struct wmEventHandler_KeymapResult wmEventHandler_KeymapResult
void WM_check(struct bContext *C)
Definition: wm.c:472
void wmWindowViewport(struct wmWindow *win)
Definition: wm_subwindow.c:72
struct wmEventHandler_Dropbox * WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes)
void wmViewport(const struct rcti *winrct)
char * WM_context_path_resolve_property_full(const struct bContext *C, const PointerRNA *ptr, PropertyRNA *prop, int index)
int WM_menu_invoke_ex(struct bContext *C, struct wmOperator *op, wmOperatorCallContext opcontext)
void WM_window_screen_rect_calc(const struct wmWindow *win, struct rcti *r_rect)
const char * WM_operatortype_name(struct wmOperatorType *ot, struct PointerRNA *properties)
void WM_paint_cursor_remove_by_type(struct wmWindowManager *wm, void *draw_fn, void(*free)(void *))
IDProperty * WM_operator_last_properties_ensure_idprops(struct wmOperatorType *ot)
void WM_operator_properties_checker_interval_from_op(struct wmOperator *op, struct CheckerIntervalParams *op_params)
struct wmOperatorType * WM_operatortype_append_macro(const char *idname, const char *name, const char *description, int flag)
float WM_event_tablet_data(const struct wmEvent *event, int *pen_flip, float tilt[2])
bool WM_menutype_poll(struct bContext *C, struct MenuType *mt)
Definition: wm_menu_type.c:87
void WM_init_input_devices(void)
Definition: wm_window.c:2034
void WM_tooltip_timer_clear(struct bContext *C, struct wmWindow *win)
Definition: wm_tooltip.c:68
bool WM_event_is_mouse_drag_or_press(const wmEvent *event)
void WM_tooltip_immediate_init(struct bContext *C, struct wmWindow *win, struct ScrArea *area, struct ARegion *region, wmTooltipInitFn init)
Definition: wm_tooltip.c:31
const char * WM_jobs_name(const struct wmWindowManager *wm, const void *owner)
int WM_generic_select_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
void WM_operator_properties_id_lookup_set_from_id(PointerRNA *ptr, const ID *id)
void WM_drag_draw_default_fn(struct bContext *C, struct wmWindow *win, struct wmDrag *drag, const int xy[2])
Definition: wm_dragdrop.cc:961
void WM_operator_properties_alloc(struct PointerRNA **ptr, struct IDProperty **properties, const char *opstring)
Definition: wm_operators.c:680
void WM_init_state_start_with_console_set(bool value)
Definition: wm_init_exit.c:148
void WM_event_get_keymap_from_toolsystem(struct wmWindowManager *wm, struct wmWindow *win, struct wmEventHandler_Keymap *handler, wmEventHandler_KeymapResult *km_result)
bool WM_operator_repeat_check(const struct bContext *C, struct wmOperator *op)
int WM_operator_name_call_with_properties(struct bContext *C, const char *opstring, wmOperatorCallContext context, struct IDProperty *properties, const wmEvent *event)
void WM_progress_clear(struct wmWindow *win)
Definition: wm_window.c:1833
void WM_event_modal_handler_region_replace(wmWindow *win, const struct ARegion *old_region, struct ARegion *new_region)
void struct wmEvent struct wmEvent void wm_event_init_from_window(struct wmWindow *win, struct wmEvent *event)
struct wmWindow * WM_window_open(struct bContext *C, const char *title, int x, int y, int sizex, int sizey, int space_type, bool toplevel, bool dialog, bool temp, eWindowAlignment alignment)
Definition: wm_window.c:721
int WM_userdef_event_type_from_keymap_type(int kmitype)
struct wmEventHandler_Keymap * WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap *keymap)
void WM_gesture_box_cancel(struct bContext *C, struct wmOperator *op)
void WM_job_main_thread_lock_release(struct wmJob *job)
Definition: wm_jobs.c:139
void WM_operator_properties_border(struct wmOperatorType *ot)
bool WM_operator_last_properties_store(struct wmOperator *op)
Definition: wm_operators.c:854
void WM_jobs_start(struct wmWindowManager *wm, struct wmJob *)
Definition: wm_jobs.c:437
int WM_operator_confirm_or_exec(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
struct GPUViewport * WM_draw_region_get_bound_viewport(struct ARegion *region)
Definition: wm_draw.c:856
void WM_drag_add_asset_list_item(wmDrag *drag, const struct bContext *C, const struct AssetLibraryReference *asset_library_ref, const struct AssetHandle *asset)
int WM_operator_props_dialog_popup(struct bContext *C, struct wmOperator *op, int width)
struct wmOperatorTypeMacro * WM_operatortype_macro_define(struct wmOperatorType *ot, const char *idname)
wmKeyMapItem * WM_event_match_keymap_item(struct bContext *C, wmKeyMap *keymap, const struct wmEvent *event)
struct wmGesture * WM_gesture_new(struct wmWindow *window, const struct ARegion *region, const struct wmEvent *event, int type)
void WM_event_free_ui_handler_all(struct bContext *C, ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn)
wmOperator * WM_operator_last_redo(const struct bContext *C)
void WM_init_state_fullscreen_set(void)
Definition: wm_window.c:2000
void WM_jobs_kill(struct wmWindowManager *wm, void *owner, void(*)(void *, short int *, short int *, float *))
Definition: wm_jobs.c:594
void WM_operator_name_call_ptr_with_depends_on_cursor(struct bContext *C, wmOperatorType *ot, wmOperatorCallContext opcontext, PointerRNA *properties, const wmEvent *event, const char *drawstr)
void WM_operator_properties_gesture_box_select(struct wmOperatorType *ot)
struct wmEvent * WM_event_add_simulate(struct wmWindow *win, const struct wmEvent *event_to_add)
void WM_init_window_focus_set(bool do_it)
Definition: wm_window.c:2018
void WM_reinit_gizmomap_all(struct Main *bmain)
void WM_draw_region_viewport_ensure(struct ARegion *region, short space_type)
Definition: wm_draw.c:1405
void WM_operator_properties_select_random(struct wmOperatorType *ot)
int WM_operator_name_call_ptr(struct bContext *C, struct wmOperatorType *ot, wmOperatorCallContext context, struct PointerRNA *properties, const wmEvent *event)
void WM_gestures_free_all(struct wmWindow *win)
Definition: wm_gesture.c:94
int WM_window_pixels_y(const struct wmWindow *win)
struct wmTimer * WM_event_add_timer(struct wmWindowManager *wm, struct wmWindow *win, int event_type, double timestep)
Definition: wm_window.c:1630
int WM_gesture_lasso_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
struct ScrArea * WM_window_status_area_find(struct wmWindow *win, struct bScreen *screen)
struct GPUViewport * WM_draw_region_get_viewport(struct ARegion *region)
Definition: wm_draw.c:846
char WM_event_utf8_to_ascii(const struct wmEvent *event) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
int WM_event_absolute_delta_x(const struct wmEvent *event)
void WM_draw_region_viewport_unbind(struct ARegion *region)
Definition: wm_draw.c:1416
bool WM_operator_winactive(struct bContext *C)
int WM_operator_confirm_message_ex(struct bContext *C, struct wmOperator *op, const char *title, int icon, const char *message, wmOperatorCallContext opcontext)
bool WM_drag_is_ID_type(const struct wmDrag *drag, int idcode)
void WM_operator_view3d_unit_defaults(struct bContext *C, struct wmOperator *op)
Definition: wm_operators.c:977
void WM_uilisttype_init(void)
bool WM_event_is_modal_drag_exit(const struct wmEvent *event, short init_event_type, short init_event_val)
bool WM_operatortype_remove(const char *idname)
void WM_tooltip_refresh(struct bContext *C, struct wmWindow *win)
Definition: wm_tooltip.c:131
void WM_event_fileselect_event(struct wmWindowManager *wm, void *ophandle, int eventval)
void WM_uilisttype_to_full_list_id(const struct uiListType *ult, const char *list_id, char r_full_list_id[])
void WM_paneltype_clear(void)
Definition: wm_panel_type.c:64
void WM_event_add_mousemove(wmWindow *win)
int WM_generic_select_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event)
char *(* WMDropboxTooltipFunc)(struct bContext *, struct wmDrag *, const int xy[2], struct wmDropBox *drop)
Definition: WM_types.h:1113
wmOperatorCallContext
Definition: WM_types.h:199
volatile int lock
static btDbvtVolume bounds(btDbvtNode **leaves, int count)
Definition: btDbvt.cpp:299
void sort(btMatrix3x3 &U, btVector3 &sigma, btMatrix3x3 &V, int t)
Helper function of 3X3 SVD for sorting singular values.
std::string id_name(void *id)
Scene scene
void * user_data
DEGForeachIDComponentCallback callback
SyclQueue void void * src
SyclQueue void void size_t num_bytes void
DRWShaderLibrary * lib
#define str(s)
uint pos
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
const int state
format
Definition: logImageCore.h:38
static struct PartialUpdateUser * wrap(PartialUpdateUserImpl *user)
static void area(int d1, int d2, int e1, int e2, float weights[2])
static void update(bNodeTree *ntree)
static void copy(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node)
__int64 int64_t
Definition: stdint.h:89
The meta-data of an asset. By creating and giving this for a data-block (ID.asset_data),...
Definition: DNA_ID.h:368
short flag
Definition: DNA_ID.h:383
Definition: BKE_main.h:121
char idname[BKE_ST_MAXNAME]
Definition: BKE_screen.h:361
char idname[BKE_ST_MAXNAME]
Definition: BKE_screen.h:223
Wrapper for bScreen.
char idname[BKE_ST_MAXNAME]
Definition: BKE_screen.h:321
WMDropboxTooltipFunc tooltip
Definition: WM_types.h:1226
bool(* poll)(struct bContext *C, struct wmDrag *drag, const wmEvent *event)
Definition: WM_types.h:1179
void(* cancel)(struct Main *bmain, struct wmDrag *drag, struct wmDropBox *drop)
Definition: WM_types.h:1193
wmKeyMap * keymaps[3]
Definition: WM_api.h:335
struct wmWindow * win
wmUIHandlerRemoveFunc remove_fn
wmUIHandlerFunc handle_fn
Definition: wm_jobs.c:57
double timestep
Definition: wm_jobs.c:102
int flag
Definition: wm_jobs.c:111
short job_type
Definition: wm_jobs.c:112
wm_jobs_start_callback startjob
Definition: wm_jobs.c:74
void(* initjob)(void *)
Definition: wm_jobs.c:69
void(* completed)(void *)
Definition: wm_jobs.c:94
short do_update
Definition: wm_jobs.c:112
unsigned int note
Definition: wm_jobs.c:107
void(* canceled)(void *)
Definition: wm_jobs.c:99
void * customdata
Definition: wm_jobs.c:64
const void * owner
Definition: wm_jobs.c:110
char name[128]
Definition: wm_jobs.c:116
unsigned int endnote
Definition: wm_jobs.c:107
short stop
Definition: wm_jobs.c:112
void(* endjob)(void *)
Definition: wm_jobs.c:89
float progress
Definition: wm_jobs.c:113
wmWindow * win
Definition: wm_jobs.c:61
struct IDProperty * properties
const char * name
Definition: WM_types.h:888
const char * idname
Definition: WM_types.h:890
const char * description
Definition: WM_types.h:893
PropertyRNA * prop
Definition: WM_types.h:981
void(* draw)(bContext *C, int, int, void *customdata)
Definition: wm.h:24
void * customdata
Definition: wm.h:21
bool(* poll)(struct bContext *C)
Definition: wm.h:23
short region_type
Definition: wm.h:27
short space_type
Definition: wm.h:26
static ListBase dropboxes
Definition: wm_dragdrop.cc:60
int xy[2]
Definition: wm_draw.c:135
PointerRNA * ptr
Definition: wm_files.c:3480
char app_template[64]
Definition: wm_files.c:1021
wmOperatorType * ot
Definition: wm_files.c:3479
bool WM_xr_action_state_get(const wmXrData *xr, const char *action_set_name, const char *action_name, const char *subaction_path, wmXrActionState *r_state)
Definition: wm_xr_action.c:472
bool WM_xr_action_binding_create(wmXrData *xr, const char *action_set_name, const char *action_name, const char *profile_path, const ListBase *user_paths, const ListBase *component_paths, const float *float_thresholds, const eXrAxisFlag *axis_flags, const struct wmXrPose *poses)
Definition: wm_xr_action.c:329
void WM_xr_action_destroy(wmXrData *xr, const char *action_set_name, const char *action_name)
Definition: wm_xr_action.c:290
void WM_xr_haptic_action_stop(wmXrData *xr, const char *action_set_name, const char *action_name, const char *subaction_path)
Definition: wm_xr_action.c:534
bool WM_xr_action_set_create(wmXrData *xr, const char *action_set_name)
Definition: wm_xr_action.c:167
void WM_xr_action_binding_destroy(wmXrData *xr, const char *action_set_name, const char *action_name, const char *profile_path)
Definition: wm_xr_action.c:385
bool WM_xr_action_create(wmXrData *xr, const char *action_set_name, const char *action_name, eXrActionType type, const ListBase *user_paths, wmOperatorType *ot, IDProperty *op_properties, const char *haptic_name, const int64_t *haptic_duration, const float *haptic_frequency, const float *haptic_amplitude, eXrOpFlag op_flag, eXrActionFlag action_flag, eXrHapticFlag haptic_flag)
Definition: wm_xr_action.c:212
void WM_xr_action_set_destroy(wmXrData *xr, const char *action_set_name)
Definition: wm_xr_action.c:188
bool WM_xr_controller_pose_actions_set(wmXrData *xr, const char *action_set_name, const char *grip_action_name, const char *aim_action_name)
Definition: wm_xr_action.c:430
bool WM_xr_haptic_action_apply(wmXrData *xr, const char *action_set_name, const char *action_name, const char *subaction_path, const int64_t *duration, const float *frequency, const float *amplitude)
Definition: wm_xr_action.c:515
bool WM_xr_active_action_set_set(wmXrData *xr, const char *action_set_name, bool delayed)
Definition: wm_xr_action.c:394
short WM_xr_actionmap_active_index_get(const wmXrRuntimeData *runtime)
void WM_xr_actionmap_ensure_unique(wmXrRuntimeData *runtime, XrActionMap *actionmap)
void WM_xr_actionmap_selected_index_set(wmXrRuntimeData *runtime, short idx)
XrActionMap * WM_xr_actionmap_new(wmXrRuntimeData *runtime, const char *name, bool replace_existing)
XrActionMapBinding * WM_xr_actionmap_binding_add_copy(XrActionMapItem *ami, XrActionMapBinding *amb_src)
XrActionMapBinding * WM_xr_actionmap_binding_new(XrActionMapItem *ami, const char *name, bool replace_existing)
void WM_xr_actionmap_active_index_set(wmXrRuntimeData *runtime, short idx)
void WM_xr_actionmaps_clear(wmXrRuntimeData *runtime)
short WM_xr_actionmap_selected_index_get(const wmXrRuntimeData *runtime)
XrActionMap * WM_xr_actionmap_find(wmXrRuntimeData *runtime, const char *name)
XrActionMapItem * WM_xr_actionmap_item_find(XrActionMap *actionmap, const char *name)
XrActionMapBinding * WM_xr_actionmap_binding_find(XrActionMapItem *ami, const char *name)
XrActionMapItem * WM_xr_actionmap_item_new(XrActionMap *actionmap, const char *name, bool replace_existing)
XrActionMapItem * WM_xr_actionmap_item_add_copy(XrActionMap *actionmap, XrActionMapItem *ami_src)
XrActionMap * WM_xr_actionmap_add_copy(wmXrRuntimeData *runtime, XrActionMap *am_src)
void WM_xr_actionmap_item_ensure_unique(XrActionMap *actionmap, XrActionMapItem *ami)
bool WM_xr_actionmap_binding_remove(XrActionMapItem *ami, XrActionMapBinding *amb)
void WM_xr_actionmap_binding_ensure_unique(XrActionMapItem *ami, XrActionMapBinding *amb)
void WM_xr_actionmap_item_properties_update_ot(XrActionMapItem *ami)
void WM_xr_actionmap_clear(XrActionMap *actionmap)
bool WM_xr_actionmap_remove(wmXrRuntimeData *runtime, XrActionMap *actionmap)
bool WM_xr_actionmap_item_remove(XrActionMap *actionmap, XrActionMapItem *ami)
ListBase * WM_xr_actionmaps_get(wmXrRuntimeData *runtime)
void WM_xr_session_state_nav_scale_set(wmXrData *xr, float scale)
bool WM_xr_session_state_controller_aim_location_get(const wmXrData *xr, unsigned int subaction_idx, float r_location[3])
wmXrSessionState * WM_xr_session_state_handle_get(const wmXrData *xr)
void WM_xr_session_base_pose_reset(wmXrData *xr)
bool WM_xr_session_state_nav_scale_get(const wmXrData *xr, float *r_scale)
bool WM_xr_session_state_controller_grip_rotation_get(const wmXrData *xr, unsigned int subaction_idx, float r_rotation[4])
void WM_xr_session_state_navigation_reset(wmXrSessionState *state)
ARegionType * WM_xr_surface_controller_region_type_get(void)
bool WM_xr_session_state_controller_grip_location_get(const wmXrData *xr, unsigned int subaction_idx, float r_location[3])
bool WM_xr_session_state_controller_aim_rotation_get(const wmXrData *xr, unsigned int subaction_idx, float r_rotation[4])
ScrArea * WM_xr_session_area_get(const wmXrData *xr)
bool WM_xr_session_state_nav_location_get(const wmXrData *xr, float r_location[3])
void WM_xr_session_state_nav_location_set(wmXrData *xr, const float location[3])
bool WM_xr_session_state_viewer_pose_matrix_info_get(const wmXrData *xr, float r_viewmat[4][4], float *r_focal_len)
bool WM_xr_session_is_ready(const wmXrData *xr)
bool WM_xr_session_state_viewer_pose_location_get(const wmXrData *xr, float r_location[3])
bool WM_xr_session_exists(const wmXrData *xr)
void WM_xr_session_state_nav_rotation_set(wmXrData *xr, const float rotation[4])
bool WM_xr_session_state_viewer_pose_rotation_get(const wmXrData *xr, float r_rotation[4])
bool WM_xr_session_state_nav_rotation_get(const wmXrData *xr, float r_rotation[4])