Blender V4.3
WM_api.hh File Reference
#include <optional>
#include <string>
#include "DNA_windowmanager_types.h"
#include "BLI_array.hh"
#include "BLI_compiler_attrs.h"
#include "BLI_function_ref.hh"
#include "BLI_map.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_sys_types.h"
#include "WM_keymap.hh"
#include "WM_types.hh"

Go to the source code of this file.

Classes

struct  wmEventHandler_KeymapResult
 
struct  CheckerIntervalParams
 

Namespaces

namespace  blender
 
namespace  blender::bke
 
namespace  blender::bke::id
 
namespace  blender::asset_system
 

Macros

#define WM_operatortype_prop_tag(property, tags)
 

Typedefs

using EventHandlerPoll = bool (*)(const ARegion *region, const wmEvent *event)
 
using wmEventHandler_KeymapDynamicFn
 
using wmUIHandlerFunc = int (*)(bContext *C, const wmEvent *event, void *userdata)
 
using wmUIHandlerRemoveFunc = void (*)(bContext *C, void *userdata)
 
using wmOperatorTypeMap = blender::Map<std::string, wmOperatorType *>
 
using wm_jobs_start_callback = void (*)(void *custom_data, wmJobWorkerStatus *worker_status)
 
using wmTooltipInitFn
 

Enumerations

enum  eWM_CapabilitiesFlag {
  WM_CAPABILITY_CURSOR_WARP = (1 << 0) , WM_CAPABILITY_WINDOW_POSITION = (1 << 1) , WM_CAPABILITY_PRIMARY_CLIPBOARD = (1 << 2) , WM_CAPABILITY_GPU_FRONT_BUFFER_READ = (1 << 3) ,
  WM_CAPABILITY_CLIPBOARD_IMAGES = (1 << 4) , WM_CAPABILITY_DESKTOP_SAMPLE = (1 << 5) , WM_CAPABILITY_INPUT_IME = (1 << 6) , WM_CAPABILITY_TRACKPAD_PHYSICAL_DIRECTION = (1 << 7) ,
  WM_CAPABILITY_INITIALIZED = (1u << 31)
}
 
enum  eWindowAlignment { WIN_ALIGN_ABSOLUTE = 0 , WIN_ALIGN_LOCATION_CENTER , WIN_ALIGN_PARENT_CENTER }
 
enum  eWM_EventHandlerFlag { WM_HANDLER_BLOCKING = (1 << 0) , WM_HANDLER_ACCEPT_DBL_CLICK = (1 << 1) , WM_HANDLER_DO_FREE = (1 << 7) }
 
enum  eFileSel_Flag {
  WM_FILESEL_RELPATH = 1 << 0 , WM_FILESEL_DIRECTORY = 1 << 1 , WM_FILESEL_FILENAME = 1 << 2 , WM_FILESEL_FILEPATH = 1 << 3 ,
  WM_FILESEL_FILES = 1 << 4 , WM_FILESEL_SHOW_PROPS = 1 << 5
}
 
enum  eFileSel_Action { FILE_OPENFILE = 0 , FILE_SAVE = 1 }
 
enum  eWM_JobFlag { WM_JOB_PRIORITY = (1 << 0) , WM_JOB_EXCL_RENDER = (1 << 1) , WM_JOB_PROGRESS = (1 << 2) }
 
enum  eWM_JobType {
  WM_JOB_TYPE_ANY = 0 , WM_JOB_TYPE_COMPOSITE , WM_JOB_TYPE_RENDER , WM_JOB_TYPE_RENDER_PREVIEW ,
  WM_JOB_TYPE_LOAD_PREVIEW , WM_JOB_TYPE_OBJECT_SIM_OCEAN , WM_JOB_TYPE_OBJECT_SIM_FLUID , WM_JOB_TYPE_OBJECT_BAKE_TEXTURE ,
  WM_JOB_TYPE_OBJECT_BAKE , WM_JOB_TYPE_FILESEL_READDIR , WM_JOB_TYPE_ASSET_LIBRARY_LOAD , WM_JOB_TYPE_CLIP_BUILD_PROXY ,
  WM_JOB_TYPE_CLIP_TRACK_MARKERS , WM_JOB_TYPE_CLIP_SOLVE_CAMERA , WM_JOB_TYPE_CLIP_PREFETCH , WM_JOB_TYPE_SEQ_BUILD_PROXY ,
  WM_JOB_TYPE_SEQ_BUILD_PREVIEW , WM_JOB_TYPE_POINTCACHE , WM_JOB_TYPE_DPAINT_BAKE , WM_JOB_TYPE_ALEMBIC_IMPORT ,
  WM_JOB_TYPE_ALEMBIC_EXPORT , WM_JOB_TYPE_USD_IMPORT , WM_JOB_TYPE_USD_EXPORT , WM_JOB_TYPE_SHADER_COMPILATION ,
  WM_JOB_TYPE_STUDIOLIGHT , WM_JOB_TYPE_LIGHT_BAKE , WM_JOB_TYPE_FSMENU_BOOKMARK_VALIDATE , WM_JOB_TYPE_QUADRIFLOW_REMESH ,
  WM_JOB_TYPE_TRACE_IMAGE , WM_JOB_TYPE_LINEART , WM_JOB_TYPE_SEQ_DRAW_THUMBNAIL , WM_JOB_TYPE_SEQ_DRAG_DROP_PREVIEW ,
  WM_JOB_TYPE_CALCULATE_SIMULATION_NODES , WM_JOB_TYPE_BAKE_GEOMETRY_NODES , WM_JOB_TYPE_UV_PACK
}
 

Functions

void WM_init_state_app_template_set (const char *app_template)
 
const char * WM_init_state_app_template_get ()
 
void WM_init_state_size_set (int stax, int stay, int sizx, int sizy)
 
void WM_init_state_fullscreen_set ()
 
void WM_init_state_normal_set ()
 
void WM_init_state_maximized_set ()
 
void WM_init_state_start_with_console_set (bool value)
 
void WM_init_window_focus_set (bool do_it)
 
void WM_init_native_pixels (bool do_it)
 
void WM_init_input_devices ()
 
void WM_init (bContext *C, int argc, const char **argv)
 
void WM_exit_ex (bContext *C, bool do_python_exit, bool do_user_exit_actions)
 
void WM_exit (bContext *C, int exit_code) ATTR_NORETURN
 
void WM_main (bContext *C) ATTR_NORETURN
 
void WM_init_splash_on_startup (bContext *C)
 
void WM_init_splash (bContext *C)
 
void WM_init_gpu ()
 
const char * WM_ghost_backend ()
 
eWM_CapabilitiesFlag WM_capabilities_flag ()
 
void WM_check (bContext *C)
 
void WM_reinit_gizmomap_all (Main *bmain)
 
void WM_script_tag_reload ()
 
wmWindowWM_window_find_under_cursor (wmWindow *win, const int event_xy[2], int r_event_xy_other[2])
 
wmWindowWM_window_find_by_area (wmWindowManager *wm, const ScrArea *area)
 
bool WM_desktop_cursor_sample_read (float r_col[3])
 
uint8_tWM_window_pixels_read_from_frontbuffer (const wmWindowManager *wm, const wmWindow *win, int r_size[2])
 
void WM_window_pixels_read_sample_from_frontbuffer (const wmWindowManager *wm, const wmWindow *win, const int pos[2], float r_col[3])
 
uint8_tWM_window_pixels_read_from_offscreen (bContext *C, wmWindow *win, int r_size[2])
 
bool WM_window_pixels_read_sample_from_offscreen (bContext *C, wmWindow *win, const int pos[2], float r_col[3])
 
uint8_tWM_window_pixels_read (bContext *C, wmWindow *win, int r_size[2])
 
bool WM_window_pixels_read_sample (bContext *C, wmWindow *win, const int pos[2], float r_col[3])
 
int WM_window_native_pixel_x (const wmWindow *win)
 
int WM_window_native_pixel_y (const wmWindow *win)
 
blender::int2 WM_window_native_pixel_size (const wmWindow *win)
 
void WM_window_native_pixel_coords (const wmWindow *win, int *x, int *y)
 
void WM_window_rect_calc (const wmWindow *win, rcti *r_rect)
 
void WM_window_screen_rect_calc (const wmWindow *win, rcti *r_rect)
 
bool WM_window_is_fullscreen (const wmWindow *win)
 
bool WM_window_is_maximized (const wmWindow *win)
 
void WM_windows_scene_data_sync (const ListBase *win_lb, Scene *scene) ATTR_NONNULL()
 
SceneWM_windows_scene_get_from_screen (const wmWindowManager *wm, const bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
 
ViewLayerWM_windows_view_layer_get_from_screen (const wmWindowManager *wm, const bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
 
WorkSpaceWM_windows_workspace_get_from_screen (const wmWindowManager *wm, const bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
 
SceneWM_window_get_active_scene (const wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
 
void WM_window_set_active_scene (Main *bmain, bContext *C, wmWindow *win, Scene *scene) ATTR_NONNULL()
 
WorkSpaceWM_window_get_active_workspace (const wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
 
void WM_window_set_active_workspace (bContext *C, wmWindow *win, WorkSpace *workspace) ATTR_NONNULL(1)
 
WorkSpaceLayoutWM_window_get_active_layout (const wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
 
void WM_window_set_active_layout (wmWindow *win, WorkSpace *workspace, WorkSpaceLayout *layout) ATTR_NONNULL(1)
 
bScreenWM_window_get_active_screen (const wmWindow *win) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
 
void WM_window_set_active_screen (wmWindow *win, WorkSpace *workspace, bScreen *screen) ATTR_NONNULL(1)
 
ViewLayerWM_window_get_active_view_layer (const wmWindow *win) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
 
void WM_window_set_active_view_layer (wmWindow *win, ViewLayer *view_layer) ATTR_NONNULL(1)
 
void WM_window_ensure_active_view_layer (wmWindow *win) ATTR_NONNULL(1)
 
bool WM_window_is_temp_screen (const wmWindow *win) ATTR_WARN_UNUSED_RESULT
 
void * WM_system_gpu_context_create ()
 
void WM_system_gpu_context_dispose (void *context)
 
void WM_system_gpu_context_activate (void *context)
 
void WM_system_gpu_context_release (void *context)
 
wmWindowWM_window_open (bContext *C, const char *title, const rcti *rect_unscaled, int space_type, bool toplevel, bool dialog, bool temp, eWindowAlignment alignment, void(*area_setup_fn)(bScreen *screen, ScrArea *area, void *user_data), void *area_setup_user_data) ATTR_NONNULL(1
 
wmWindow void WM_window_set_dpi (const wmWindow *win)
 
void WM_window_title (wmWindowManager *wm, wmWindow *win, const char *title=nullptr)
 
bool WM_stereo3d_enabled (wmWindow *win, bool skip_stereo3d_check)
 
void WM_file_autoexec_init (const char *filepath)
 
bool WM_file_read (bContext *C, const char *filepath, ReportList *reports)
 
void WM_file_autosave_init (wmWindowManager *wm)
 
bool WM_file_recover_last_session (bContext *C, ReportList *reports)
 
void WM_file_tag_modified ()
 
IDWM_file_link_datablock (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const char *filepath, short id_code, const char *id_name, int flag)
 
IDWM_file_append_datablock (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const char *filepath, short id_code, const char *id_name, int flag)
 
void WM_lib_reload (Library *lib, bContext *C, ReportList *reports)
 
void WM_cursor_set (wmWindow *win, int curs)
 
bool WM_cursor_set_from_tool (wmWindow *win, const ScrArea *area, const ARegion *region)
 
void WM_cursor_modal_set (wmWindow *win, int val)
 
void WM_cursor_modal_restore (wmWindow *win)
 
void WM_cursor_wait (bool val)
 
void WM_cursor_grab_enable (wmWindow *win, eWM_CursorWrapAxis wrap, const rcti *wrap_region, bool hide)
 
void WM_cursor_grab_disable (wmWindow *win, const int mouse_ungrab_xy[2])
 
void WM_cursor_time (wmWindow *win, int nr)
 
wmPaintCursorWM_paint_cursor_activate (short space_type, short region_type, bool(*poll)(bContext *C), void(*draw)(bContext *C, int, int, void *customdata), void *customdata)
 
bool WM_paint_cursor_end (wmPaintCursor *handle)
 
void WM_paint_cursor_remove_by_type (wmWindowManager *wm, void *draw_fn, void(*free)(void *))
 
void WM_paint_cursor_tag_redraw (wmWindow *win, ARegion *region)
 
void WM_cursor_warp (wmWindow *win, int x, int y)
 
wmEventHandler_KeymapWM_event_add_keymap_handler (ListBase *handlers, wmKeyMap *keymap)
 
wmEventHandler_KeymapWM_event_add_keymap_handler_poll (ListBase *handlers, wmKeyMap *keymap, EventHandlerPoll poll)
 
wmEventHandler_KeymapWM_event_add_keymap_handler_v2d_mask (ListBase *handlers, wmKeyMap *keymap)
 
wmEventHandler_KeymapWM_event_add_keymap_handler_priority (ListBase *handlers, wmKeyMap *keymap, int priority)
 
void WM_event_get_keymap_from_toolsystem_with_gizmos (wmWindowManager *wm, wmWindow *win, wmEventHandler_Keymap *handler, wmEventHandler_KeymapResult *km_result)
 
void WM_event_get_keymap_from_toolsystem (wmWindowManager *wm, wmWindow *win, wmEventHandler_Keymap *handler, wmEventHandler_KeymapResult *km_result)
 
wmEventHandler_KeymapWM_event_add_keymap_handler_dynamic (ListBase *handlers, wmEventHandler_KeymapDynamicFn keymap_fn, void *user_data)
 
void WM_event_remove_keymap_handler (ListBase *handlers, wmKeyMap *keymap)
 
void WM_event_set_keymap_handler_post_callback (wmEventHandler_Keymap *handler, void(keymap_tag)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data), void *user_data)
 
void WM_event_get_keymaps_from_handler (wmWindowManager *wm, wmWindow *win, wmEventHandler_Keymap *handler, wmEventHandler_KeymapResult *km_result)
 
wmKeyMapItemWM_event_match_keymap_item (bContext *C, wmKeyMap *keymap, const wmEvent *event)
 
wmKeyMapItemWM_event_match_keymap_item_from_handlers (bContext *C, wmWindowManager *wm, wmWindow *win, ListBase *handlers, const wmEvent *event)
 
bool WM_event_match (const wmEvent *winevent, const wmKeyMapItem *kmi)
 
wmEventHandler_UIWM_event_add_ui_handler (const bContext *C, ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn, void *user_data, eWM_EventHandlerFlag flag)
 
wmOperatorWM_operator_find_modal_by_type (wmWindow *win, const wmOperatorType *ot)
 
void WM_event_remove_ui_handler (ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn, void *user_data, bool postpone)
 
void WM_event_remove_area_handler (ListBase *handlers, void *area)
 
void WM_event_free_ui_handler_all (bContext *C, ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn)
 
wmEventHandler_OpWM_event_add_modal_handler_ex (wmWindow *win, ScrArea *area, ARegion *region, wmOperator *op) ATTR_NONNULL(1
 
wmEventHandler_Op wmEventHandler_OpWM_event_add_modal_handler (bContext *C, wmOperator *op) ATTR_NONNULL(1
 
wmEventHandler_Op wmEventHandler_Op void WM_event_remove_model_handler (ListBase *handlers, const wmOperator *op, bool postpone) ATTR_NONNULL(1
 
wmEventHandler_Op wmEventHandler_Op void void WM_event_remove_modal_handler_all (const wmOperator *op, bool postpone) ATTR_NONNULL(1)
 
void WM_event_modal_handler_area_replace (wmWindow *win, const ScrArea *old_area, ScrArea *new_area)
 
void WM_event_modal_handler_region_replace (wmWindow *win, const ARegion *old_region, ARegion *new_region)
 
void WM_event_ui_handler_region_popup_replace (wmWindow *win, const ARegion *old_region, ARegion *new_region)
 
void WM_event_remove_handlers (bContext *C, ListBase *handlers)
 
wmEventHandler_DropboxWM_event_add_dropbox_handler (ListBase *handlers, ListBase *dropboxes)
 
void WM_event_add_mousemove (wmWindow *win)
 
void WM_event_add_notifier_ex (wmWindowManager *wm, const wmWindow *win, unsigned int type, void *reference)
 
void WM_event_add_notifier (const bContext *C, unsigned int type, void *reference)
 
void WM_main_add_notifier (unsigned int type, void *reference)
 
void WM_main_remove_notifier_reference (const void *reference)
 
void WM_main_remap_editor_id_reference (const blender::bke::id::IDRemapper &mappings)
 
void WM_report_banner_show (wmWindowManager *wm, wmWindow *win) ATTR_NONNULL(1)
 
void WM_report_banners_cancel (Main *bmain)
 
void WM_reports_from_reports_move (wmWindowManager *wm, ReportList *reports)
 
void WM_report (eReportType type, const char *message)
 
void WM_reportf (eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(2
 
void wmEventwm_event_add_ex (wmWindow *win, const wmEvent *event_to_add, const wmEvent *event_to_add_after) ATTR_NONNULL(1
 
void wmEvent wmEventwm_event_add (wmWindow *win, const wmEvent *event_to_add) ATTR_NONNULL(1
 
void wmEvent wmEvent void wm_event_init_from_window (wmWindow *win, wmEvent *event)
 
wmTimerWM_event_timer_add (wmWindowManager *wm, wmWindow *win, int event_type, double time_step)
 
wmTimerWM_event_timer_add_notifier (wmWindowManager *wm, wmWindow *win, unsigned int type, double time_step)
 
void WM_event_timer_free_data (wmTimer *timer)
 
void WM_event_timers_free_all (wmWindowManager *wm)
 
void WM_event_timer_remove (wmWindowManager *wm, wmWindow *win, wmTimer *timer)
 
void WM_event_timer_remove_notifier (wmWindowManager *wm, wmWindow *win, wmTimer *timer)
 
void WM_event_timer_sleep (wmWindowManager *wm, wmWindow *win, wmTimer *timer, bool do_sleep)
 
int WM_generic_select_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_generic_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_operator_view3d_unit_defaults (bContext *C, wmOperator *op)
 
int WM_operator_smooth_viewtx_get (const wmOperator *op)
 
int WM_menu_invoke_ex (bContext *C, wmOperator *op, wmOperatorCallContext opcontext)
 
int WM_menu_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_menu_name_call (bContext *C, const char *menu_name, short context)
 
int WM_enum_search_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_operator_confirm (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_operator_confirm_or_exec (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_operator_confirm_ex (bContext *C, wmOperator *op, const char *title=nullptr, const char *message=nullptr, const char *confirm_text=nullptr, int icon=0, bool cancel_default=false)
 
int WM_operator_filesel (bContext *C, wmOperator *op, const wmEvent *event)
 
bool WM_operator_filesel_ensure_ext_imtype (wmOperator *op, const ImageFormatData *im_format)
 
bool WM_operator_winactive (bContext *C)
 
int WM_operator_props_popup_confirm (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_operator_props_popup_confirm_ex (bContext *C, wmOperator *op, const wmEvent *event, std::optional< std::string > title=std::nullopt, std::optional< std::string > confirm_text=std::nullopt, bool cancel_default=false)
 
int WM_operator_props_popup_call (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_operator_props_popup (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_operator_props_dialog_popup (bContext *C, wmOperator *op, int width, std::optional< std::string > title=std::nullopt, std::optional< std::string > confirm_text=std::nullopt, bool cancel_default=false)
 
int WM_operator_redo_popup (bContext *C, wmOperator *op)
 
int WM_operator_ui_popup (bContext *C, wmOperator *op, int width)
 
int WM_operator_confirm_message_ex (bContext *C, wmOperator *op, const char *title, int icon, const char *message, wmOperatorCallContext opcontext)
 
int WM_operator_confirm_message (bContext *C, wmOperator *op, const char *message)
 
void WM_operator_free (wmOperator *op)
 
void WM_operator_free_all_after (wmWindowManager *wm, wmOperator *op)
 
void WM_operator_type_set (wmOperator *op, wmOperatorType *ot)
 
void WM_operator_stack_clear (wmWindowManager *wm)
 
void WM_operator_handlers_clear (wmWindowManager *wm, wmOperatorType *ot)
 
bool WM_operator_poll (bContext *C, wmOperatorType *ot)
 
bool WM_operator_poll_context (bContext *C, wmOperatorType *ot, short context)
 
int WM_operator_call_ex (bContext *C, wmOperator *op, bool store)
 
int WM_operator_call (bContext *C, wmOperator *op)
 
int WM_operator_call_notest (bContext *C, wmOperator *op)
 
int WM_operator_repeat (bContext *C, wmOperator *op)
 
int WM_operator_repeat_last (bContext *C, wmOperator *op)
 
bool WM_operator_repeat_check (const bContext *C, wmOperator *op)
 
bool WM_operator_is_repeat (const bContext *C, const wmOperator *op)
 
bool WM_operator_name_poll (bContext *C, const char *opstring)
 
int WM_operator_name_call_ptr (bContext *C, wmOperatorType *ot, wmOperatorCallContext context, PointerRNA *properties, const wmEvent *event)
 
int WM_operator_name_call (bContext *C, const char *opstring, wmOperatorCallContext context, PointerRNA *properties, const wmEvent *event)
 
int WM_operator_name_call_with_properties (bContext *C, const char *opstring, wmOperatorCallContext context, IDProperty *properties, const wmEvent *event)
 
int WM_operator_call_py (bContext *C, wmOperatorType *ot, wmOperatorCallContext context, PointerRNA *properties, ReportList *reports, bool is_undo)
 
void WM_operator_name_call_ptr_with_depends_on_cursor (bContext *C, wmOperatorType *ot, wmOperatorCallContext opcontext, PointerRNA *properties, const wmEvent *event, const char *drawstr)
 
void WM_operator_properties_alloc (PointerRNA **ptr, IDProperty **properties, const char *opstring)
 
void WM_operator_properties_sanitize (PointerRNA *ptr, bool no_context)
 
bool WM_operator_properties_default (PointerRNA *ptr, bool do_update)
 
void WM_operator_properties_reset (wmOperator *op)
 
void WM_operator_properties_create (PointerRNA *ptr, const char *opstring)
 
void WM_operator_properties_create_ptr (PointerRNA *ptr, wmOperatorType *ot)
 
void WM_operator_properties_clear (PointerRNA *ptr)
 
void WM_operator_properties_free (PointerRNA *ptr)
 
bool WM_operator_ui_poll (wmOperatorType *ot, PointerRNA *ptr)
 
bool WM_operator_check_ui_enabled (const bContext *C, const char *idname)
 
IDPropertyWM_operator_last_properties_ensure_idprops (wmOperatorType *ot)
 
void WM_operator_last_properties_ensure (wmOperatorType *ot, PointerRNA *ptr)
 
wmOperatorWM_operator_last_redo (const bContext *C)
 
IDWM_operator_drop_load_path (bContext *C, wmOperator *op, short idcode)
 
bool WM_operator_last_properties_init (wmOperator *op)
 
bool WM_operator_last_properties_store (wmOperator *op)
 
void WM_operator_properties_confirm_or_exec (wmOperatorType *ot)
 
void WM_operator_properties_filesel (wmOperatorType *ot, int filter, short type, eFileSel_Action action, eFileSel_Flag flag, short display, short sort)
 
void WM_operator_properties_id_lookup_set_from_id (PointerRNA *ptr, const ID *id)
 
IDWM_operator_properties_id_lookup_from_name_or_session_uid (Main *bmain, PointerRNA *ptr, enum ID_Type type)
 
bool WM_operator_properties_id_lookup_is_set (PointerRNA *ptr)
 
void WM_operator_properties_id_lookup (wmOperatorType *ot, const bool add_name_prop)
 
void WM_operator_properties_use_cursor_init (wmOperatorType *ot)
 
void WM_operator_properties_border (wmOperatorType *ot)
 
void WM_operator_properties_border_to_rcti (wmOperator *op, rcti *r_rect)
 
void WM_operator_properties_border_to_rctf (wmOperator *op, rctf *r_rect)
 
void WM_operator_properties_gesture_box_ex (wmOperatorType *ot, bool deselect, bool extend)
 
void WM_operator_properties_gesture_box (wmOperatorType *ot)
 
void WM_operator_properties_gesture_box_select (wmOperatorType *ot)
 
void WM_operator_properties_gesture_box_zoom (wmOperatorType *ot)
 
void WM_operator_properties_gesture_lasso (wmOperatorType *ot)
 
void WM_operator_properties_gesture_polyline (wmOperatorType *ot)
 
void WM_operator_properties_gesture_straightline (wmOperatorType *ot, int cursor)
 
void WM_operator_properties_gesture_circle (wmOperatorType *ot)
 
void WM_operator_properties_mouse_select (wmOperatorType *ot)
 
void WM_operator_properties_select_all (wmOperatorType *ot)
 
void WM_operator_properties_select_action (wmOperatorType *ot, int default_action, bool hide_gui)
 
void WM_operator_properties_select_action_simple (wmOperatorType *ot, int default_action, bool hide_gui)
 
void WM_operator_properties_select_random (wmOperatorType *ot)
 
int WM_operator_properties_select_random_seed_increment_get (wmOperator *op)
 
void WM_operator_properties_select_operation (wmOperatorType *ot)
 
void WM_operator_properties_select_operation_simple (wmOperatorType *ot)
 
void WM_operator_properties_select_walk_direction (wmOperatorType *ot)
 
void WM_operator_properties_generic_select (wmOperatorType *ot)
 
void WM_operator_properties_checker_interval (wmOperatorType *ot, bool nth_can_disable)
 
void WM_operator_properties_checker_interval_from_op (wmOperator *op, CheckerIntervalParams *op_params)
 
bool WM_operator_properties_checker_interval_test (const CheckerIntervalParams *op_params, int depth)
 
std::string WM_operator_pystring_ex (bContext *C, wmOperator *op, bool all_args, bool macro_args, wmOperatorType *ot, PointerRNA *opptr)
 
std::string WM_operator_pystring (bContext *C, wmOperator *op, bool all_args, bool macro_args)
 
std::string WM_operator_pystring_abbreviate (std::string str, int str_len_max)
 
std::optional< std::string > WM_prop_pystring_assign (bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index)
 
size_t WM_operator_bl_idname (char *dst, const char *src) ATTR_NONNULL(1
 
size_t size_t WM_operator_py_idname (char *dst, const char *src) ATTR_NONNULL(1
 
size_t size_t bool WM_operator_py_idname_ok_or_report (ReportList *reports, const char *classname, const char *idname)
 
bool WM_operator_bl_idname_is_valid (const char *idname)
 
std::optional< std::string > WM_context_path_resolve_property_full (const bContext *C, const PointerRNA *ptr, PropertyRNA *prop, int index)
 
std::optional< std::string > WM_context_path_resolve_full (bContext *C, const PointerRNA *ptr)
 
wmOperatorTypeWM_operatortype_find (const char *idname, bool quiet)
 
const wmOperatorTypeMapWM_operatortype_map ()
 
void WM_operatortype_append (void(*opfunc)(wmOperatorType *ot))
 
void WM_operatortype_append_ptr (void(*opfunc)(wmOperatorType *ot, void *userdata), void *userdata)
 
void WM_operatortype_append_macro_ptr (void(*opfunc)(wmOperatorType *ot, void *userdata), void *userdata)
 
void WM_operatortype_remove_ptr (wmOperatorType *ot)
 
bool WM_operatortype_remove (const char *idname)
 
void WM_operatortype_last_properties_clear_all ()
 
void WM_operatortype_idname_visit_for_search (const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn)
 
void WM_operatortype_props_advanced_begin (wmOperatorType *ot)
 
void WM_operatortype_props_advanced_end (wmOperatorType *ot)
 
wmOperatorTypeWM_operatortype_append_macro (const char *idname, const char *name, const char *description, int flag)
 
wmOperatorTypeMacroWM_operatortype_macro_define (wmOperatorType *ot, const char *idname)
 
std::string WM_operatortype_name (wmOperatorType *ot, PointerRNA *properties)
 
std::string WM_operatortype_description (bContext *C, wmOperatorType *ot, PointerRNA *properties)
 
std::string WM_operatortype_description_or_name (bContext *C, wmOperatorType *ot, PointerRNA *properties)
 
bool WM_operator_depends_on_cursor (bContext &C, wmOperatorType &ot, PointerRNA *properties)
 
void WM_operator_type_modal_from_exec_for_object_edit_coords (wmOperatorType *ot)
 
void WM_uilisttype_init ()
 
uiListTypeWM_uilisttype_find (const char *idname, bool quiet)
 
bool WM_uilisttype_add (uiListType *ult)
 
void WM_uilisttype_remove_ptr (Main *bmain, uiListType *ult)
 
void WM_uilisttype_free ()
 
void WM_uilisttype_to_full_list_id (const uiListType *ult, const char *list_id, char r_full_list_id[])
 
const char * WM_uilisttype_list_id_get (const uiListType *ult, uiList *list)
 
void WM_menutype_init ()
 
MenuTypeWM_menutype_find (const char *idname, bool quiet)
 
void WM_menutype_iter (GHashIterator *ghi)
 
bool WM_menutype_add (MenuType *mt)
 
void WM_menutype_freelink (MenuType *mt)
 
void WM_menutype_free ()
 
bool WM_menutype_poll (bContext *C, MenuType *mt)
 
void WM_menutype_idname_visit_for_search (const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn)
 
void WM_paneltype_init ()
 
void WM_paneltype_clear ()
 
PanelTypeWM_paneltype_find (const char *idname, bool quiet)
 
bool WM_paneltype_add (PanelType *pt)
 
void WM_paneltype_remove (PanelType *pt)
 
void WM_paneltype_idname_visit_for_search (const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn)
 
int WM_gesture_box_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_box_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_gesture_box_cancel (bContext *C, wmOperator *op)
 
int WM_gesture_circle_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_circle_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_gesture_circle_cancel (bContext *C, wmOperator *op)
 
int WM_gesture_lines_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_lines_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_gesture_lines_cancel (bContext *C, wmOperator *op)
 
int WM_gesture_lasso_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_lasso_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_gesture_lasso_cancel (bContext *C, wmOperator *op)
 
int WM_gesture_polyline_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_polyline_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_gesture_polyline_cancel (bContext *C, wmOperator *op)
 
blender::Array< blender::int2WM_gesture_lasso_path_to_array (bContext *C, wmOperator *op)
 
int WM_gesture_straightline_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_straightline_active_side_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_straightline_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_gesture_straightline_oneshot_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_gesture_straightline_cancel (bContext *C, wmOperator *op)
 
wmGestureWM_gesture_new (wmWindow *window, const ARegion *region, const wmEvent *event, int type)
 
void WM_gesture_end (wmWindow *win, wmGesture *gesture)
 
void WM_gestures_remove (wmWindow *win)
 
void WM_gestures_free_all (wmWindow *win)
 
bool WM_gesture_is_modal_first (const wmGesture *gesture)
 
void WM_event_add_fileselect (bContext *C, wmOperator *op)
 
void WM_event_fileselect_event (wmWindowManager *wm, void *ophandle, int eventval)
 
void * WM_event_consecutive_data_get (wmWindow *win, const char *id)
 
void WM_event_consecutive_data_set (wmWindow *win, const char *id, void *custom_data)
 
void WM_event_consecutive_data_free (wmWindow *win)
 
void WM_operator_region_active_win_set (bContext *C)
 
int WM_operator_flag_only_pass_through_on_press (int retval, const wmEvent *event)
 
void WM_event_start_drag (bContext *C, int icon, eWM_DragDataType type, void *poin, unsigned int flags)
 
wmDragWM_drag_data_create (bContext *C, int icon, eWM_DragDataType type, void *poin, unsigned int flags)
 
void WM_event_start_prepared_drag (bContext *C, wmDrag *drag)
 
void WM_event_drag_image (wmDrag *drag, const ImBuf *imb, float scale)
 
void WM_drag_free (wmDrag *drag)
 
void WM_drag_data_free (eWM_DragDataType dragtype, void *poin)
 
void WM_drag_free_list (ListBase *lb)
 
wmDropBoxWM_dropbox_add (ListBase *lb, const char *idname, bool(*poll)(bContext *C, wmDrag *drag, const wmEvent *event), void(*copy)(bContext *C, wmDrag *drag, wmDropBox *drop), void(*cancel)(Main *bmain, wmDrag *drag, wmDropBox *drop), WMDropboxTooltipFunc tooltip)
 
void WM_dropbox_update_ot ()
 
void WM_drag_draw_item_name_fn (bContext *C, wmWindow *win, wmDrag *drag, const int xy[2])
 
void WM_drag_draw_default_fn (bContext *C, wmWindow *win, wmDrag *drag, const int xy[2])
 
ListBaseWM_dropboxmap_find (const char *idname, int spaceid, int regionid)
 
IDWM_drag_asset_id_import (const bContext *C, wmDragAsset *asset_drag, int flag_extra)
 
bool WM_drag_asset_will_import_linked (const wmDrag *drag)
 
void WM_drag_add_local_ID (wmDrag *drag, ID *id, ID *from_parent)
 
IDWM_drag_get_local_ID (const wmDrag *drag, short idcode)
 
IDWM_drag_get_local_ID_from_event (const wmEvent *event, short idcode)
 
bool WM_drag_is_ID_type (const wmDrag *drag, int idcode)
 
wmDragAssetWM_drag_create_asset_data (const blender::asset_system::AssetRepresentation *asset, int import_method)
 
wmDragAssetWM_drag_get_asset_data (const wmDrag *drag, int idcode)
 
AssetMetaDataWM_drag_get_asset_meta_data (const wmDrag *drag, int idcode)
 
IDWM_drag_get_local_ID_or_import_from_asset (const bContext *C, const wmDrag *drag, int idcode)
 
void WM_drag_free_imported_drag_ID (Main *bmain, wmDrag *drag, wmDropBox *drop)
 Free asset ID imported for canceled drop.
 
wmDragAssetCatalogWM_drag_get_asset_catalog_data (const wmDrag *drag)
 
void WM_drag_add_asset_list_item (wmDrag *drag, const blender::asset_system::AssetRepresentation *asset)
 
const ListBaseWM_drag_asset_list_get (const wmDrag *drag)
 
const char * WM_drag_get_item_name (wmDrag *drag)
 
wmDragPathWM_drag_create_path_data (blender::Span< const char * > paths)
 
const char * WM_drag_get_single_path (const wmDrag *drag)
 
const char * WM_drag_get_single_path (const wmDrag *drag, int file_type)
 
blender::Span< std::string > WM_drag_get_paths (const wmDrag *drag)
 
bool WM_drag_has_path_file_type (const wmDrag *drag, int file_type)
 
int WM_drag_get_path_file_type (const wmDrag *drag)
 
const std::string & WM_drag_get_string (const wmDrag *drag)
 
std::string WM_drag_get_string_firstline (const wmDrag *drag)
 
void wmViewport (const rcti *winrct)
 
void wmPartialViewport (rcti *drawrct, const rcti *winrct, const rcti *partialrct)
 
void wmWindowViewport (const wmWindow *win)
 
void wmWindowViewport_ex (const wmWindow *win, float offset)
 
void wmOrtho2 (float x1, float x2, float y1, float y2)
 
void wmOrtho2_region_pixelspace (const ARegion *region)
 
void wmOrtho2_pixelspace (float x, float y)
 
void wmGetProjectionMatrix (float mat[4][4], const rcti *winrct)
 
 ENUM_OPERATORS (eWM_JobFlag, WM_JOB_PROGRESS)
 
wmJobWM_jobs_get (wmWindowManager *wm, wmWindow *win, const void *owner, const char *name, eWM_JobFlag flag, eWM_JobType job_type)
 
bool WM_jobs_test (const wmWindowManager *wm, const void *owner, int job_type)
 
float WM_jobs_progress (const wmWindowManager *wm, const void *owner)
 
const char * WM_jobs_name (const wmWindowManager *wm, const void *owner)
 
double WM_jobs_starttime (const wmWindowManager *wm, const void *owner)
 
void * WM_jobs_customdata_from_type (wmWindowManager *wm, const void *owner, int job_type)
 
bool WM_jobs_is_running (const wmJob *wm_job)
 
bool WM_jobs_is_stopped (const wmWindowManager *wm, const void *owner)
 
void * WM_jobs_customdata_get (wmJob *wm_job)
 
void WM_jobs_customdata_set (wmJob *wm_job, void *customdata, void(*free)(void *))
 
void WM_jobs_timer (wmJob *wm_job, double time_step, unsigned int note, unsigned int endnote)
 
void WM_jobs_delay_start (wmJob *wm_job, double delay_time)
 
void WM_jobs_callbacks (wmJob *wm_job, wm_jobs_start_callback startjob, void(*initjob)(void *), void(*update)(void *), void(*endjob)(void *))
 
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 *))
 
void WM_jobs_start (wmWindowManager *wm, wmJob *wm_job)
 
void WM_jobs_stop_type (wmWindowManager *wm, const void *owner, eWM_JobType job_type)
 
void WM_jobs_stop_all_from_owner (wmWindowManager *wm, const void *owner) ATTR_NONNULL()
 
void WM_jobs_kill_all (wmWindowManager *wm)
 
void WM_jobs_kill_all_except (wmWindowManager *wm, const void *owner)
 
void WM_jobs_kill_type (wmWindowManager *wm, const void *owner, int job_type)
 
void WM_jobs_kill_all_from_owner (wmWindowManager *wm, const void *owner) ATTR_NONNULL()
 
bool WM_jobs_has_running (const wmWindowManager *wm)
 
bool WM_jobs_has_running_type (const wmWindowManager *wm, int job_type)
 
void WM_job_main_thread_lock_acquire (wmJob *wm_job)
 
void WM_job_main_thread_lock_release (wmJob *wm_job)
 
char * WM_clipboard_text_get (bool selection, bool ensure_utf8, int *r_len)
 
char * WM_clipboard_text_get_firstline (bool selection, bool ensure_utf8, int *r_len)
 
void WM_clipboard_text_set (const char *buf, bool selection)
 
bool WM_clipboard_image_available ()
 
ImBufWM_clipboard_image_get ()
 
bool WM_clipboard_image_set (ImBuf *ibuf) ATTR_NONNULL(1)
 
void WM_progress_set (wmWindow *win, float progress)
 
void WM_progress_clear (wmWindow *win)
 
void * WM_draw_cb_activate (wmWindow *win, void(*draw)(const wmWindow *win, void *customdata), void *customdata)
 
void WM_draw_cb_exit (wmWindow *win, void *handle)
 
void WM_redraw_windows (bContext *C)
 
void WM_draw_region_viewport_ensure (Scene *scene, ARegion *region, short space_type)
 
void WM_draw_region_viewport_bind (ARegion *region)
 
void WM_draw_region_viewport_unbind (ARegion *region)
 
void WM_draw_region_free (ARegion *region)
 
GPUViewportWM_draw_region_get_viewport (ARegion *region)
 
GPUViewportWM_draw_region_get_bound_viewport (ARegion *region)
 
void WM_main_playanim (int argc, const char **argv)
 
bool write_crash_blend ()
 
bool WM_autosave_is_scheduled (wmWindowManager *wm)
 
void WM_autosave_write (wmWindowManager *wm, Main *bmain)
 
void WM_set_locked_interface (wmWindowManager *wm, bool lock)
 
void WM_event_tablet_data_default_set (wmTabletData *tablet_data)
 
wmEventWM_event_add_simulate (wmWindow *win, const wmEvent *event_to_add)
 
const char * WM_window_cursor_keymap_status_get (const wmWindow *win, int button_index, int type_index)
 
void WM_window_cursor_keymap_status_refresh (bContext *C, wmWindow *win)
 
void WM_window_status_area_tag_redraw (wmWindow *win)
 
ScrAreaWM_window_status_area_find (wmWindow *win, bScreen *screen)
 
bool WM_window_modal_keymap_status_draw (bContext *C, wmWindow *win, uiLayout *layout)
 
void WM_event_print (const wmEvent *event)
 
bool WM_event_is_modal_drag_exit (const wmEvent *event, short init_event_type, short init_event_val)
 
bool WM_event_is_mouse_drag (const wmEvent *event)
 
bool WM_event_is_mouse_drag_or_press (const wmEvent *event)
 
int WM_event_drag_direction (const wmEvent *event)
 
char WM_event_utf8_to_ascii (const wmEvent *event) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
 
bool WM_cursor_test_motion_and_update (const int mval[2]) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
 
bool WM_event_consecutive_gesture_test (const wmEvent *event)
 
bool WM_event_consecutive_gesture_test_break (const wmWindow *win, const wmEvent *event)
 
int WM_event_drag_threshold (const wmEvent *event)
 
bool WM_event_drag_test (const wmEvent *event, const int prev_xy[2])
 
bool WM_event_drag_test_with_delta (const wmEvent *event, const int drag_delta[2])
 
void WM_event_drag_start_mval (const wmEvent *event, const ARegion *region, int r_mval[2])
 
void WM_event_drag_start_mval_fl (const wmEvent *event, const ARegion *region, float r_mval[2])
 
void WM_event_drag_start_xy (const wmEvent *event, int r_xy[2])
 
int WM_userdef_event_map (int kmitype)
 
int WM_userdef_event_type_from_keymap_type (int kmitype)
 
float WM_event_tablet_data (const wmEvent *event, bool *r_pen_flip, float r_tilt[2])
 
bool WM_event_is_tablet (const wmEvent *event)
 
int WM_event_absolute_delta_x (const wmEvent *event)
 
int WM_event_absolute_delta_y (const wmEvent *event)
 
void WM_tooltip_immediate_init (bContext *C, wmWindow *win, ScrArea *area, ARegion *region, wmTooltipInitFn init)
 
void WM_tooltip_timer_init_ex (bContext *C, wmWindow *win, ScrArea *area, ARegion *region, wmTooltipInitFn init, double delay)
 
void WM_tooltip_timer_init (bContext *C, wmWindow *win, ScrArea *area, ARegion *region, wmTooltipInitFn init)
 
void WM_tooltip_timer_clear (bContext *C, wmWindow *win)
 
void WM_tooltip_clear (bContext *C, wmWindow *win)
 
void WM_tooltip_init (bContext *C, wmWindow *win)
 
void WM_tooltip_refresh (bContext *C, wmWindow *win)
 
double WM_tooltip_time_closed ()
 
wmGenericCallbackWM_generic_callback_steal (wmGenericCallback *callback)
 
void WM_generic_callback_free (wmGenericCallback *callback)
 
void WM_generic_user_data_free (wmGenericUserData *wm_userdata)
 
bool WM_region_use_viewport (ScrArea *area, ARegion *region)
 
bool WM_platform_associate_set (bool do_register, bool all_users, char **r_error_msg)
 

Macro Definition Documentation

◆ WM_operatortype_prop_tag

#define WM_operatortype_prop_tag ( property,
tags )
Value:
{ \
CHECK_TYPE(tags, eOperatorPropTags); \
RNA_def_property_tags(prop, tags); \
} \
(void)0
eOperatorPropTags
Definition WM_types.hh:240

Definition at line 1197 of file WM_api.hh.

Referenced by WM_operatortype_props_advanced_end().

Typedef Documentation

◆ EventHandlerPoll

using EventHandlerPoll = bool (*)(const ARegion *region, const wmEvent *event)

Definition at line 474 of file WM_api.hh.

◆ wm_jobs_start_callback

using wm_jobs_start_callback = void (*)(void *custom_data, wmJobWorkerStatus *worker_status)

Definition at line 1648 of file WM_api.hh.

◆ wmEventHandler_KeymapDynamicFn

◆ wmOperatorTypeMap

Definition at line 1150 of file WM_api.hh.

◆ wmTooltipInitFn

Initial value:
ARegion *(*)(bContext *C,
ARegion *region,
int *pass,
double *r_pass_delay,
bool *r_exit_on_event)

Definition at line 1914 of file WM_api.hh.

◆ wmUIHandlerFunc

using wmUIHandlerFunc = int (*)(bContext *C, const wmEvent *event, void *userdata)

Definition at line 528 of file WM_api.hh.

◆ wmUIHandlerRemoveFunc

using wmUIHandlerRemoveFunc = void (*)(bContext *C, void *userdata)

Definition at line 529 of file WM_api.hh.

Enumeration Type Documentation

◆ eFileSel_Action

Action for WM_operator_properties_filesel.

Enumerator
FILE_OPENFILE 
FILE_SAVE 

Definition at line 944 of file WM_api.hh.

◆ eFileSel_Flag

Flags for WM_operator_properties_filesel.

Enumerator
WM_FILESEL_RELPATH 
WM_FILESEL_DIRECTORY 
WM_FILESEL_FILENAME 
WM_FILESEL_FILEPATH 
WM_FILESEL_FILES 
WM_FILESEL_SHOW_PROPS 

Show the properties sidebar by default.

Definition at line 932 of file WM_api.hh.

◆ eWindowAlignment

WM_window_open alignment.

Enumerator
WIN_ALIGN_ABSOLUTE 
WIN_ALIGN_LOCATION_CENTER 
WIN_ALIGN_PARENT_CENTER 

Definition at line 338 of file WM_api.hh.

◆ eWM_CapabilitiesFlag

Enumerator
WM_CAPABILITY_CURSOR_WARP 

Ability to warp the cursor (set its location).

WM_CAPABILITY_WINDOW_POSITION 

Ability to access window positions & move them.

WM_CAPABILITY_PRIMARY_CLIPBOARD 

The windowing system supports a separate primary clipboard (typically set when interactively selecting text).

WM_CAPABILITY_GPU_FRONT_BUFFER_READ 

Reading from the back-buffer is supported.

WM_CAPABILITY_CLIPBOARD_IMAGES 

Ability to copy/paste system clipboard images.

WM_CAPABILITY_DESKTOP_SAMPLE 

Ability to sample a color outside of Blender windows.

WM_CAPABILITY_INPUT_IME 

Support for IME input methods.

WM_CAPABILITY_TRACKPAD_PHYSICAL_DIRECTION 

Trackpad physical scroll detection.

WM_CAPABILITY_INITIALIZED 

The initial value, indicates the value needs to be set by inspecting GHOST.

Definition at line 167 of file WM_api.hh.

◆ eWM_EventHandlerFlag

Enumerator
WM_HANDLER_BLOCKING 

After this handler all others are ignored.

WM_HANDLER_ACCEPT_DBL_CLICK 

Handler accepts double key press events.

WM_HANDLER_DO_FREE 

Handler tagged to be freed in wm_handlers_do().

Definition at line 462 of file WM_api.hh.

◆ eWM_JobFlag

Enumerator
WM_JOB_PRIORITY 
WM_JOB_EXCL_RENDER 

Only one render job can run at a time, this tags them a such. New jobs with this flag will wait on previous ones to finish then.

WM_JOB_PROGRESS 

Definition at line 1559 of file WM_api.hh.

◆ eWM_JobType

Identifying jobs by owner alone is unreliable, this isn't saved, order can change.

Enumerator
WM_JOB_TYPE_ANY 

Not a real type, use for querying any type.

WM_JOB_TYPE_COMPOSITE 
WM_JOB_TYPE_RENDER 
WM_JOB_TYPE_RENDER_PREVIEW 
WM_JOB_TYPE_LOAD_PREVIEW 

Job for the UI to load previews from the file system (uses OS thumbnail cache).

WM_JOB_TYPE_OBJECT_SIM_OCEAN 
WM_JOB_TYPE_OBJECT_SIM_FLUID 
WM_JOB_TYPE_OBJECT_BAKE_TEXTURE 
WM_JOB_TYPE_OBJECT_BAKE 
WM_JOB_TYPE_FILESEL_READDIR 
WM_JOB_TYPE_ASSET_LIBRARY_LOAD 
WM_JOB_TYPE_CLIP_BUILD_PROXY 
WM_JOB_TYPE_CLIP_TRACK_MARKERS 
WM_JOB_TYPE_CLIP_SOLVE_CAMERA 
WM_JOB_TYPE_CLIP_PREFETCH 
WM_JOB_TYPE_SEQ_BUILD_PROXY 
WM_JOB_TYPE_SEQ_BUILD_PREVIEW 
WM_JOB_TYPE_POINTCACHE 
WM_JOB_TYPE_DPAINT_BAKE 
WM_JOB_TYPE_ALEMBIC_IMPORT 
WM_JOB_TYPE_ALEMBIC_EXPORT 
WM_JOB_TYPE_USD_IMPORT 
WM_JOB_TYPE_USD_EXPORT 
WM_JOB_TYPE_SHADER_COMPILATION 
WM_JOB_TYPE_STUDIOLIGHT 
WM_JOB_TYPE_LIGHT_BAKE 
WM_JOB_TYPE_FSMENU_BOOKMARK_VALIDATE 
WM_JOB_TYPE_QUADRIFLOW_REMESH 
WM_JOB_TYPE_TRACE_IMAGE 
WM_JOB_TYPE_LINEART 
WM_JOB_TYPE_SEQ_DRAW_THUMBNAIL 
WM_JOB_TYPE_SEQ_DRAG_DROP_PREVIEW 
WM_JOB_TYPE_CALCULATE_SIMULATION_NODES 
WM_JOB_TYPE_BAKE_GEOMETRY_NODES 
WM_JOB_TYPE_UV_PACK 

Definition at line 1573 of file WM_api.hh.

Function Documentation

◆ ENUM_OPERATORS()

ENUM_OPERATORS ( eWM_JobFlag ,
WM_JOB_PROGRESS  )

◆ WM_autosave_is_scheduled()

bool WM_autosave_is_scheduled ( wmWindowManager * wm)

◆ WM_autosave_write()

void WM_autosave_write ( wmWindowManager * wm,
Main * bmain )

◆ WM_capabilities_flag()

◆ WM_check()

◆ WM_clipboard_image_available()

bool WM_clipboard_image_available ( )

Returns true if the clipboard contains an image.

Definition at line 2461 of file wm_window.cc.

References G, and GHOST_hasClipboardImage().

Referenced by image_clipboard_paste_poll().

◆ WM_clipboard_image_get()

ImBuf * WM_clipboard_image_get ( )

Get image data from the clipboard.

Returns
The image or null when not found. Caller must free.

Definition at line 2469 of file wm_window.cc.

References free(), G, GHOST_getClipboardImage(), and IMB_allocFromBuffer().

Referenced by image_clipboard_paste_exec().

◆ WM_clipboard_image_set()

bool WM_clipboard_image_set ( ImBuf * ibuf)

Put image data to the clipboard.

Parameters
ibufthe image to set the clipboard to.

Definition at line 2488 of file wm_window.cc.

References ImBuf::byte_buffer, ImBufByteBuffer::data, G, GHOST_putClipboardImage(), imb_freerectImBuf(), IMB_rect_from_float(), ImBuf::x, and ImBuf::y.

Referenced by image_clipboard_copy_exec().

◆ WM_clipboard_text_get()

char * WM_clipboard_text_get ( bool selection,
bool ensure_utf8,
int * r_len )

Return text from the clipboard.

Parameters
selectionUse the "primary" clipboard, see: WM_CAPABILITY_PRIMARY_CLIPBOARD.
ensure_utf8Ensure the resulting string does not contain invalid UTF8 encoding.

Definition at line 2412 of file wm_window.cc.

References wm_clipboard_text_get_ex().

Referenced by console_paste_exec(), paste_text_exec(), pyrna_WindowManager_clipboard_get(), and text_paste_exec().

◆ WM_clipboard_text_get_firstline()

char * WM_clipboard_text_get_firstline ( bool selection,
bool ensure_utf8,
int * r_len )

Convenience function for pasting to areas of Blender which don't support newlines.

Definition at line 2417 of file wm_window.cc.

References wm_clipboard_text_get_ex().

Referenced by handleNumInput(), ui_but_get_pasted_text_from_clipboard(), and ui_textedit_copypaste().

◆ WM_clipboard_text_set()

◆ WM_context_path_resolve_full()

std::optional< std::string > WM_context_path_resolve_full ( bContext * C,
const PointerRNA * ptr )

◆ WM_context_path_resolve_property_full()

std::optional< std::string > WM_context_path_resolve_property_full ( const bContext * C,
const PointerRNA * ptr,
PropertyRNA * prop,
int index )

◆ WM_cursor_grab_disable()

◆ WM_cursor_grab_enable()

void WM_cursor_grab_enable ( wmWindow * win,
eWM_CursorWrapAxis wrap,
const rcti * wrap_region,
bool hide )

Enable cursor grabbing, optionally hiding the cursor and wrapping cursor-motion within a sub-region of the window.

Parameters
wrapan enum (WM_CURSOR_WRAP_NONE, WM_CURSOR_WRAP_XY... etc).
wrap_regionWindow-relative region for cursor wrapping (when wrap is WM_CURSOR_WRAP_XY). When NULL, the window bounds are used for wrapping.
Note
The current grab state can be accessed by #wmWindowManager.grabcursor although.

Definition at line 244 of file wm_cursors.cc.

References wmWindow::eventstate, G, G_DEBUG, GHOST_kAxisX, GHOST_kAxisY, GHOST_kGrabHide, GHOST_kGrabNormal, GHOST_kGrabWrap, GHOST_SetCursorGrab(), wmWindow::ghostwin, wmWindow::grabcursor, wmTabletData::is_motion_absolute, wmEvent::tablet, wm_cursor_position_to_ghost_screen_coords(), WM_CURSOR_WRAP_NONE, WM_CURSOR_WRAP_X, WM_CURSOR_WRAP_Y, wrap(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by button_activate_state(), initWalkInfo(), wm_gizmomap_modal_set(), wm_macro_modal(), and wm_operator_invoke().

◆ WM_cursor_modal_restore()

◆ WM_cursor_modal_set()

void WM_cursor_modal_set ( wmWindow * win,
int val )

◆ WM_cursor_set()

◆ WM_cursor_set_from_tool()

bool WM_cursor_set_from_tool ( wmWindow * win,
const ScrArea * area,
const ARegion * region )

◆ WM_cursor_test_motion_and_update()

bool WM_cursor_test_motion_and_update ( const int mval[2])

Detect motion between selection (callers should only use this for selection picking), typically mouse press/click events.

Parameters
mvalRegion relative coordinates, call with (-1, -1) resets the last cursor location.
Returns
True when there was motion since last called.

NOTE(@ideasman42): The logic used here isn't foolproof. It's possible that users move the cursor past WM_EVENT_CURSOR_MOTION_THRESHOLD then back to a position within the threshold (between mouse clicks). In practice users never reported this since the threshold is very small (a few pixels). To prevent the unlikely case of values matching from another region, changing regions resets this value to (-1, -1).

Definition at line 328 of file wm_event_query.cc.

References copy_v2_v2_int(), len_manhattan_v2v2_int(), and WM_EVENT_CURSOR_MOTION_THRESHOLD.

Referenced by ED_screen_set_active_region(), get_nearest_editbonepoint(), mixed_bones_object_selectbuffer_extended(), seq_select_seq_from_preview(), and unified_findnearest().

◆ WM_cursor_time()

void WM_cursor_time ( wmWindow * win,
int nr )

After this you can call restore too.

Definition at line 359 of file wm_cursors.cc.

References wmWindow::cursor, wmWindow::lastcursor, window_set_custom_cursor(), and x.

Referenced by screen_opengl_render_anim_step().

◆ WM_cursor_wait()

◆ WM_cursor_warp()

void WM_cursor_warp ( wmWindow * win,
int x,
int y )

Set the cursor location in window coordinates (compatible with wmEvent.xy).

Note
Some platforms don't support this, check: WM_CAPABILITY_WINDOW_POSITION before relying on this functionality.

Definition at line 2692 of file wm_window.cc.

References wmWindow::eventstate, g_system, GHOST_SetCursorPosition(), wmWindow::ghostwin, wmEvent::prev_xy, wm_cursor_position_to_ghost_client_coords(), x, wmEvent::xy, and y.

Referenced by initFlyInfo(), wm_cursor_warp_relative(), and wm_gizmomap_modal_set().

◆ WM_desktop_cursor_sample_read()

bool WM_desktop_cursor_sample_read ( float r_col[3])

Return the color of the pixel at the current mouse cursor position on the desktop, whether in a Blender window or not. Returns false on failure or if not supported by the platform.

Definition at line 1428 of file wm_draw.cc.

References GHOST_GetPixelAtCursor().

Referenced by eyedropper_color_sample_fl().

◆ WM_drag_add_asset_list_item()

◆ WM_drag_add_local_ID()

void WM_drag_add_local_ID ( wmDrag * drag,
ID * id,
ID * from_parent )

◆ WM_drag_asset_id_import()

◆ WM_drag_asset_list_get()

◆ WM_drag_asset_will_import_linked()

bool WM_drag_asset_will_import_linked ( const wmDrag * drag)

◆ WM_drag_create_asset_data()

wmDragAsset * WM_drag_create_asset_data ( const blender::asset_system::AssetRepresentation * asset,
int import_method )
Note
Does not store asset in any way, so it's fine to pass a temporary.

Definition at line 649 of file wm_dragdrop.cc.

References wmDragAsset::asset, and wmDragAsset::import_method.

Referenced by blender::ed::asset::shelf::AssetDragController::create_drag_data(), UI_but_drag_set_asset(), and WM_drag_add_asset_list_item().

◆ WM_drag_create_path_data()

wmDragPath * WM_drag_create_path_data ( blender::Span< const char * > paths)

◆ WM_drag_data_create()

wmDrag * WM_drag_data_create ( bContext * C,
int icon,
eWM_DragDataType type,
void * poin,
unsigned int flags )

Create and fill the dragging data, but don't start dragging just yet (unlike WM_event_start_drag()). Must be followed up by WM_event_start_prepared_drag(), otherwise the returned pointer will leak memory.

Note that poin should be valid allocated and not on stack.

Definition at line 261 of file wm_dragdrop.cc.

References CTX_data_collection_get(), PointerRNA::data, wmDrag::flags, wmDrag::icon, wmDrag::poin, ptr, wmDrag::type, WM_drag_add_asset_list_item(), WM_drag_add_local_ID(), WM_DRAG_ASSET, WM_DRAG_ASSET_CATALOG, WM_DRAG_ASSET_LIST, WM_DRAG_FREE_DATA, WM_DRAG_GREASE_PENCIL_LAYER, WM_DRAG_ID, and WM_DRAG_PATH.

Referenced by blender::ed::outliner::outliner_item_drag_drop_invoke(), ui_but_drag_start(), and WM_event_start_drag().

◆ WM_drag_data_free()

◆ WM_drag_draw_default_fn()

void WM_drag_draw_default_fn ( bContext * C,
wmWindow * win,
wmDrag * drag,
const int xy[2] )

Definition at line 1148 of file wm_dragdrop.cc.

References wm_drag_draw_default(), and xy.

◆ WM_drag_draw_item_name_fn()

void WM_drag_draw_item_name_fn ( bContext * C,
wmWindow * win,
wmDrag * drag,
const int xy[2] )

Definition at line 1066 of file wm_dragdrop.cc.

References UI_SCALE_FAC, wm_drag_draw_item_name(), wmWindowViewport_ex(), and xy.

Referenced by view3d_dropboxes().

◆ WM_drag_free()

◆ WM_drag_free_imported_drag_ID()

void WM_drag_free_imported_drag_ID ( Main * bmain,
wmDrag * drag,
wmDropBox * drop )

Free asset ID imported for canceled drop.

If the asset was imported (linked/appended) using WM_drag_get_local_ID_or_import_from_asset()` (typically via a wmDropBox.copy() callback), we want the ID to be removed again if the drop operator cancels. This is for use as wmDropBox.cancel() callback.

Definition at line 780 of file wm_dragdrop.cc.

References wmDragAsset::asset, BKE_id_free_us(), blender::asset_system::AssetRepresentation::get_id_type(), id_us_plus(), wmDropBox::ptr, wmDrag::type, WM_DRAG_ASSET, WM_drag_get_asset_data(), and WM_operator_properties_id_lookup_from_name_or_session_uid().

Referenced by ED_dropboxes_ui(), blender::ed::space_node::node_dropboxes(), and view3d_dropboxes().

◆ WM_drag_free_list()

void WM_drag_free_list ( ListBase * lb)

◆ WM_drag_get_asset_catalog_data()

◆ WM_drag_get_asset_data()

◆ WM_drag_get_asset_meta_data()

◆ WM_drag_get_item_name()

◆ WM_drag_get_local_ID()

◆ WM_drag_get_local_ID_from_event()

◆ WM_drag_get_local_ID_or_import_from_asset()

ID * WM_drag_get_local_ID_or_import_from_asset ( const bContext * C,
const wmDrag * drag,
int idcode )

When dragging a local ID, return that. Otherwise, if dragging an asset-handle, link or append that depending on what was chosen by the drag-box (currently append only in fact).

Use WM_drag_free_imported_drag_ID() as cancel callback of the drop-box, so that the asset import is rolled back if the drop operator fails.

Definition at line 761 of file wm_dragdrop.cc.

References ELEM, wmDrag::type, WM_DRAG_ASSET, WM_drag_asset_id_import(), WM_drag_get_asset_data(), WM_drag_get_local_ID(), and WM_DRAG_ID.

Referenced by get_drag_path(), blender::ed::space_node::node_group_drop_copy(), blender::ed::space_node::node_id_drop_copy(), blender::ed::space_node::node_id_im_drop_copy(), sequencer_drop_copy(), ui_drop_material_copy(), view3d_id_drop_copy(), view3d_id_drop_copy_with_type(), and view3d_id_path_drop_copy().

◆ WM_drag_get_path_file_type()

int WM_drag_get_path_file_type ( const wmDrag * drag)

Note that even though the enum return type uses bit-flags, this should never have multiple type-bits set, so ELEM() like comparison is possible. To check all paths or to do a bit-flag check use WM_drag_has_path_file_type(drag, file_type) instead.

Definition at line 920 of file wm_dragdrop.cc.

References wmDragPath::file_types, wmDrag::poin, wmDrag::type, and WM_DRAG_PATH.

Referenced by blend_file_drop_poll(), clip_drop_poll(), image_drop_poll(), image_drop_preview_poll(), is_movie(), is_sound(), movie_drop_preview_poll(), sound_drop_preview_poll(), blender::tests::TEST(), and text_drop_path_poll().

◆ WM_drag_get_paths()

◆ WM_drag_get_single_path() [1/2]

const char * WM_drag_get_single_path ( const wmDrag * drag)

◆ WM_drag_get_single_path() [2/2]

const char * WM_drag_get_single_path ( const wmDrag * drag,
int file_type )

If drag contains path data, returns the first path in the path list that matches a a file_type.

Parameters
dragThe drag that could contain drag path data.
file_typeeFileSel_File_Types bit flag.

Definition at line 881 of file wm_dragdrop.cc.

References blender::Span< T >::begin(), blender::Span< T >::end(), wmDragPath::file_types, wmDragPath::paths, wmDrag::poin, wmDrag::type, and WM_DRAG_PATH.

◆ WM_drag_get_string()

const std::string & WM_drag_get_string ( const wmDrag * drag)

◆ WM_drag_get_string_firstline()

std::string WM_drag_get_string_firstline ( const wmDrag * drag)

Definition at line 937 of file wm_dragdrop.cc.

References BLI_assert, wmDrag::poin, str, wmDrag::type, and WM_DRAG_STRING.

Referenced by console_drop_string_copy().

◆ WM_drag_has_path_file_type()

bool WM_drag_has_path_file_type ( const wmDrag * drag,
int file_type )

If drag contains path data, returns if any file path match a file_type.

Parameters
dragThe drag that could contain drag path data.
file_typeeFileSel_File_Types bit flag.

Definition at line 901 of file wm_dragdrop.cc.

References wmDragPath::file_types_bit_flag, wmDrag::poin, wmDrag::type, and WM_DRAG_PATH.

Referenced by blender::tests::TEST().

◆ WM_drag_is_ID_type()

◆ WM_draw_cb_activate()

void * WM_draw_cb_activate ( wmWindow * win,
void(* draw )(const wmWindow *win, void *customdata),
void * customdata )

◆ WM_draw_cb_exit()

◆ WM_draw_region_free()

void WM_draw_region_free ( ARegion * region)

◆ WM_draw_region_get_bound_viewport()

GPUViewport * WM_draw_region_get_bound_viewport ( ARegion * region)

◆ WM_draw_region_get_viewport()

◆ WM_draw_region_viewport_bind()

void WM_draw_region_viewport_bind ( ARegion * region)

Definition at line 1652 of file wm_draw.cc.

References wm_draw_region_bind().

Referenced by ED_view3d_depth_override(), and ui_region_redraw_immediately().

◆ WM_draw_region_viewport_ensure()

void WM_draw_region_viewport_ensure ( Scene * scene,
ARegion * region,
short space_type )

◆ WM_draw_region_viewport_unbind()

void WM_draw_region_viewport_unbind ( ARegion * region)

Definition at line 1657 of file wm_draw.cc.

References wm_draw_region_unbind().

Referenced by ED_view3d_depth_override(), and ui_region_redraw_immediately().

◆ WM_dropbox_add()

◆ WM_dropbox_update_ot()

void WM_dropbox_update_ot ( )

Ensure operator pointers & properties are valid after operators have been added/removed.

Definition at line 174 of file wm_dragdrop.cc.

References dropboxes, LISTBASE_FOREACH, and wm_dropbox_item_update_ot().

Referenced by WM_keyconfig_update_ex().

◆ WM_dropboxmap_find()

◆ WM_enum_search_invoke()

◆ WM_event_absolute_delta_x()

int WM_event_absolute_delta_x ( const wmEvent * event)

Definition at line 588 of file wm_event_query.cc.

References wmEvent::flag, and WM_EVENT_SCROLL_INVERT.

Referenced by view_zoomdrag_invoke().

◆ WM_event_absolute_delta_y()

int WM_event_absolute_delta_y ( const wmEvent * event)

Definition at line 599 of file wm_event_query.cc.

References wmEvent::flag, and WM_EVENT_SCROLL_INVERT.

Referenced by ui_pan_to_scroll(), and view_zoomdrag_invoke().

◆ wm_event_add()

void wmEvent wmEvent * wm_event_add ( wmWindow * win,
const wmEvent * event_to_add )

◆ WM_event_add_dropbox_handler()

◆ wm_event_add_ex()

void wmEvent * wm_event_add_ex ( wmWindow * win,
const wmEvent * event_to_add,
const wmEvent * event_to_add_after )

◆ WM_event_add_fileselect()

void WM_event_add_fileselect ( bContext * C,
wmOperator * op )

The idea here is to keep a handler alive on window queue, owning the operator. The file window can send event to make it execute, thus ensuring executing happens outside of lower level queues, with UI refreshed. Should also allow multi-window solutions.

Definition at line 4380 of file wm_event_system.cc.

References wmEventHandler_Op::area, BLI_assert, wmOperatorType::check, wmEventHandler_Op::context, CTX_wm_area(), CTX_wm_area_set(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_window(), CTX_wm_window_set(), ED_fileselect_handler_area_find(), wmWindow::eventstate, EVT_FILESELECT_CANCEL, EVT_FILESELECT_EXTERNAL_CANCEL, EVT_FILESELECT_FULL_OPEN, wmEventHandler_Op::head, wmEventHandler_Op::is_fileselect, LISTBASE_FOREACH_MUTABLE, wmWindow::modalhandlers, wmEventHandler_Op::op, wmEventHandler_Op::region, wmEventHandler::type, wmOperator::type, wmEventHandler_Op::win, WM_event_fileselect_event(), wm_event_find_fileselect_root_window_from_context(), wm_handler_fileselect_do(), wm_handler_op_context_get_if_valid(), wm_handler_operator_insert(), and WM_HANDLER_TYPE_OP.

Referenced by blender::ed::asset::asset_bundle_install_invoke(), cachefile_layer_open_invoke(), cachefile_open_invoke(), clip_filesel(), file_browse_invoke(), blender::ed::io::filesel_drop_import_invoke(), find_missing_files_invoke(), image_filesel(), blender::ed::object::multires_external_save_invoke(), blender::ed::object::object_image_add_invoke(), open_invoke(), paste_from_file_invoke(), preferences_asset_library_add_invoke(), rigidbody_world_export_invoke(), screenshot_invoke(), sequencer_add_image_strip_invoke(), sequencer_add_movie_strip_invoke(), sequencer_add_sound_strip_invoke(), sequencer_change_path_invoke(), sequencer_export_subtitles_invoke(), text_open_invoke(), text_save_as_invoke(), blender::ed::object::volume_import_invoke(), wm_lib_relocate_invoke(), wm_link_append_invoke(), wm_open_mainfile__select_file_path(), WM_operator_filesel(), wm_recover_auto_save_invoke(), wm_save_as_mainfile_invoke(), and wm_save_mainfile_invoke().

◆ WM_event_add_keymap_handler()

◆ WM_event_add_keymap_handler_dynamic()

◆ WM_event_add_keymap_handler_poll()

◆ WM_event_add_keymap_handler_priority()

wmEventHandler_Keymap * WM_event_add_keymap_handler_priority ( ListBase * handlers,
wmKeyMap * keymap,
int priority )
Note
Priorities not implemented yet, for time being just insert in begin of list.

Definition at line 4809 of file wm_event_system.cc.

References BLI_addhead(), wmEventHandler_Keymap::head, wmEventHandler_Keymap::keymap, wmEventHandler::type, WM_event_remove_keymap_handler(), and WM_HANDLER_TYPE_KEYMAP.

Referenced by UI_popover_end().

◆ WM_event_add_keymap_handler_v2d_mask()

◆ WM_event_add_modal_handler()

wmEventHandler_Op wmEventHandler_Op * WM_event_add_modal_handler ( bContext * C,
wmOperator * op )

◆ WM_event_add_modal_handler_ex()

wmEventHandler_Op * WM_event_add_modal_handler_ex ( wmWindow * win,
ScrArea * area,
ARegion * region,
wmOperator * op )

Add a modal handler to win, area and region may optionally be NULL.

◆ WM_event_add_mousemove()

◆ WM_event_add_notifier()

void WM_event_add_notifier ( const bContext * C,
unsigned int type,
void * reference )

Definition at line 387 of file wm_event_system.cc.

References CTX_wm_manager(), CTX_wm_window(), and WM_event_add_notifier_ex().

Referenced by achannel_nlatrack_solo_widget_cb(), achannel_setting_flush_widget_cb(), achannel_setting_slider_cb(), achannel_setting_slider_nla_curve_cb(), achannel_setting_widget_cb(), act_markers_make_local_exec(), action_circle_select_exec(), action_new_exec(), action_pushdown_exec(), action_stash_create_exec(), action_stash_exec(), actkeys_bake_exec(), actkeys_box_select_exec(), actkeys_clean_exec(), actkeys_clickselect_exec(), actkeys_columnselect_exec(), actkeys_delete_exec(), actkeys_deselectall_exec(), actkeys_duplicate_exec(), actkeys_easing_exec(), actkeys_expo_exec(), actkeys_framejump_exec(), actkeys_handletype_exec(), actkeys_insertkey_exec(), actkeys_ipo_exec(), actkeys_keytype_exec(), actkeys_lassoselect_exec(), actkeys_mirror_exec(), actkeys_paste_exec(), actkeys_previewrange_exec(), actkeys_select_leftright_exec(), actkeys_select_less_exec(), actkeys_select_linked_exec(), actkeys_select_more_exec(), actkeys_snap_exec(), add_default_keyingset_exec(), add_driver_button_invoke(), add_driver_button_none(), add_feather_vertex_exec(), add_keyingset_button_exec(), add_marker_at_click_modal(), add_marker_exec(), blender::ed::space_node::add_node_group_asset(), add_or_move_to_collection_exec(), add_simple_uvs_exec(), blender::ed::object::add_type_with_obdata(), add_vertex_exec(), add_vertex_extrude(), add_vertex_handle_cyclic_at_point(), add_vertex_new(), add_vertex_subdivide(), ANIM_channel_draw_widgets(), anim_set_efra_exec(), anim_set_sfra_exec(), animchannels_box_select_exec(), animchannels_channel_select_keys_invoke(), animchannels_clean_empty_exec(), animchannels_collapse_exec(), animchannels_delete_exec(), animchannels_enable_exec(), animchannels_expand_exec(), animchannels_group_exec(), animchannels_mouseclick_invoke(), animchannels_rearrange_exec(), animchannels_rename_invoke(), animchannels_select_filter_modal(), animchannels_selectall_exec(), animchannels_setflag_exec(), animchannels_ungroup_exec(), annotation_draw_exec(), annotation_draw_invoke(), annotation_draw_modal(), apply_armature_pose2bones_exec(), blender::ed::object::apply_objects_internal(), area_close_exec(), area_docking_apply(), area_dupli_invoke(), area_join_cancel(), area_join_exec(), area_join_invoke(), area_join_modal(), area_move_apply_do(), area_split_apply(), area_split_exit(), area_swap_modal(), armature_align_bones_exec(), armature_autoside_names_exec(), armature_bone_primitive_add_exec(), armature_calc_roll_exec(), armature_click_extrude_exec(), armature_de_select_all_exec(), armature_de_select_less_exec(), armature_de_select_more_exec(), armature_delete_selected_exec(), armature_dissolve_selected_exec(), armature_duplicate_selected_exec(), armature_extrude_exec(), armature_fill_bones_exec(), armature_flip_names_exec(), armature_hide_exec(), armature_parent_clear_exec(), armature_parent_set_exec(), armature_reveal_exec(), armature_roll_clear_exec(), armature_select_hierarchy_exec(), armature_select_mirror_exec(), armature_shortest_path_pick_invoke(), armature_split_exec(), armature_subdivide_exec(), armature_switch_direction_exec(), armature_symmetrize_exec(), armature_undosys_step_decode(), blender::ed::asset::asset_catalog_redo_exec(), blender::ed::asset::asset_catalog_undo_exec(), blender::ed::asset::asset_library_refresh_exec(), blender::animrig::autokeyframe_property(), average_islands_scale_exec(), average_tracks_exec(), blender::ed::object::bake_image_exec(), blender::ed::object::bake_invoke(), blend_offset_exec(), blend_offset_modal_update(), blend_to_default_exec(), blend_to_default_modal_update(), blend_to_ease_exec(), blend_to_ease_modal_update(), blend_to_neighbor_exec(), blend_to_neighbor_modal_update(), bone_collection_add_exec(), bone_collection_assign_editbones(), bone_collection_assign_named_mode_specific(), bone_collection_assign_pchans(), bone_collection_move_exec(), bone_collection_remove_exec(), bone_collection_select(), bone_select_menu_exec(), bookmark_select_exec(), box_select_exec(), box_select_exec(), box_select_graph_exec(), breakdown_exec(), breakdown_modal_update(), brush_colors_flip_exec(), brush_edit_apply(), btw_smooth_exec(), btw_smooth_modal_update(), camera_background_image_add_exec(), camera_background_image_remove_exec(), change_frame_apply(), change_frame_apply(), change_frame_apply(), change_frame_cancel(), change_frame_modal(), channels_bake_exec(), blender::ed::object::childof_clear_inverse_exec(), blender::ed::object::childof_set_inverse_exec(), circle_select_exec(), circle_select_exec(), clean_tracks_exec(), clear_edited_exec(), clear_key_button_exec(), blender::ed::object::clear_override_library_exec(), clear_render_border_exec(), clear_render_border_exec(), clear_solution_exec(), clear_tilt_exec(), clear_track_path_exec(), blender::ed::space_node::clear_viewer_border_exec(), click_select_channel_gplayer(), click_select_channel_grease_pencil_layer(), clip_delete_marker(), clip_delete_track(), clip_set_2d_cursor_exec(), clip_set_scene_frames_exec(), blender::ed::object::collection_add_exec(), blender::ed::object::collection_create_exec(), blender::ed::outliner::collection_drop_invoke(), blender::ed::object::collection_exporter_add_exec(), blender::ed::object::collection_exporter_remove_exec(), blender::ed::object::collection_link_exec(), blender::ed::object::collection_objects_remove_all_exec(), blender::ed::object::collection_objects_remove_exec(), blender::ed::object::collection_remove_exec(), blender::ed::object::collection_unlink_exec(), connect_hair_exec(), blender::ed::object::constraint_add_exec(), blender::ed::object::constraint_apply_exec(), blender::ed::object::constraint_copy_exec(), blender::ed::object::constraint_copy_to_selected_exec(), blender::ed::object::constraint_delete_exec(), blender::ed::outliner::constraint_fn(), blender::ed::object::constraint_move_down_exec(), blender::ed::object::constraint_move_up_exec(), copy_driver_to_selected_button_exec(), copy_particle_dupliob_exec(), blender::ed::object::correctivesmooth_bind_exec(), create_orientation_exec(), create_plane_track_tracks_exec(), create_primitive_from_points(), cube_project_exec(), curve_decimate_exec(), curve_delete_exec(), curve_dissolve_exec(), curve_draw_exec(), curve_extrude_exec(), curve_normals_make_consistent_exec(), curve_pen_modal(), curve_select_less_exec(), curve_select_more_exec(), curve_select_random_exec(), curve_select_similar_exec(), curve_smooth_radius_exec(), curve_smooth_tilt_exec(), curve_smooth_weight_exec(), curve_split_exec(), curve_undosys_step_decode(), blender::ed::curves::curves_draw_exec(), blender::ed::sculpt_paint::curves_sculptmode_enter(), blender::ed::sculpt_paint::curves_sculptmode_toggle_exec(), blender::ed::curves::set_selection_domain::curves_set_selection_domain_exec(), curvesurf_prim_add(), cyclic_toggle_exec(), cylinder_project_exec(), blender::ed::object::dash_modifier_segment_add_exec(), blender::ed::object::dash_modifier_segment_move_exec(), blender::ed::object::dash_modifier_segment_remove_exec(), blender::ed::object::data_transfer_exec(), blender::ed::object::datalayout_transfer_exec(), de_select_all_exec(), de_select_first_exec(), de_select_last_exec(), decimate_exec(), decimate_modal_update(), blender::ed::object::bake_simulation::delete_baked_simulation_exec(), blender::ed::curves::curves_delete::delete_exec(), blender::ed::curves::curves_duplicate::delete_exec(), delete_exec(), delete_exec(), delete_fmodifier_cb(), delete_key_button_exec(), delete_key_using_keying_set(), delete_metaelems_exec(), delete_orientation_exec(), delete_track_exec(), detect_features_exec(), disable_markers_exec(), disconnect_hair_exec(), do_graph_region_driver_buttons(), do_graph_region_modifier_buttons(), do_lasso_select_marker(), do_lasso_select_mask(), blender::ed::space_node::do_lasso_select_node(), do_nla_region_buttons(), do_object_box_select(), blender::ed::outliner::do_outliner_item_editmode_toggle(), blender::ed::outliner::do_outliner_item_posemode_toggle(), do_pose_box_select(), do_preview_buttons(), do_set_scale(), do_uvedit_vertex(), do_view3d_region_buttons(), do_view3d_vgroup_buttons(), dopesheet_select_channel_exec(), draw_channel_labels(), driverdropper_sample(), blender::ed::object::drop_geometry_nodes_invoke(), blender::ed::object::drop_named_material_invoke(), drop_world_exec(), blender::ed::object::duplicate_exec(), duplicate_exec(), duplicate_metaelems_exec(), dupliob_move_down_exec(), dupliob_move_up_exec(), dupliob_refresh_exec(), ease_exec(), ease_modal_update(), ED_area_newspace(), ED_area_prevspace(), ED_armature_edit_select_pick_bone(), ED_armature_join_objects_exec(), ED_curve_editfont_select_pick(), ED_curve_editnurb_select_pick(), ED_curve_join_objects_exec(), ED_grease_pencil_join_objects_exec(), ED_lattice_select_pick(), ed_marker_add_exec(), ed_marker_box_select_exec(), ed_marker_camera_bind_exec(), ed_marker_delete_exec(), ed_marker_move_apply(), ed_marker_move_modal(), ed_marker_rename_exec(), ed_marker_select(), ed_marker_select_all_exec(), ed_marker_select_leftright_exec(), ED_mask_deselect_all(), ED_mball_select_pick(), ED_mesh_join_objects_exec(), ED_mesh_shapes_join_objects_exec(), ED_mesh_uv_loop_reset(), ED_object_posemode_enter(), ED_object_posemode_exit(), ed_object_select_pick(), ed_object_select_pick_camera_track(), blender::ed::object::ED_object_shape_key_add(), ED_outliner_select_sync_from_outliner(), ED_scene_add(), ED_scene_sequencer_add(), ED_screen_animation_play(), ED_screen_animation_timer(), ED_space_clip_set_clip(), ED_space_clip_set_mask(), ED_space_image_set_mask(), ED_undo_gpencil_step(), ed_undo_step_post(), ED_view3d_cursor3d_update(), ED_wpaint_ensure_data(), edbm_delete_exec(), edbm_dupli_extrude_cursor_invoke(), edbm_faces_select_interior_exec(), edbm_loop_multiselect_exec(), edbm_loop_to_region_exec(), edbm_region_to_loop_exec(), edbm_select_all_exec(), edbm_select_axis_exec(), edbm_select_by_attribute_exec(), edbm_select_face_by_sides_exec(), edbm_select_less_exec(), edbm_select_linked_exec(), edbm_select_linked_flat_faces_exec(), edbm_select_linked_pick_exec(), edbm_select_linked_pick_invoke(), edbm_select_loose_exec(), edbm_select_mirror_exec(), edbm_select_more_exec(), edbm_select_non_manifold_exec(), EDBM_select_pick(), edbm_select_random_exec(), edbm_select_sharp_edges_exec(), edbm_select_similar_region_exec(), edbm_select_ungrouped_exec(), EDBM_selectmode_set_multi(), EDBM_selectmode_to_scene(), EDBM_selectmode_toggle_multi(), edbm_separate_exec(), edcu_shortest_path_pick_invoke(), blender::ed::sculpt_paint::face_set::edit_modify_geometry(), blender::ed::curves::add_bezier::exec(), blender::ed::curves::add_circle::exec(), blender::ed::curves::clear_tilt::exec(), blender::ed::curves::curve_type_set::exec(), blender::ed::curves::cyclic_toggle::exec(), blender::ed::curves::set_handle_type::exec(), blender::ed::curves::subdivide::exec(), blender::ed::curves::switch_direction::exec(), blender::ed::object::explode_refresh_exec(), file_box_select_exec(), file_box_select_modal(), file_column_sort_ui_context_invoke(), file_delete_exec(), file_directory_enter_handle(), file_directory_new_exec(), file_filename_enter_handle(), file_hidedot_exec(), file_next_exec(), file_parent_exec(), file_previous_exec(), file_refresh_exec(), file_select_exec(), file_walk_select_invoke(), filelist_readjob_start(), filepath_drop_exec(), DocumentImporter::finish(), fly_modal(), fmodifier_reorder(), blender::ed::object::followpath_path_animate_exec(), font_cursor_set_apply(), font_undosys_step_decode(), blender::ed::object::forcefield_toggle_exec(), blender::ed::sculpt_paint::greasepencil::GreasePencilStrokeOperationCommon::foreach_editable_drawing(), blender::ed::sculpt_paint::greasepencil::GreasePencilStrokeOperationCommon::foreach_editable_drawing(), blender::ed::greasepencil::frame_clean_duplicate_exec(), frame_jump_exec(), frame_jump_exec(), frame_offset_exec(), gaussian_smooth_exec(), gaussian_smooth_modal_update(), geometry_extract_apply(), blender::ed::object::geometry_node_tree_copy_assign_exec(), blender::ed::object::geometry_nodes_input_attribute_toggle_exec(), blender::ed::geometry::geometry_randomization_exec(), gpencil_actframe_delete_exec(), gpencil_data_add_exec(), gpencil_data_unlink_exec(), gpencil_layer_add_exec(), gpencil_layer_move_exec(), gpencil_layer_remove_exec(), blender::ed::greasepencil::gpencil_stroke_subdivide_exec(), graph_circle_select_exec(), graph_disable_markers_exec(), graph_driver_delete_invalid_exec(), graph_driver_vars_paste_exec(), graph_fmodifier_add_exec(), graph_fmodifier_paste_exec(), graph_select_all_markers_exec(), graph_slider_modal(), graphkeys_bake_exec(), graphkeys_box_select_exec(), graphkeys_clean_exec(), graphkeys_click_insert_exec(), graphkeys_clickselect_exec(), graphkeys_columnselect_exec(), graphkeys_delete_exec(), graphkeys_deselectall_exec(), graphkeys_duplicate_exec(), graphkeys_easing_exec(), graphkeys_equalize_handles_exec(), graphkeys_euler_filter_exec(), graphkeys_expo_exec(), graphkeys_framejump_exec(), graphkeys_handletype_exec(), graphkeys_insertkey_exec(), graphkeys_ipo_exec(), graphkeys_keys_to_samples_exec(), graphkeys_lassoselect_exec(), graphkeys_mirror_exec(), graphkeys_paste_exec(), graphkeys_previewrange_exec(), graphkeys_samples_to_keys_exec(), graphkeys_select_key_handles_exec(), graphkeys_select_leftright_exec(), graphkeys_select_less_exec(), graphkeys_select_linked_exec(), graphkeys_select_more_exec(), graphkeys_smooth_exec(), graphkeys_snap_exec(), graphview_cursor_apply(), graphview_cursor_modal(), graphview_curves_hide_exec(), graphview_curves_reveal_exec(), blender::ed::greasepencil::grease_pencil_active_frame_delete_exec(), blender::ed::greasepencil::grease_pencil_caps_set_exec(), blender::ed::greasepencil::grease_pencil_clean_loose_exec(), blender::ed::greasepencil::grease_pencil_cyclical_set_exec(), blender::ed::greasepencil::grease_pencil_delete_exec(), blender::ed::greasepencil::grease_pencil_delete_frame_exec(), blender::ed::greasepencil::grease_pencil_dissolve_exec(), blender::ed::greasepencil::grease_pencil_draw_operator_invoke(), blender::ed::greasepencil::grease_pencil_duplicate_exec(), blender::ed::greasepencil::grease_pencil_extrude_exec(), blender::ed::sculpt_paint::grease_pencil_fill_event_modal_map(), blender::ed::sculpt_paint::grease_pencil_fill_exit(), blender::ed::sculpt_paint::grease_pencil_fill_invoke(), blender::ed::sculpt_paint::grease_pencil_fill_modal(), blender::ed::greasepencil::grease_pencil_frame_duplicate_exec(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_invoke(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_restore(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_exec(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_update(), blender::ed::greasepencil::grease_pencil_layer_active_exec(), blender::ed::greasepencil::grease_pencil_layer_add_exec(), blender::ed::greasepencil::grease_pencil_layer_duplicate_exec(), blender::ed::greasepencil::grease_pencil_layer_duplicate_object_exec(), blender::ed::greasepencil::grease_pencil_layer_group_add_exec(), blender::ed::greasepencil::grease_pencil_layer_group_color_tag_exec(), blender::ed::greasepencil::grease_pencil_layer_group_remove_exec(), blender::ed::greasepencil::grease_pencil_layer_hide_exec(), blender::ed::greasepencil::grease_pencil_layer_isolate_exec(), blender::ed::greasepencil::grease_pencil_layer_lock_all_exec(), blender::ed::greasepencil::grease_pencil_layer_mask_add_exec(), blender::ed::greasepencil::grease_pencil_layer_mask_remove_exec(), blender::ed::greasepencil::grease_pencil_layer_mask_reorder_exec(), blender::ed::greasepencil::grease_pencil_layer_move_exec(), blender::ed::greasepencil::grease_pencil_layer_remove_exec(), blender::ed::greasepencil::grease_pencil_layer_reorder_exec(), blender::ed::greasepencil::grease_pencil_layer_reveal_exec(), blender::ed::greasepencil::grease_pencil_material_copy_to_object_exec(), blender::ed::greasepencil::grease_pencil_material_hide_exec(), blender::ed::greasepencil::grease_pencil_material_lock_all_exec(), blender::ed::greasepencil::grease_pencil_material_lock_unselected_exec(), blender::ed::greasepencil::grease_pencil_material_lock_unused_exec(), blender::ed::greasepencil::grease_pencil_material_reveal_exec(), blender::ed::greasepencil::grease_pencil_material_select_exec(), blender::ed::greasepencil::grease_pencil_material_unlock_all_exec(), blender::ed::greasepencil::grease_pencil_merge_layer_exec(), blender::ed::greasepencil::grease_pencil_move_to_layer_exec(), blender::ed::greasepencil::grease_pencil_paste_strokes_exec(), blender::ed::greasepencil::grease_pencil_primitive_update_view(), blender::ed::greasepencil::grease_pencil_reproject_exec(), blender::ed::greasepencil::grease_pencil_reset_uvs_exec(), blender::ed::sculpt_paint::grease_pencil_sculpt_paint_invoke(), blender::ed::greasepencil::grease_pencil_separate_exec(), blender::ed::greasepencil::grease_pencil_separate_layer(), blender::ed::greasepencil::grease_pencil_separate_material(), blender::ed::greasepencil::grease_pencil_separate_selected(), blender::ed::greasepencil::grease_pencil_set_active_material_exec(), blender::ed::greasepencil::grease_pencil_set_curve_resolution_exec(), blender::ed::greasepencil::grease_pencil_set_curve_type_exec(), blender::ed::greasepencil::grease_pencil_set_handle_type_exec(), blender::ed::greasepencil::grease_pencil_set_material_exec(), blender::ed::greasepencil::grease_pencil_set_uniform_opacity_exec(), blender::ed::greasepencil::grease_pencil_set_uniform_thickness_exec(), blender::ed::greasepencil::grease_pencil_snap_cursor_to_sel_exec(), blender::ed::greasepencil::grease_pencil_snap_to_cursor_exec(), blender::ed::greasepencil::grease_pencil_snap_to_grid_exec(), blender::ed::greasepencil::grease_pencil_stroke_material_set_exec(), blender::ed::greasepencil::grease_pencil_stroke_merge_by_distance_exec(), blender::ed::greasepencil::grease_pencil_stroke_reorder_exec(), blender::ed::greasepencil::grease_pencil_stroke_simplify_exec(), blender::ed::greasepencil::grease_pencil_stroke_smooth_exec(), blender::ed::greasepencil::grease_pencil_stroke_switch_direction_exec(), blender::ed::greasepencil::grease_pencil_texture_gradient_exec(), blender::ed::sculpt_paint::grease_pencil_update_extend(), blender::ed::sculpt_paint::grease_pencil_vertex_brush_stroke_invoke(), blender::ed::greasepencil::grease_pencil_vertex_paint_brightness_contrast_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_hsv_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_invert_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_levels_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_reset_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_set_exec(), blender::ed::greasepencil::grease_pencil_weight_invert_exec(), handle_number_input(), header_toggle_menus_exec(), hide_exec(), hide_exec(), hide_metaelems_exec(), hide_tracks_clear_exec(), hide_tracks_exec(), blender::ed::outliner::id_delete_tag(), blender::ed::outliner::id_override_library_resync_hierarchy_process(), image_add_render_slot_exec(), image_clear_render_slot_exec(), image_clipboard_paste_exec(), image_cycle_render_slot_exec(), image_flip_exec(), image_invert_exec(), image_multi_cb(), image_multiview_cb(), image_new_exec(), image_open_exec(), image_pack_exec(), image_read_viewlayers_exec(), image_reload_exec(), image_remove_render_slot_exec(), image_replace_exec(), image_rotate_orthogonal_exec(), image_sample_apply(), image_scale_exec(), image_unpack_exec(), blender::ed::greasepencil::insert_blank_frame_exec(), insert_key(), insert_key_button_exec(), insert_key_with_keyingset(), join_tracks_exec(), blender::ed::object::jump_to_object(), keyframe_jump_exec(), keyframe_jump_exec(), keyframe_set_flag(), keyingset_active_menu_exec(), blender::ed::object::laplaciandeform_bind_exec(), lattice_flip_exec(), lattice_select_all_exec(), lattice_select_mirror_exec(), lattice_select_more_less(), lattice_select_random_exec(), lattice_select_ungrouped_exec(), lattice_undosys_step_decode(), lib_id_generate_preview_exec(), lib_id_generate_preview_from_object_exec(), lib_id_load_custom_preview_exec(), lib_id_override_editable_toggle_exec(), blender::ed::object::light_linking_link_exec(), blender::ed::object::light_linking_select_exec(), blender::ed::object::light_linking_unlink_from_collection_exec(), lightprobe_cache_free_exec(), blender::ed::object::limitdistance_reset_exec(), lineart_bake_startjob(), lineart_gpencil_clear_strokes_exec(), localview_exec(), localview_remove_from_exec(), lock_selection_toggle_exec(), lock_tracks_exec(), blender::ed::object::make_links_data_exec(), blender::ed::object::make_links_scene_exec(), blender::ed::object::make_local_exec(), blender::ed::object::make_override_library_exec(), make_prim_finish(), make_regular_exec(), make_segment_exec(), blender::ed::object::make_single_user_exec(), marker_block_handler(), marker_jump_exec(), marker_update_cb(), mask_duplicate_exec(), mask_feather_weight_clear_exec(), mask_hide_view_clear_exec(), mask_hide_view_set_exec(), mask_layer_move_exec(), mask_layer_new_exec(), mask_layer_remove_exec(), mask_new_exec(), mask_normals_make_consistent_exec(), mask_parent_clear_exec(), mask_parent_set_exec(), mask_select_linked_exec(), mask_select_linked_pick_invoke(), mask_select_more_less(), mask_shape_key_clear_exec(), mask_shape_key_feather_reset_exec(), mask_shape_key_insert_exec(), mask_shape_key_rekey_exec(), mask_switch_direction_exec(), match_slope_exec(), match_slope_modal_update(), match_texture_space_exec(), blender::ed::outliner::material_drop_invoke(), blender::ed::greasepencil::material_isolate_exec(), material_slot_add_exec(), material_slot_assign_exec(), material_slot_copy_exec(), material_slot_de_select(), material_slot_move_exec(), material_slot_remove_exec(), material_slot_remove_unused_exec(), mball_select_all_exec(), mball_select_similar_exec(), mball_undosys_step_decode(), memfile_undosys_step_decode(), mesh_customdata_clear_exec__internal(), mesh_customdata_custom_splitnormals_add_exec(), mesh_customdata_custom_splitnormals_clear_exec(), mesh_customdata_skin_add_exec(), mesh_undosys_step_decode(), mesh_uv_texture_add_exec(), mesh_uv_texture_remove_exec(), blender::ed::object::meshdeform_bind_exec(), minimize_stretch_exit(), minimize_stretch_iteration(), mirror_exec(), mode_set_exec(), blender::ed::object::modifier_add_asset_exec(), blender::ed::object::modifier_add_exec(), blender::ed::object::modifier_apply_exec_ex(), blender::ed::object::modifier_convert_exec(), blender::ed::object::modifier_copy_exec(), blender::ed::object::modifier_copy_to_selected_exec(), blender::ed::outliner::modifier_fn(), blender::ed::object::modifier_link(), blender::ed::object::modifier_move_down_exec(), blender::ed::object::modifier_move_up_exec(), blender::ed::object::modifier_remove_exec(), blender::ed::object::modifier_set_active_exec(), mouse_mesh_loop(), mouse_select(), move_lines_exec(), blender::ed::object::move_to_collection_exec(), blender::ed::object::multires_base_apply_exec(), blender::ed::object::multires_higher_levels_delete_exec(), blender::ed::object::multires_rebuild_subdiv_exec(), blender::ed::object::multires_reshape_exec(), blender::ed::object::multires_subdivide_exec(), blender::ed::object::multires_unsubdivide_exec(), blender::ed::outliner::namebutton_fn(), new_image_from_plane_marker_exec(), new_material_exec(), blender::ed::space_node::new_node_tree_exec(), new_particle_settings_exec(), new_particle_target_exec(), new_texture_exec(), new_world_exec(), nla_fmodifier_add_exec(), nla_fmodifier_paste_exec(), nlaedit_add_actionclip_exec(), nlaedit_add_meta_exec(), nlaedit_add_sound_exec(), nlaedit_add_tracks_exec(), nlaedit_add_transition_exec(), nlaedit_apply_scale_exec(), nlaedit_box_select_exec(), nlaedit_clear_scale_exec(), nlaedit_clickselect_exec(), nlaedit_delete_exec(), nlaedit_delete_tracks_exec(), nlaedit_deselectall_exec(), nlaedit_duplicate_exec(), nlaedit_enable_tweakmode_exec(), nlaedit_make_single_user_exec(), nlaedit_move_down_exec(), nlaedit_move_up_exec(), nlaedit_objects_add_exec(), nlaedit_previewrange_exec(), nlaedit_remove_meta_exec(), nlaedit_select_leftright_exec(), nlaedit_snap_exec(), nlaedit_split_exec(), nlaedit_swap_exec(), nlaedit_sync_actlen_exec(), nlaedit_toggle_mute_exec(), nlatracks_mouseclick_invoke(), nlatracks_pushdown_exec(), blender::ed::space_node::node_add_file_exec(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_attach_invoke(), blender::ed::space_node::node_box_select_exec(), blender::ed::space_node::node_circleselect_exec(), blender::ed::space_node::node_copy_color_exec(), blender::ed::space_node::node_default_group_width_set_exec(), blender::ed::space_node::node_delete_reconnect_exec(), blender::ed::space_node::node_detach_exec(), blender::ed::space_node::node_group_edit_exec(), blender::ed::space_node::node_group_make_exec(), blender::ed::space_node::node_hide_toggle_exec(), blender::ed::space_node::node_join_exec(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_options_toggle_exec(), blender::ed::space_node::node_panel_toggle_button_cb(), blender::ed::space_node::node_parent_set_exec(), blender::ed::space_node::node_select_all_exec(), blender::ed::space_node::node_select_grouped_exec(), blender::ed::space_node::node_select_linked_from_exec(), blender::ed::space_node::node_select_linked_to_exec(), blender::ed::space_node::node_select_single(), blender::ed::space_node::node_socket_toggle_exec(), obedit_circle_select(), blender::ed::object::object_add_hook_newob_exec(), blender::ed::object::object_add_hook_selob_exec(), blender::ed::object::object_add_named_exec(), blender::ed::object::object_calculate_paths_exec(), blender::ed::object::object_clear_paths_exec(), blender::ed::object::object_clear_transform_generic_exec(), blender::ed::object::object_constraint_copy_exec(), blender::ed::object::object_constraints_clear_exec(), blender::ed::object::object_convert_exec(), blender::ed::object::object_delete_exec(), blender::ed::object::object_duplicates_make_real_exec(), blender::ed::object::object_hide_collection_exec(), blender::ed::object::object_hide_view_clear_exec(), blender::ed::object::object_hide_view_set_exec(), blender::ed::object::object_hook_assign_exec(), blender::ed::object::object_hook_recenter_exec(), blender::ed::object::object_hook_remove_exec(), blender::ed::object::object_hook_reset_exec(), blender::ed::object::object_hook_select_exec(), blender::ed::object::object_image_add_invoke(), blender::ed::object::object_metaball_add_exec(), blender::ed::object::object_modifiers_copy_exec(), blender::ed::object::object_origin_clear_exec(), blender::ed::object::object_origin_set_exec(), blender::ed::object::object_parent_inverse_apply_exec(), blender::ed::object::object_rand_verts_exec(), blender::ed::object::object_select_all_exec(), blender::ed::object::object_select_by_type_exec(), blender::ed::object::object_select_grouped_exec(), blender::ed::object::object_select_less_exec(), blender::ed::object::object_select_linked_exec(), object_select_menu_exec(), blender::ed::object::object_select_mirror_exec(), blender::ed::object::object_select_more_exec(), blender::ed::object::object_select_random_exec(), blender::ed::object::object_select_same_collection_exec(), blender::ed::object::object_shape_key_mirror(), blender::ed::object::object_speaker_add_exec(), blender::ed::object::object_track_clear_exec(), blender::ed::object::object_transfer_mode_invoke(), blender::ed::object::object_transform_axis_target_cancel(), blender::ed::object::object_transform_axis_target_modal(), blender::ed::object::object_update_all_paths_exec(), blender::ed::object::object_update_paths_exec(), blender::ed::object::object_warp_verts_exec(), blender::ed::object::objects_add_active_exec(), blender::ed::object::objects_bake_render_invoke(), blender::ed::object::objects_remove_active_exec(), blender::ed::object::objectsolver_clear_inverse_exec(), blender::ed::object::objectsolver_set_inverse_exec(), blender::ed::object::ocean_bake_exec(), blender::ui::bonecollections::BoneCollectionDropTarget::on_drop(), blender::ui::greasepencil::LayerNodeDropTarget::on_drop(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_done(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_extended(), open_exec(), blender::ed::sculpt_paint::optimize_exec(), blender::ed::outliner::outliner_action_set_exec(), blender::ed::outliner::outliner_animdata_operation_exec(), blender::ed::outliner::outliner_box_select_exec(), blender::ed::outliner::outliner_buttons(), blender::ed::outliner::outliner_color_tag_set_exec(), blender::ed::outliner::outliner_data_operation_exec(), blender::ed::outliner::outliner_delete_exec(), blender::ed::outliner::outliner_drivers_addsel_exec(), blender::ed::outliner::outliner_drivers_deletesel_exec(), blender::ed::outliner::outliner_id_operation_exec(), blender::ed::outliner::outliner_id_paste_exec(), blender::ed::outliner::outliner_id_remap_exec(), blender::ed::outliner::outliner_keyingset_additems_exec(), blender::ed::outliner::outliner_keyingset_removeitems_exec(), blender::ed::outliner::outliner_lib_operation_exec(), blender::ed::outliner::outliner_liboverride_operation_exec(), blender::ed::outliner::outliner_object_operation_exec(), blender::ed::outliner::outliner_orphans_purge_exec(), blender::ed::outliner::outliner_select_all_exec(), override_idtemplate_clear_exec(), override_idtemplate_make_exec(), paint_2d_bucket_fill(), paint_2d_gradient_fill(), paint_2d_redraw(), paint_mask_slice_exec(), paint_proj_redraw(), paint_weight_gradient_exec(), paint_weight_gradient_modal(), paintcurve_cursor_invoke(), paintcurve_new_exec(), paintface_flush_flags(), blender::ed::greasepencil::paintmode_toggle_exec(), paintvert_tag_select_update(), palette_color_move_exec(), palette_join_exec(), palette_sort_exec(), blender::ed::object::parent_clear_exec(), blender::ed::outliner::parent_clear_invoke(), blender::ed::outliner::parent_drop_set_parents(), blender::ed::object::parent_noinv_set_exec(), blender::ed::object::parent_set_exec(), particle_system_add_exec(), particle_system_remove_exec(), paste_driver_button_exec(), paste_material_exec(), paste_mtex_exec(), paste_splines_exec(), paste_tracks_exec(), PE_box_select(), PE_circle_select(), PE_lasso_select(), PE_mouse_particles(), pe_select_all_exec(), pose_autoside_names_exec(), pose_bone_rotmode_exec(), pose_calculate_paths_exec(), pose_clear_paths_exec(), pose_clear_transform_generic_exec(), pose_clear_user_transforms_exec(), blender::ed::object::pose_constraint_copy_exec(), blender::ed::object::pose_constraints_clear_exec(), pose_de_select_all_exec(), pose_flip_names_exec(), pose_flip_quats_exec(), pose_hide_exec(), blender::ed::object::pose_ik_clear_exec(), pose_paste_exec(), pose_reveal_exec(), pose_select_mirror_exec(), pose_update_paths_exec(), pose_update_paths_range_exec(), pose_visual_transform_apply_exec(), poseAnim_mapping_refresh(), poselib_blend_apply(), poselib_blend_cleanup(), poselib_keytag_pose(), preferences_extension_repo_add_exec(), preferences_extension_repo_remove_exec(), preferences_reset_default_theme_exec(), previewrange_clear_exec(), previewrange_define_exec(), proj_paint_add_slot(), ptcache_add_new_exec(), ptcache_bake_from_cache_exec(), ptcache_free_bake_all_exec(), ptcache_free_bake_exec(), ptcache_remove_exec(), push_pull_exec(), push_pull_modal_update(), pyrna_struct_driver_add(), pyrna_struct_driver_remove(), pyrna_struct_keyframe_insert(), radial_control_cancel(), refine_marker_exec(), region_flip_exec(), region_quadview_exec(), region_scale_modal(), rekey_exec(), reload_exec(), remove_active_keyingset_exec(), remove_doubles_exec(), remove_driver_button_exec(), remove_keyingset_button_exec(), remove_particle_dupliob_exec(), remove_particle_target_exec(), render_border_exec(), render_border_exec(), render_view_add_exec(), render_view_remove_exec(), blender::ed::sculpt_paint::expand::reposition_pivot(), reset_exec(), reset_exec(), blender::ed::object::reset_override_library_exec(), blender::ed::sculpt_paint::undo::restore_active_shape_key(), blender::ed::outliner::restrictbutton_bone_select_fn(), blender::ed::outliner::restrictbutton_ebone_select_fn(), blender::ed::outliner::restrictbutton_ebone_visibility_fn(), blender::ed::outliner::restrictbutton_gp_layer_flag_fn(), blender::ed::outliner::restrictbutton_r_lay_fn(), reveal_exec(), reveal_exec(), reveal_metaelems_exec(), rigidbody_con_add_exec(), rigidbody_con_remove_exec(), rigidbody_object_add_exec(), rigidbody_object_remove_exec(), rigidbody_objects_add_exec(), rigidbody_objects_calc_mass_exec(), rigidbody_objects_remove_exec(), rigidbody_objects_shape_change_exec(), ringsel_finish(), blender::ed::spreadsheet::row_filter_add_exec(), blender::ed::spreadsheet::row_filter_remove_exec(), blender::ed::geometry::run_node_group_exec(), sample_color_exec(), blender::ed::sculpt_paint::sample_color_invoke(), sample_color_invoke(), sample_color_modal(), scale_average_exec(), scale_average_modal_update(), scale_from_neighbor_exec(), scale_from_neighbor_modal_update(), scene_delete_exec(), blender::ed::outliner::scene_fn(), screen_animation_cancel_exec(), screen_change_update(), screen_delete_exec(), screen_new_exec(), screen_opengl_render_end(), screen_opengl_render_exec(), screen_opengl_render_modal(), screen_render_exec(), screen_render_invoke(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), blender::ed::sculpt_paint::sculpt_mode_toggle_exec(), SCULPT_tag_update_overlays(), blender::ed::greasepencil::sculptmode_toggle_exec(), segment_speed_set_exec(), blender::ed::curves::select_all_exec(), blender::ed::greasepencil::select_all_exec(), select_all_exec(), select_all_exec(), blender::ed::greasepencil::select_alternate_exec(), blender::ed::curves::select_ends_exec(), blender::ed::greasepencil::select_ends_exec(), select_exec(), select_exec(), select_grouped_exec(), blender::ed::sculpt_paint::select_grow::select_grow_modal(), blender::ed::sculpt_paint::select_grow::select_grow_update(), blender::ed::curves::select_less_exec(), blender::ed::greasepencil::select_less_exec(), select_less_exec(), blender::ed::object::select_linked_by_id(), blender::ed::curves::select_linked_exec(), blender::ed::greasepencil::select_linked_exec(), select_linked_exec(), select_linked_exec(), select_linked_pick_exec(), select_linked_pick_invoke(), select_marker_camera_switch(), blender::ed::curves::select_more_exec(), blender::ed::greasepencil::select_more_exec(), select_more_exec(), select_next_exec(), select_nth_exec(), select_orientation_exec(), select_previous_exec(), blender::ed::curves::select_random_exec(), blender::ed::greasepencil::select_random_exec(), blender::ed::sculpt_paint::select_random::select_random_exec(), select_random_exec(), select_random_metaelems_exec(), select_roots_exec(), select_row_exec(), blender::ed::greasepencil::select_set_mode_exec(), select_similar_bone_collection(), select_similar_bone_color(), select_similar_children(), select_similar_children_immediate(), select_similar_data_pchan(), select_similar_direction(), blender::ed::greasepencil::select_similar_exec(), select_similar_length(), select_similar_prefix(), select_similar_siblings(), select_similar_suffix(), select_tips_exec(), blender::ed::greasepencil::selection_update(), blender::ed::asset::shelf::send_redraw_notifier(), separate_armature_exec(), separate_exec(), seq_prefetch_wm_notify(), seq_prefetch_wm_notify(), sequencer_add_duplicate_exec(), sequencer_add_effect_strip_exec(), sequencer_add_image_strip_exec(), sequencer_add_mask_strip_exec(), sequencer_add_movie_strip_exec(), sequencer_add_movieclip_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_add_scene_strip_new_exec(), sequencer_add_sound_strip_exec(), sequencer_change_effect_input_exec(), sequencer_change_effect_type_exec(), sequencer_change_path_exec(), sequencer_change_scene_exec(), sequencer_clipboard_paste_exec(), sequencer_connect_exec(), sequencer_de_select_all_exec(), sequencer_delete_exec(), sequencer_delete_strip_data(), sequencer_disconnect_exec(), sequencer_enable_proxies_exec(), sequencer_gap_insert_exec(), sequencer_gap_remove_exec(), sequencer_lock_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_meta_toggle_exec(), sequencer_mute_exec(), sequencer_offset_clear_exec(), sequencer_preview_add_sound(), sequencer_reassign_inputs_exec(), sequencer_refresh_all_exec(), sequencer_reload_exec(), sequencer_rename_channel_invoke(), sequencer_rendersize_exec(), sequencer_retiming_data_show_exec(), sequencer_retiming_freeze_frame_add_exec(), sequencer_retiming_key_add_exec(), sequencer_retiming_key_delete_exec(), sequencer_retiming_key_select_exec(), sequencer_retiming_reset_exec(), sequencer_retiming_select_all_exec(), sequencer_retiming_select_linked_time(), sequencer_retiming_transition_add_exec(), sequencer_scene_frame_range_update_exec(), sequencer_select_do_updates(), sequencer_select_exec(), sequencer_select_grouped_exec(), sequencer_select_handles_exec(), sequencer_select_inverse_exec(), sequencer_select_less_exec(), sequencer_select_linked_exec(), sequencer_select_linked_pick_invoke(), sequencer_select_more_exec(), sequencer_select_side_exec(), sequencer_select_side_of_frame_exec(), sequencer_separate_images_exec(), sequencer_set_2d_cursor_exec(), sequencer_set_range_to_strips_exec(), sequencer_slip_exec(), sequencer_slip_invoke(), sequencer_slip_modal(), sequencer_snap_exec(), sequencer_split_exec(), sequencer_strip_color_tag_set_exec(), sequencer_strip_jump_exec(), sequencer_strip_transform_clear_exec(), sequencer_strip_transform_fit_exec(), sequencer_swap_data_exec(), sequencer_swap_exec(), sequencer_swap_inputs_exec(), sequencer_unlock_exec(), sequencer_unmute_exec(), blender::ed::object::set_active_group_exec(), blender::ed::curves::set_attribute_exec(), set_axis_exec(), set_goal_weight_exec(), set_handle_type_exec(), set_handle_type_exec(), set_origin_exec(), blender::ed::sculpt_paint::set_pivot_position_exec(), set_plane_exec(), set_radius_exec(), blender::ed::mesh::set_sharpness_by_angle_exec(), set_solver_keyframe_exec(), set_spline_type_exec(), set_style(), blender::ed::object::shade_auto_smooth_exec(), blender::ed::object::shade_smooth_exec(), shade_smooth_exec(), blender::ed::object::shaderfx_add_exec(), blender::ed::object::shaderfx_move_down_exec(), blender::ed::object::shaderfx_move_up_exec(), blender::ed::object::shaderfx_remove_exec(), shape_cut_exec(), blender::ed::object::shape_key_clear_exec(), blender::ed::object::shape_key_lock_exec(), blender::ed::object::shape_key_move_exec(), blender::ed::object::shape_key_remove_exec(), blender::ed::object::shape_key_retime_exec(), shear_exec(), shear_modal_update(), blender::ed::object::skin_armature_create_exec(), blender::ed::object::skin_loose_mark_clear_exec(), blender::ed::object::skin_radii_equalize_exec(), blender::ed::object::skin_root_mark_exec(), slide_marker_invoke(), slide_marker_modal(), slide_plane_marker_invoke(), slide_plane_marker_modal(), slide_point_customdata(), slide_point_invoke(), slide_point_modal(), slide_spline_curvature_invoke(), slide_spline_curvature_modal(), slot_new_for_object_exec(), smooth_exec(), snap_curs_to_active_exec(), snap_curs_to_center_exec(), snap_curs_to_grid_exec(), snap_curs_to_sel_exec(), blender::ed::curves::snap_curves_to_surface::snap_curves_to_surface_exec(), snap_sel_to_grid_exec(), snap_selected_to_location(), solve_camera_invoke(), sort_bmelem_flag(), space_workspace_cycle_invoke(), special_aftertrans_update__mask(), special_aftertrans_update__movieclip(), special_aftertrans_update__movieclip_for_curves(), special_aftertrans_update__nla(), sphere_project_exec(), spin_exec(), stabilize_2d_add_exec(), stabilize_2d_remove_exec(), stabilize_2d_rotation_add_exec(), stabilize_2d_rotation_remove_exec(), stabilize_2d_rotation_select_exec(), stabilize_2d_select_exec(), stencil_control_modal(), stencil_fit_image_aspect_exec(), stencil_reset_transform_exec(), blender::ed::curves::undo::step_decode(), blender::ed::greasepencil::undo::step_decode(), stitch_exit(), stitch_invoke(), blender::ed::object::stretchto_reset_exec(), strip_modifier_add_exec(), strip_modifier_copy_exec(), strip_modifier_equalizer_redefine_exec(), strip_modifier_move_exec(), strip_modifier_remove_exec(), strip_speed_set_exec(), blender::ed::sculpt_paint::stroke_done(), blender::ed::greasepencil::stroke_trim_execute(), subdivide_exec(), subdivide_exec(), blender::ed::curves::surface_set::surface_set_exec(), surface_slot_remove_exec(), blender::ed::object::surfacedeform_bind_exec(), switch_direction_exec(), blender::ed::sculpt_paint::symmetrize_exec(), blender::ed::sculpt_paint::hide::tag_update_visibility(), target_move_down_exec(), target_move_up_exec(), template_id_cb(), template_texture_select(), text_comment_exec(), text_convert_whitespace_exec(), text_cursor_set_apply(), text_cursor_set_exec(), text_cursor_set_exit(), text_cut_exec(), text_delete_exec(), text_duplicate_line_exec(), text_find_and_replace(), text_indent_exec(), text_insert_exec(), text_jump_exec(), text_jump_to_file_at_point_internal(), text_line_break_exec(), text_line_number_invoke(), text_make_internal_exec(), text_move_cursor(), text_new_exec(), text_open_exec(), text_paste_exec(), text_reload_exec(), text_replace_all(), text_run_script(), text_save_as_exec(), text_save_exec(), text_select_all_exec(), text_select_line_exec(), text_select_word_exec(), text_toggle_overwrite_exec(), text_undosys_step_decode(), text_unindent_exec(), text_unlink_exec(), text_update_edited(), textbox_add_exec(), textbox_remove_exec(), texture_paint_camera_project_exec(), blender::ed::sculpt_paint::image::ops::paint::texture_paint_init(), texture_slot_move_exec(), tile_add_exec(), tile_fill_exec(), tile_remove_exec(), blender::ed::object::time_modifier_segment_add_exec(), blender::ed::object::time_modifier_segment_move_exec(), blender::ed::object::time_modifier_segment_remove_exec(), time_offset_exec(), time_offset_modal_update(), toggle_cyclic_exec(), toggle_matcap_flip_exec(), toggle_shading_exec(), toggle_xray_exec(), track_copy_color_exec(), blender::ed::object::track_set_exec(), tracking_object_new_exec(), tracking_object_remove_exec(), transform_active_color(), transform_exec(), blender::ed::outliner::tree_element_active_ebone__sel(), blender::ed::outliner::tree_element_bone_activate(), blender::ed::outliner::tree_element_bonecollection_activate(), blender::ed::outliner::tree_element_camera_activate(), blender::ed::outliner::tree_element_constraint_activate(), blender::ed::outliner::tree_element_defgroup_activate(), blender::ed::outliner::tree_element_gplayer_activate(), blender::ed::outliner::tree_element_grease_pencil_node_activate(), blender::ed::outliner::tree_element_material_activate(), blender::ed::outliner::tree_element_modifier_activate(), blender::ed::outliner::tree_element_object_activate(), blender::ed::outliner::tree_element_posechannel_activate(), blender::ed::outliner::tree_element_psys_activate(), blender::ed::outliner::tree_element_sequence_activate(), blender::ed::outliner::tree_element_viewlayer_activate(), txt_add_object(), type_toggle_exec(), ui_apply_but_autokey(), ui_but_anim_expression_create(), ui_but_anim_expression_set(), ui_drop_material_exec(), ui_imageuser_layer_menu_step(), ui_imageuser_pass_menu_step(), ui_imageuser_slot_menu_step(), ui_numedit_but_TRACKPREVIEW(), ui_template_id_liboverride_hierarchy_make(), undo_history_exec(), unify_length_exec(), update_autoflags_fcurve(), update_image_from_plane_marker_exec(), update_reports_display_invoke(), uv_from_view_exec(), uv_hide_exec(), uv_mark_seam_exec(), uv_paste_exec(), uv_pin_exec(), uv_remove_doubles_to_selected(), uv_remove_doubles_to_selected_shared_vertex(), uv_remove_doubles_to_unselected(), uv_reveal_exec(), uv_rip_exec(), uv_sculpt_stroke_modal(), uv_seams_from_islands_exec(), uv_select_linked_internal(), uv_select_more_less(), uv_select_split_exec(), uv_set_2d_cursor_exec(), uv_snap_cursor_exec(), uv_snap_selection_exec(), uv_weld_align(), validate_viewer_paths(), vertex_color_levels_exec(), vertex_color_set_exec(), vertex_color_smooth_exec(), blender::ed::object::vertex_group_add_exec(), blender::ed::object::vertex_group_assign_exec(), blender::ed::object::vertex_group_clean_exec(), blender::ed::object::vertex_group_copy_exec(), blender::ed::object::vertex_group_copy_to_selected_exec(), blender::ed::object::vertex_group_deselect_exec(), blender::ed::object::vertex_group_invert_exec(), blender::ed::object::vertex_group_levels_exec(), blender::ed::object::vertex_group_limit_total_exec(), blender::ed::object::vertex_group_lock_exec(), blender::ed::object::vertex_group_mirror_exec(), blender::ed::object::vertex_group_normalize_all_exec(), blender::ed::object::vertex_group_normalize_exec(), blender::ed::object::vertex_group_quantize_exec(), blender::ed::object::vertex_group_remove_exec(), blender::ed::object::vertex_group_remove_from_exec(), blender::ed::object::vertex_group_select_exec(), blender::ed::object::vertex_group_smooth_exec(), blender::ed::object::vertex_group_sort_exec(), vertex_paint_from_weight_exec(), blender::ed::object::vertex_parent_set_exec(), blender::ed::object::vertex_weight_copy_exec(), blender::ed::object::vertex_weight_delete_exec(), blender::ed::object::vertex_weight_normalize_active_vertex_exec(), blender::ed::object::vertex_weight_paste_exec(), blender::ed::object::vertex_weight_set_active_exec(), blender::ed::greasepencil::vertexmode_toggle_exec(), blender::ed::object::vgroup_move_exec(), view3d_box_select_exec(), view3d_camera_to_view_exec(), view3d_camera_to_view_selected_exec(), view3d_center_camera_exec(), view3d_center_lock_exec(), view3d_circle_select_exec(), view3d_collection_drop_copy_external_asset(), view3d_lasso_select(), view3d_ob_drop_copy_external_asset(), view3d_pastebuffer_exec(), view3d_select_exec(), view3d_setobjectascamera_exec(), view3d_zoom_1_to_1_camera_exec(), view_cursor_center_exec(), view_ghost_border_exec(), view_layer_add_aov_exec(), view_layer_add_exec(), view_layer_add_lightgroup_exec(), view_layer_add_used_lightgroups_exec(), view_layer_remove_aov_exec(), view_layer_remove_exec(), view_layer_remove_lightgroup_exec(), view_layer_remove_unused_lightgroups_exec(), view_lock_clear_exec(), view_lock_to_active_exec(), view_zoomdrag_apply(), view_zoomstep_apply_ex(), blender::ed::space_node::viewer_border_exec(), viewRedrawForce(), viewRedrawPost(), blender::ed::object::visual_transform_apply_exec(), blender::ed::object::voxel_remesh_exec(), blender::ed::object::voxel_size_edit_modal(), vpaint_mode_toggle_exec(), vpaint_stroke_done(), walk_modal(), weight_from_bones_exec(), weight_set_exec(), blender::ed::greasepencil::weightmode_toggle_exec(), wm_debug_menu_exec(), wm_event_do_handlers(), wm_event_do_notifiers(), wm_file_read_opwrap(), wm_file_read_post(), wm_handler_operator_call(), WM_lib_reload(), wm_lib_relocate_exec_do(), wm_link_append_exec(), wm_operator_register(), wm_operator_reports(), wm_save_as_mainfile_exec(), wm_stereo3d_set_exec(), wm_userpref_read_exec(), wm_window_close(), WM_window_set_active_scene(), wm_xr_session_toggle_exec(), workspace_append_activate_exec(), workspace_delete_exec(), workspace_new_exec(), workspace_reorder_to_back_exec(), workspace_reorder_to_front_exec(), workspace_scene_pin_toggle_exec(), wpaint_mode_toggle_exec(), wpaint_stroke_done(), and wpaint_stroke_update_step().

◆ WM_event_add_notifier_ex()

◆ WM_event_add_simulate()

◆ WM_event_add_ui_handler()

◆ WM_event_consecutive_data_free()

void WM_event_consecutive_data_free ( wmWindow * win)

◆ WM_event_consecutive_data_get()

void * WM_event_consecutive_data_get ( wmWindow * win,
const char * id )

◆ WM_event_consecutive_data_set()

void WM_event_consecutive_data_set ( wmWindow * win,
const char * id,
void * custom_data )

Set the custom-data (and own the pointer), free with MEM_freeN.

Definition at line 4478 of file wm_event_system.cc.

References wmEvent_ConsecutiveData::custom_data, wmWindow::event_queue_consecutive_gesture_data, MEM_mallocN, and WM_event_consecutive_data_free().

Referenced by ED_view3d_autodist_last_set().

◆ WM_event_consecutive_gesture_test()

bool WM_event_consecutive_gesture_test ( const wmEvent * event)

Return true if this event type is a candidate for being flagged as consecutive.

See: WM_EVENT_IS_CONSECUTIVE doc-string.

Definition at line 342 of file wm_event_query.cc.

References ISMOUSE_GESTURE, NDOF_MOTION, and wmEvent::type.

Referenced by ED_view3d_autodist_last_set(), and wm_event_do_handlers().

◆ WM_event_consecutive_gesture_test_break()

bool WM_event_consecutive_gesture_test_break ( const wmWindow * win,
const wmEvent * event )

Return true if this event should break the chain of consecutive gestures. Practically all intentional user input should, key presses or button clicks.

Definition at line 347 of file wm_event_query.cc.

References wmWindow::event_queue_consecutive_gesture_xy, ISKEYBOARD_OR_BUTTON, ISKEYMODIFIER, ISMOUSE_MOTION, len_manhattan_v2v2_int(), wmEvent::type, WINDEACTIVATE, WM_EVENT_CURSOR_MOTION_THRESHOLD, and wmEvent::xy.

Referenced by wm_event_do_handlers().

◆ WM_event_drag_direction()

◆ WM_event_drag_image()

void WM_event_drag_image ( wmDrag * drag,
const ImBuf * imb,
float scale )

Definition at line 356 of file wm_dragdrop.cc.

References wmDrag::imb, and wmDrag::imbuf_scale.

Referenced by ui_but_drag_start().

◆ WM_event_drag_start_mval()

◆ WM_event_drag_start_mval_fl()

void WM_event_drag_start_mval_fl ( const wmEvent * event,
const ARegion * region,
float r_mval[2] )

◆ WM_event_drag_start_xy()

void WM_event_drag_start_xy ( const wmEvent * event,
int r_xy[2] )

◆ WM_event_drag_test()

bool WM_event_drag_test ( const wmEvent * event,
const int prev_xy[2] )

◆ WM_event_drag_test_with_delta()

bool WM_event_drag_test_with_delta ( const wmEvent * event,
const int drag_delta[2] )

Definition at line 404 of file wm_event_query.cc.

References abs(), and WM_event_drag_threshold().

Referenced by WM_event_drag_test(), and WM_generic_select_modal().

◆ WM_event_drag_threshold()

int WM_event_drag_threshold ( const wmEvent * event)

◆ WM_event_fileselect_event()

void WM_event_fileselect_event ( wmWindowManager * wm,
void * ophandle,
int eventval )

◆ WM_event_free_ui_handler_all()

◆ WM_event_get_keymap_from_toolsystem()

void WM_event_get_keymap_from_toolsystem ( wmWindowManager * wm,
wmWindow * win,
wmEventHandler_Keymap * handler,
wmEventHandler_KeymapResult * km_result )

Definition at line 4772 of file wm_event_system.cc.

References wm_event_get_keymap_from_toolsystem_ex().

Referenced by ed_default_handlers().

◆ WM_event_get_keymap_from_toolsystem_with_gizmos()

void WM_event_get_keymap_from_toolsystem_with_gizmos ( wmWindowManager * wm,
wmWindow * win,
wmEventHandler_Keymap * handler,
wmEventHandler_KeymapResult * km_result )

Definition at line 4764 of file wm_event_system.cc.

References wm_event_get_keymap_from_toolsystem_ex().

Referenced by ed_default_handlers().

◆ WM_event_get_keymaps_from_handler()

◆ wm_event_init_from_window()

◆ WM_event_is_modal_drag_exit()

bool WM_event_is_modal_drag_exit ( const wmEvent * event,
short init_event_type,
short init_event_val )

For modal callbacks, check configuration for how to interpret exit when dragging.

Definition at line 223 of file wm_event_query.cc.

References KM_CLICK_DRAG, KM_RELEASE, wmEvent::type, USER_RELEASECONFIRM, and wmEvent::val.

Referenced by ed_marker_move_modal().

◆ WM_event_is_mouse_drag()

bool WM_event_is_mouse_drag ( const wmEvent * event)

◆ WM_event_is_mouse_drag_or_press()

bool WM_event_is_mouse_drag_or_press ( const wmEvent * event)

◆ WM_event_is_tablet()

bool WM_event_is_tablet ( const wmEvent * event)

◆ WM_event_match()

bool WM_event_match ( const wmEvent * winevent,
const wmKeyMapItem * kmi )

Definition at line 6357 of file wm_event_system.cc.

References wm_eventmatch().

Referenced by ED_view3d_navigation_do().

◆ WM_event_match_keymap_item()

◆ WM_event_match_keymap_item_from_handlers()

◆ WM_event_modal_handler_area_replace()

void WM_event_modal_handler_area_replace ( wmWindow * win,
const ScrArea * old_area,
ScrArea * new_area )

Modal handlers store a pointer to an area which might be freed while the handler runs. Use this function to NULL all handler pointers to old_area.

Definition at line 4590 of file wm_event_system.cc.

References wmEventHandler_Op::area, wmEventHandler_Op::context, wmEventHandler_Op::is_fileselect, LISTBASE_FOREACH, wmWindow::modalhandlers, and WM_HANDLER_TYPE_OP.

Referenced by area_offscreen_exit(), and ED_area_exit().

◆ WM_event_modal_handler_region_replace()

void WM_event_modal_handler_region_replace ( wmWindow * win,
const ARegion * old_region,
ARegion * new_region )

Modal handlers store a pointer to a region which might be freed while the handler runs. Use this function to NULL all handler pointers to old_region.

Definition at line 4604 of file wm_event_system.cc.

References wmEventHandler_Op::context, int, wmEventHandler_Op::is_fileselect, LISTBASE_FOREACH, wmWindow::modalhandlers, wmEventHandler_Op::region, wmEventHandler_Op::region_type, ARegion::regiontype, RGN_TYPE_WINDOW, and WM_HANDLER_TYPE_OP.

Referenced by area_join_modal(), area_offscreen_exit(), and ED_region_exit().

◆ WM_event_print()

◆ WM_event_remove_area_handler()

void WM_event_remove_area_handler ( ListBase * handlers,
void * area )

◆ WM_event_remove_handlers()

◆ WM_event_remove_keymap_handler()

◆ WM_event_remove_modal_handler_all()

wmEventHandler_Op wmEventHandler_Op void void WM_event_remove_modal_handler_all ( const wmOperator * op,
bool postpone )

◆ WM_event_remove_model_handler()

wmEventHandler_Op wmEventHandler_Op void WM_event_remove_model_handler ( ListBase * handlers,
const wmOperator * op,
bool postpone )

◆ WM_event_remove_ui_handler()

◆ WM_event_set_keymap_handler_post_callback()

void WM_event_set_keymap_handler_post_callback ( wmEventHandler_Keymap * handler,
void(keymap_tag)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data) ,
void * user_data )

◆ WM_event_start_drag()

void WM_event_start_drag ( bContext * C,
int icon,
eWM_DragDataType type,
void * poin,
unsigned int flags )

Start dragging immediately with the given data. Note that poin should be valid allocated and not on stack.

Definition at line 315 of file wm_dragdrop.cc.

References WM_drag_data_create(), and WM_event_start_prepared_drag().

Referenced by ghost_event_proc(), ui_but_drag_init(), ui_but_drag_start(), and UI_view_item_drag_start().

◆ WM_event_start_prepared_drag()

void WM_event_start_prepared_drag ( bContext * C,
wmDrag * drag )

◆ WM_event_tablet_data()

float WM_event_tablet_data ( const wmEvent * event,
bool * r_pen_flip,
float r_tilt[2] )

If this is a tablet event, return tablet pressure and set *pen_flip to 1 if the eraser tool is being used, 0 otherwise.

Definition at line 559 of file wm_event_query.cc.

References EVT_TABLET_ERASER.

Referenced by blender::ed::sculpt_paint::paint_stroke_modal(), and blender::ed::sculpt_paint::filter::sculpt_mesh_filter_modal().

◆ WM_event_tablet_data_default_set()

void WM_event_tablet_data_default_set ( wmTabletData * tablet_data)

Definition at line 5419 of file wm_event_system.cc.

References wm_event_tablet_data_default().

◆ WM_event_timer_add()

◆ WM_event_timer_add_notifier()

◆ WM_event_timer_free_data()

void WM_event_timer_free_data ( wmTimer * timer)

◆ WM_event_timer_remove()

void WM_event_timer_remove ( wmWindowManager * wm,
wmWindow * win,
wmTimer * timer )

◆ WM_event_timer_remove_notifier()

void WM_event_timer_remove_notifier ( wmWindowManager * wm,
wmWindow * win,
wmTimer * timer )

◆ WM_event_timer_sleep()

void WM_event_timer_sleep ( wmWindowManager * wm,
wmWindow * win,
wmTimer * timer,
bool do_sleep )

To (de)activate running timers temporary.

Definition at line 2161 of file wm_window.cc.

References BLI_findindex(), wmTimer::flags, wmTimer::sleep, timer, wmWindowManager::timers, and WM_TIMER_TAGGED_FOR_REMOVAL.

Referenced by screen_change_prepare(), and screen_refresh().

◆ WM_event_timers_free_all()

void WM_event_timers_free_all ( wmWindowManager * wm)

Free all timers immediately.

Note
This should only be used on-exit, in all other cases timers should be tagged for removal by WM_event_timer_remove.

Definition at line 2240 of file wm_window.cc.

References BLI_assert_msg, BLI_listbase_is_empty(), BLI_pophead(), MEM_freeN(), timer, wmWindowManager::timers, wmWindowManager::windows, and WM_event_timer_free_data().

Referenced by wm_close_and_free().

◆ WM_event_ui_handler_region_popup_replace()

void WM_event_ui_handler_region_popup_replace ( wmWindow * win,
const ARegion * old_region,
ARegion * new_region )

◆ WM_event_utf8_to_ascii()

char WM_event_utf8_to_ascii ( const wmEvent * event)

Definition at line 442 of file wm_event_query.cc.

References BLI_str_utf8_size_or_error(), and wmEvent::utf8_buf.

Referenced by handleNumInput(), and text_line_number_invoke().

◆ WM_exit()

void WM_exit ( bContext * C,
int exit_code )

Main exit function to close Blender ordinarily.

Note
Use wm_exit_schedule_delayed() to close Blender from an operator. Might leak memory otherwise.
Parameters
exit_codePassed to #exit, typically #EXIT_SUCCESS or #EXIT_FAILURE should be used. With failure being used for an early exit when parsing command line arguments fails. Note that any exit-code besides #EXIT_SUCCESS calls WM_exit_ex with its do_user_exit_actions argument set to false.

Definition at line 700 of file wm_init_exit.cc.

References false, G, printf, and WM_exit_ex().

Referenced by CocoaAppDelegate::application:openFile:, arg_handle_python_expr_run(), arg_handle_python_file_run(), arg_handle_python_text_run(), handle_load_file(), main(), wm_exit_handler(), and WM_init().

◆ WM_exit_ex()

void WM_exit_ex ( bContext * C,
bool do_python_exit,
bool do_user_exit_actions )

Main exit function (implementation).

Note
Unlike WM_exit this does not call exit(), the caller is responsible for this.
Parameters
CThe context or null, a null context implies do_user_exit_actions == false & prevents some editor-exit operations from running.
do_python_exitExit the Python interpreter (unless WITH_PYTHON_MODULE is enabled).
do_user_exit_actionsWhen enabled perform actions associated with a user having been using Blender then exiting. Actions such as writing the auto-save and writing any changes to preferences. Set to false in background mode or when exiting because of failed command line argument parsing. In general automated actions where the user isn't making changes should pass in false too.

Definition at line 458 of file wm_init_exit.cc.

References ANIM_driver_vars_copybuf_free(), ANIM_drivers_copybuf_free(), ANIM_fcurves_copybuf_free(), ANIM_fmodifiers_copybuf_free(), ANIM_keyingset_infos_exit(), BKE_addon_pref_type_free(), BKE_appdir_exit(), BKE_blender_atexit(), BKE_blender_cli_command_free_all(), BKE_blender_free(), BKE_blender_userdef_data_free(), BKE_blendfile_userdef_write_all(), BKE_image_free_unused_gpu_textures(), BKE_keyconfig_pref_type_free(), BKE_mask_clipboard_free(), BKE_materials_exit(), BKE_mball_cubeTable_free(), BKE_sound_exit(), BKE_tempdir_base(), BKE_tempdir_session_purge(), BKE_tracking_clipboard_free(), BKE_vfont_clipboard_free(), BLENDER_QUIT_FILE, BLF_exit(), BLI_assert, BLI_path_join, BLI_task_scheduler_exit(), BLI_threadapi_exit(), BLI_timer_free(), BLO_write_file(), BLT_lang_free(), BPY_python_end(), BPY_run_string_eval(), CLG_exit(), COM_deinitialize(), CTX_data_main(), CTX_free(), CTX_py_init_get(), CTX_wm_manager(), CTX_wm_window_set(), DNA_sdna_current_free(), DRW_gpu_context_destroy(), DRW_gpu_context_disable_ex(), DRW_gpu_context_enable_ex(), blender::draw::DRW_subdiv_free(), ED_editors_exit(), ED_editors_flush_edits(), ED_file_exit(), ED_gpencil_anim_copybuf_free(), ED_gpencil_strokes_copybuf_free(), ED_node_clipboard_free(), ED_preview_free_dbase(), ED_preview_restart_queue_free(), ED_screen_exit(), ED_undosys_type_free(), FILE_MAX, free_openrecent(), G, G_FILE_RECOVER_WRITE, G_FLAG_USERPREF_NO_SAVE_ON_EXIT, GPU_exit(), gpu_is_init, GPU_pass_cache_free(), GPU_shader_cache_dir_clear_old(), LISTBASE_FOREACH, printf, RE_engines_exit(), RE_FreeAllRender(), RNA_exit(), UI_exit(), USER_PREF_FLAG_SAVE, UV_clipboard_free(), wmWindowManager::windows, wm_autosave_delete(), wm_clipboard_free(), wm_dropbox_free(), WM_event_remove_handlers(), wm_ghost_exit(), wm_gizmogrouptype_free(), wm_gizmomaptypes_free(), wm_gizmotype_free(), WM_jobs_kill_all(), WM_menutype_free(), wm_operatortype_free(), WM_paneltype_clear(), wm_surfaces_free(), wm_test_autorun_revert_action_set(), WM_uilisttype_free(), WM_window_get_active_screen(), and blender::ui::string_search::write_recent_searches_file().

Referenced by bpy_atexit(), and WM_exit().

◆ WM_file_append_datablock()

ID * WM_file_append_datablock ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
const char * filepath,
short id_code,
const char * id_name,
int flag )
Note
scene (and related view_layer and v3d) pointers may be NULL, in which case no instantiation of appended objects, collections etc. will be performed.

Definition at line 587 of file wm_files_link.cc.

References BLI_assert, FILE_LINK, flag, id_name(), and wm_file_link_append_datablock_ex().

Referenced by blender::ed::asset::asset_local_id_ensure_imported(), WM_drag_asset_id_import(), and workspace_append_activate_exec().

◆ WM_file_autoexec_init()

void WM_file_autoexec_init ( const char * filepath)

◆ WM_file_autosave_init()

void WM_file_autosave_init ( wmWindowManager * wm)

Definition at line 2353 of file wm_files.cc.

References wm_autosave_timer_begin().

Referenced by WM_check().

◆ WM_file_link_datablock()

ID * WM_file_link_datablock ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
const char * filepath,
short id_code,
const char * id_name,
int flag )
Note
scene (and related view_layer and v3d) pointers may be NULL, in which case no instantiation of linked objects, collections etc. will be performed.

Definition at line 573 of file wm_files_link.cc.

References FILE_LINK, flag, id_name(), and wm_file_link_append_datablock_ex().

Referenced by blender::ed::asset::asset_local_id_ensure_imported(), and WM_drag_asset_id_import().

◆ WM_file_read()

◆ WM_file_recover_last_session()

bool WM_file_recover_last_session ( bContext * C,
ReportList * reports )

◆ WM_file_tag_modified()

void WM_file_tag_modified ( )

◆ WM_generic_callback_free()

void WM_generic_callback_free ( wmGenericCallback * callback)

◆ WM_generic_callback_steal()

wmGenericCallback * WM_generic_callback_steal ( wmGenericCallback * callback)

◆ WM_generic_select_invoke()

int WM_generic_select_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )

◆ WM_generic_select_modal()

◆ WM_generic_user_data_free()

◆ WM_gesture_box_cancel()

◆ WM_gesture_box_invoke()

◆ WM_gesture_box_modal()

int WM_gesture_box_modal ( bContext * C,
wmOperator * op,
const wmEvent * event )

Definition at line 198 of file wm_gesture_ops.cc.

References BLI_rcti_translate(), CTX_wm_window(), wmGesture::customdata, wmOperator::customdata, EVT_MODAL_MAP, gesture_box_apply(), gesture_box_apply_rect(), GESTURE_MODAL_BEGIN, GESTURE_MODAL_CANCEL, GESTURE_MODAL_DESELECT, gesture_modal_end(), GESTURE_MODAL_IN, GESTURE_MODAL_MOVE, GESTURE_MODAL_OUT, GESTURE_MODAL_SELECT, wmGesture::is_active, wmGesture::is_active_prev, wmGesture::modal_state, MOUSEMOVE, wmGesture::move, NDOF_MOTION, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, wmEvent::type, wmGesture::type, wmEvent::val, wmGesture::wait_for_input, wmGesture::winrct, WM_GESTURE_CROSS_RECT, wm_gesture_tag_redraw(), rcti::xmax, rcti::xmin, wmEvent::xy, rcti::ymax, and rcti::ymin.

Referenced by ACTION_OT_select_box(), ANIM_OT_channels_select_box(), ANIM_OT_previewrange_set(), CLIP_OT_graph_select_box(), CLIP_OT_select_box(), file_box_select_modal(), GRAPH_OT_select_box(), IMAGE_OT_render_border(), IMAGE_OT_view_zoom_border(), INFO_OT_select_box(), MARKER_OT_select_box(), MASK_OT_select_box(), NLA_OT_select_box(), blender::ed::space_node::NODE_OT_select_box(), blender::ed::space_node::NODE_OT_viewer_border(), blender::ed::outliner::OUTLINER_OT_select_box(), blender::ed::sculpt_paint::hide::PAINT_OT_hide_show(), blender::ed::sculpt_paint::mask::PAINT_OT_mask_box_gesture(), blender::ed::sculpt_paint::face_set::SCULPT_OT_face_set_box_gesture(), blender::ed::sculpt_paint::trim::SCULPT_OT_trim_box_gesture(), SEQUENCER_OT_select_box(), SEQUENCER_OT_view_ghost_border(), UV_OT_select_box(), VIEW2D_OT_zoom_border(), VIEW3D_OT_clip_border(), VIEW3D_OT_render_border(), VIEW3D_OT_select_box(), and VIEW3D_OT_zoom_border().

◆ WM_gesture_circle_cancel()

void WM_gesture_circle_cancel ( bContext * C,
wmOperator * op )

◆ WM_gesture_circle_invoke()

◆ WM_gesture_circle_modal()

◆ WM_gesture_end()

◆ WM_gesture_is_modal_first()

◆ WM_gesture_lasso_cancel()

◆ WM_gesture_lasso_invoke()

◆ WM_gesture_lasso_modal()

◆ WM_gesture_lasso_path_to_array()

◆ WM_gesture_lines_cancel()

◆ WM_gesture_lines_invoke()

◆ WM_gesture_lines_modal()

◆ WM_gesture_new()

◆ WM_gesture_polyline_cancel()

void WM_gesture_polyline_cancel ( bContext * C,
wmOperator * op )

Definition at line 905 of file wm_gesture_ops.cc.

References gesture_modal_end().

◆ WM_gesture_polyline_invoke()

◆ WM_gesture_polyline_modal()

◆ WM_gesture_straightline_active_side_invoke()

◆ WM_gesture_straightline_cancel()

◆ WM_gesture_straightline_invoke()

◆ WM_gesture_straightline_modal()

◆ WM_gesture_straightline_oneshot_modal()

int WM_gesture_straightline_oneshot_modal ( bContext * C,
wmOperator * op,
const wmEvent * event )

This modal one-shot callback only calls exec once after the gesture finishes without any updates during the gesture execution. Should be used for operations that are intended to be applied once without real time preview (like a trimming tool that only applies the bisect operation once after finishing the gesture as the bisect operation is too heavy to be computed in real time for a preview).

Definition at line 1157 of file wm_gesture_ops.cc.

References BLI_rcti_translate(), CTX_data_scene(), CTX_wm_area(), CTX_wm_window(), wmGesture::customdata, wmOperator::customdata, EVT_MODAL_MAP, GESTURE_MODAL_BEGIN, GESTURE_MODAL_CANCEL, GESTURE_MODAL_DESELECT, gesture_modal_end(), GESTURE_MODAL_FLIP, GESTURE_MODAL_IN, GESTURE_MODAL_MOVE, GESTURE_MODAL_OUT, GESTURE_MODAL_SELECT, GESTURE_MODAL_SNAP, gesture_straightline_apply(), get_snap_angle(), SnapAngle::increment, wmGesture::is_active, wmGesture::is_active_prev, wmGesture::modal_state, MOUSEMOVE, wmGesture::move, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, wmEvent::type, wmGesture::use_flip, wmGesture::use_snap, wmEvent::val, wmGesture::wait_for_input, wmGesture::winrct, wm_gesture_straightline_do_angle_snap(), wm_gesture_tag_redraw(), rcti::xmax, rcti::xmin, wmEvent::xy, rcti::ymax, and rcti::ymin.

Referenced by blender::ed::sculpt_paint::hide::PAINT_OT_hide_show_line_gesture(), blender::ed::sculpt_paint::mask::PAINT_OT_mask_line_gesture(), blender::ed::sculpt_paint::face_set::SCULPT_OT_face_set_line_gesture(), blender::ed::sculpt_paint::project::SCULPT_OT_project_line_gesture(), and blender::ed::sculpt_paint::trim::SCULPT_OT_trim_line_gesture().

◆ WM_gestures_free_all()

void WM_gestures_free_all ( wmWindow * win)

Definition at line 106 of file wm_gesture.cc.

References ListBase::first, wmWindow::gesture, and WM_gesture_end().

Referenced by wm_window_free().

◆ WM_gestures_remove()

void WM_gestures_remove ( wmWindow * win)

Definition at line 113 of file wm_gesture.cc.

References ListBase::first, wmWindow::gesture, and WM_gesture_end().

Referenced by ui_but_drag_init().

◆ WM_ghost_backend()

const char * WM_ghost_backend ( )

Return an identifier for the underlying GHOST implementation.

Warning
Use of this function should be limited & never for compatibility checks. see: GHOST_ISystem::getSystemBackend for details.

Definition at line 1950 of file wm_window.cc.

References g_system, and g_system_backend_id.

Referenced by bpy_ghost_backend().

◆ WM_init()

void WM_init ( bContext * C,
int argc,
const char ** argv )

Initialize Blender and load the startup file & preferences (only called once).

NOTE(@ideasman42): Startup file and order of initialization.

Loading BLENDER_STARTUP_FILE, BLENDER_USERPREF_FILE, starting Python and other sub-systems, have inter-dependencies, for example.

  • Some sub-systems depend on the preferences (initializing icons depend on the theme).
  • Add-ons depends on the preferences to know what has been enabled.
  • Add-ons depends on the window-manger to register their key-maps.
  • Evaluating the startup file depends on Python for animation-drivers (see #89046).
  • Starting Python depends on the startup file so key-maps can be added in the window-manger.

Loading preferences early, then application subsystems and finally the startup data would simplify things if it weren't for key-maps being part of the window-manager which is blend file data. Creating a dummy window-manager early, or moving the key-maps into the preferences would resolve this and may be worth looking into long-term, see: D12184 for details.

Definition at line 197 of file wm_init_exit.cc.

References BIFICONID_LAST_STATIC, BKE_addon_pref_type_init(), BKE_icons_init(), BKE_keyconfig_pref_type_init(), BKE_library_callback_free_notifier_reference_set(), BKE_library_callback_remap_editor_id_reference_set(), BKE_main_blendfile_path_from_global(), BKE_preview_images_init(), BKE_region_callback_free_gizmomap_set(), BKE_region_callback_refresh_tag_gizmomap_set(), BKE_sound_jack_sync_callback_set(), BKE_spacedata_callback_id_remap_set(), BKE_studiolight_init(), BLF_init(), BLI_assert, BLT_lang_init(), BLT_lang_set(), BPY_python_reset(), BPY_python_start(), CTX_py_init_set(), DEG_editors_set_update_cb(), ED_file_init(), ED_node_init_butfuncs(), ED_render_clear_mtex_copybuf(), ED_render_id_flush_update(), ED_render_scene_update(), ED_spacedata_id_remap_single(), ED_spacemacros_init(), ED_spacetypes_init(), ED_undosys_type_init(), G, G_FILE_NO_UI, G_MAIN, GHOST_kConsoleWindowStateHideForNonConsoleLaunch, GHOST_kConsoleWindowStateShow, GHOST_setConsoleWindowState(), GPU_context_active_get(), GPU_context_begin_frame(), GPU_context_end_frame(), GPU_render_begin(), GPU_render_end(), blender::bke::subdiv::init(), blender::ui::string_search::read_recent_searches_file(), sound_jack_sync_callback(), STRNCPY, UI_init(), UNUSED_VARS, wmHomeFileRead_Params::use_data, WM_exit(), wm_ghost_init(), wm_gizmogrouptype_init(), wm_gizmomap_remove(), WM_gizmomap_tag_refresh(), wm_gizmotype_init(), wm_history_file_read(), wm_homefile_read_ex(), wm_homefile_read_post(), wm_init_cursor_data(), WM_init_gpu(), wm_init_scripts_extensions_once(), WM_init_state_app_template_get(), WM_keyconfig_init(), WM_keyconfig_update(), WM_keyconfig_update_postpone_begin(), WM_keyconfig_update_postpone_end(), WM_main_remap_editor_id_reference(), WM_main_remove_notifier_reference(), WM_menutype_init(), WM_msgbus_types_init(), wm_operatortypes_register(), WM_paneltype_init(), WM_platform_support_perform_checks(), wm_start_with_console, and WM_uilisttype_init().

Referenced by main().

◆ WM_init_gpu()

◆ WM_init_input_devices()

◆ WM_init_native_pixels()

void WM_init_native_pixels ( bool do_it)

Definition at line 2659 of file wm_window.cc.

References WMInitStruct::native_pixels, and wm_init_state.

Referenced by arg_handle_native_pixels_set().

◆ WM_init_splash()

◆ WM_init_splash_on_startup()

void WM_init_splash_on_startup ( bContext * C)

Show the splash screen as needed on startup.

The splash may not show depending on a file being loaded and user preferences.

Definition at line 390 of file wm_init_exit.cc.

References WM_init_splash(), and wm_init_splash_show_on_startup_check().

Referenced by main().

◆ WM_init_state_app_template_get()

const char * WM_init_state_app_template_get ( )

Definition at line 1182 of file wm_files.cc.

References wm_init_state_app_template.

Referenced by wm_homefile_read_exec(), WM_init(), and wm_userpref_read_exec().

◆ WM_init_state_app_template_set()

void WM_init_state_app_template_set ( const char * app_template)

Used for setting app-template from the command line:

  • non-empty string: overrides.
  • empty string: override, using no app template.
  • NULL: clears override.

Definition at line 1170 of file wm_files.cc.

References app_template, STRNCPY, and wm_init_state_app_template.

Referenced by arg_handle_app_template(), and wm_homefile_read_exec().

◆ WM_init_state_fullscreen_set()

void WM_init_state_fullscreen_set ( )

For border-less and border windows set from command-line.

Definition at line 2636 of file wm_window.cc.

References GHOST_kWindowStateFullScreen, WMInitStruct::override_flag, WIN_OVERRIDE_WINSTATE, WMInitStruct::windowstate, and wm_init_state.

Referenced by arg_handle_without_borders().

◆ WM_init_state_maximized_set()

void WM_init_state_maximized_set ( )

◆ WM_init_state_normal_set()

void WM_init_state_normal_set ( )

◆ WM_init_state_size_set()

void WM_init_state_size_set ( int stax,
int stay,
int sizx,
int sizy )

Called when no ghost system was initialized.

Definition at line 2629 of file wm_window.cc.

References WMInitStruct::override_flag, WMInitStruct::size, WMInitStruct::start, WIN_OVERRIDE_GEOM, and wm_init_state.

Referenced by arg_handle_window_geometry().

◆ WM_init_state_start_with_console_set()

void WM_init_state_start_with_console_set ( bool value)

Definition at line 129 of file wm_init_exit.cc.

References wm_start_with_console.

Referenced by arg_handle_start_with_console().

◆ WM_init_window_focus_set()

void WM_init_window_focus_set ( bool do_it)

Definition at line 2654 of file wm_window.cc.

References WMInitStruct::window_focus, and wm_init_state.

Referenced by arg_handle_no_window_focus().

◆ WM_job_main_thread_lock_acquire()

void WM_job_main_thread_lock_acquire ( wmJob * wm_job)

Definition at line 139 of file wm_jobs.cc.

References BLI_ticket_mutex_lock(), and wmJob::main_thread_mutex.

Referenced by WM_jobs_get(), wm_jobs_kill_job(), and wm_jobs_timer().

◆ WM_job_main_thread_lock_release()

void WM_job_main_thread_lock_release ( wmJob * wm_job)

Definition at line 144 of file wm_jobs.cc.

References BLI_ticket_mutex_unlock(), and wmJob::main_thread_mutex.

Referenced by wm_job_free(), wm_jobs_kill_job(), and wm_jobs_timer().

◆ WM_jobs_callbacks()

◆ WM_jobs_callbacks_ex()

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 *) )

◆ WM_jobs_customdata_from_type()

void * WM_jobs_customdata_from_type ( wmWindowManager * wm,
const void * owner,
int job_type )

◆ WM_jobs_customdata_get()

◆ WM_jobs_customdata_set()

◆ WM_jobs_delay_start()

void WM_jobs_delay_start ( wmJob * wm_job,
double delay_time )

Definition at line 359 of file wm_jobs.cc.

References wmJob::start_delay_time.

Referenced by ED_preview_icon_job(), and screen_render_invoke().

◆ WM_jobs_get()

wmJob * WM_jobs_get ( wmWindowManager * wm,
wmWindow * win,
const void * owner,
const char * name,
eWM_JobFlag flag,
eWM_JobType job_type )
Returns
current job or adds new job, but doesn't run it.
Note
every owner only gets a single running job of the same job_type (or with the WM_JOB_EXCL_RENDER flag). Adding a new one will wait for the running job to finish.

Definition at line 189 of file wm_jobs.cc.

References BKE_report_print_level_set(), BKE_reports_init(), BLI_addtail(), BLI_assert, BLI_ticket_mutex_alloc(), flag, wmJob::flag, wmJob::job_type, wmWindowManager::jobs, wmJob::main_thread_mutex, MEM_callocN, wmJob::name, wmJob::owner, wmJobWorkerStatus::reports, RPT_PRINT, RPT_STORE, RPT_WARNING, STRNCPY, wmJob::win, wm_job_find(), WM_job_main_thread_lock_acquire(), WM_JOB_TYPE_ANY, and wmJob::worker_status.

Referenced by ABC_export(), ABC_import(), blender::ed::object::bake_invoke(), clip_rebuild_proxy_exec(), clip_start_prefetch_job(), dynamicpaint_bake_exec(), ED_node_composite_job(), ED_preview_icon_job(), ED_preview_shader_job(), ED_seq_proxy_wm_job_get(), EEVEE_NEXT_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start(), fluid_bake_invoke(), fluid_free_exec(), fsmenu_bookmark_validate_job_start(), lineart_bake_common(), blender::ed::object::multiresbake_image_exec(), blender::ed::object::ocean_bake_exec(), pack_islands_exec(), ptcache_bake_invoke(), blender::ed::object::quadriflow_remesh_exec(), screen_render_invoke(), sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), start_audio_video_job(), blender::ed::object::bake_simulation::start_bake_job(), track_markers(), ui_icon_ensure_deferred(), blender::io::usd::USD_export(), and blender::io::usd::USD_import().

◆ WM_jobs_has_running()

bool WM_jobs_has_running ( const wmWindowManager * wm)

Definition at line 745 of file wm_jobs.cc.

References wmWindowManager::jobs, LISTBASE_FOREACH, and wmJob::running.

◆ WM_jobs_has_running_type()

bool WM_jobs_has_running_type ( const wmWindowManager * wm,
int job_type )

Definition at line 756 of file wm_jobs.cc.

References wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH, and wmJob::running.

Referenced by bpy_app_is_job_running().

◆ WM_jobs_is_running()

◆ WM_jobs_is_stopped()

bool WM_jobs_is_stopped ( const wmWindowManager * wm,
const void * owner )

◆ WM_jobs_kill_all()

void WM_jobs_kill_all ( wmWindowManager * wm)

Wait until every job ended.

Definition at line 576 of file wm_jobs.cc.

References ListBase::first, wmWindowManager::jobs, SEQ_prefetch_stop_all(), and wm_jobs_kill_job().

Referenced by ed_undo_step_pre(), WM_exit_ex(), and wm_file_read_setup_wm_init().

◆ WM_jobs_kill_all_except()

void WM_jobs_kill_all_except ( wmWindowManager * wm,
const void * owner )

Wait until every job ended, except for one owner (used in undo to keep screen job alive).

Definition at line 588 of file wm_jobs.cc.

References wmWindowManager::jobs, LISTBASE_FOREACH_MUTABLE, wmJob::owner, and wm_jobs_kill_job().

Referenced by screen_opengl_render_init(), and screen_render_invoke().

◆ WM_jobs_kill_all_from_owner()

void WM_jobs_kill_all_from_owner ( wmWindowManager * wm,
const void * owner )

Terminate thread and timer of all jobs from this owner.

Beware of the impact of calling this. For example passing the scene will kill all jobs having the scene as owner, even otherwise unrelated jobs.

Definition at line 612 of file wm_jobs.cc.

References wmWindowManager::jobs, LISTBASE_FOREACH_MUTABLE, wmJob::owner, and wm_jobs_kill_job().

Referenced by ED_scene_delete().

◆ WM_jobs_kill_type()

◆ WM_jobs_name()

const char * WM_jobs_name ( const wmWindowManager * wm,
const void * owner )

Definition at line 295 of file wm_jobs.cc.

References wmJob::name, wm_job_find(), and WM_JOB_TYPE_ANY.

Referenced by uiTemplateRunningJobs().

◆ WM_jobs_progress()

float WM_jobs_progress ( const wmWindowManager * wm,
const void * owner )

◆ WM_jobs_start()

void WM_jobs_start ( wmWindowManager * wm,
wmJob * wm_job )

Register the given wm_job and try to start it immediately.

The new wm_job will not start immediately and wait for other blocking jobs to end in some way if:

  • the new job is flagged with WM_JOB_EXCL_RENDER and another job with the same flag is already running (blocks it), or...
  • the new job is not flagged with WM_JOB_EXCL_RENDER and a job of the same eWM_JobType is already running (blocks it).

If the new wm_job is flagged with WM_JOB_PRIORITY, it will request other blocking jobs to stop (using #WM_jobs_stop(), so this doesn't take immediate effect) rather than finish its work.

Definition at line 455 of file wm_jobs.cc.

References BLI_threadpool_init(), BLI_threadpool_insert(), BLI_time_now_seconds(), wmJob::customdata, do_job_thread(), wmJob::free, wmJob::initjob, printf, wmJobWorkerStatus::progress, wmJob::ready, wmJob::run_customdata, wmJob::run_free, wmJob::running, wmJob::start_delay_time, wmJob::start_time, wmJob::startjob, wmJobWorkerStatus::stop, wmJob::suspended, wmJob::threads, wmJob::time_step, wmTimer::time_step, TIMERJOBS, wmJob::win, WM_event_timer_add(), WM_event_timer_remove(), wm_jobs_test_suspend_stop(), wmJob::worker_status, and wmJob::wt.

Referenced by ABC_export(), ABC_import(), blender::ed::object::bake_invoke(), clip_rebuild_proxy_exec(), clip_start_prefetch_job(), dynamicpaint_bake_exec(), ED_node_composite_job(), ED_preview_icon_job(), ED_preview_shader_job(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start(), fluid_bake_invoke(), fluid_free_exec(), fsmenu_bookmark_validate_job_start(), lightprobe_cache_bake_invoke(), lineart_bake_common(), blender::ed::object::multiresbake_image_exec(), blender::ed::object::ocean_bake_exec(), pack_islands_exec(), ptcache_bake_invoke(), blender::ed::object::quadriflow_remesh_exec(), screen_render_invoke(), seq_build_proxy(), seq_proxy_build_job(), sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), start_audio_video_job(), blender::ed::object::bake_simulation::start_bake_job(), track_markers(), ui_icon_ensure_deferred(), blender::io::usd::USD_export(), blender::io::usd::USD_import(), and wm_jobs_timer().

◆ WM_jobs_starttime()

double WM_jobs_starttime ( const wmWindowManager * wm,
const void * owner )

Time that job started.

Definition at line 284 of file wm_jobs.cc.

References wmJob::flag, wmJob::start_time, wm_job_find(), WM_JOB_PROGRESS, and WM_JOB_TYPE_ANY.

Referenced by progress_tooltip_func().

◆ WM_jobs_stop_all_from_owner()

void WM_jobs_stop_all_from_owner ( wmWindowManager * wm,
const void * owner )

Signal all jobs from this owner to stop, timer is required to get handled.

Beware of the impact of calling this. For example passing the scene will stop all jobs having the scene as owner, even otherwise unrelated jobs.

Definition at line 637 of file wm_jobs.cc.

References wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::owner, wmJob::running, wmJobWorkerStatus::stop, and wmJob::worker_status.

Referenced by do_running_jobs().

◆ WM_jobs_stop_type()

void WM_jobs_stop_type ( wmWindowManager * wm,
const void * owner,
eWM_JobType job_type )

Signal all jobs of this type and owner (if non-null) to stop, timer is required to get handled.

Don't pass WM_JOB_TYPE_ANY as job_type. Use WM_jobs_stop_all_from_owner() instead.

Definition at line 621 of file wm_jobs.cc.

References BLI_assert, wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::owner, wmJob::running, wmJobWorkerStatus::stop, WM_JOB_TYPE_ANY, and wmJob::worker_status.

Referenced by EEVEE_NEXT_lightbake_job_create(), and blender::ed::space_node::ensure_nodetree_previews().

◆ WM_jobs_test()

◆ WM_jobs_timer()

◆ WM_lib_reload()

◆ WM_main()

◆ WM_main_add_notifier()

void WM_main_add_notifier ( unsigned int type,
void * reference )

Definition at line 394 of file wm_event_system.cc.

References ListBase::first, G_MAIN, Main::wm, and WM_event_add_notifier_ex().

Referenced by action_unlink_exec(), blender::ed::asset_browser::AssetCatalogTreeView::activate_catalog_by_id(), blender::ed::viewer_path::activate_geometry_node(), armature_circle_select(), armature_select_linked_impl(), blender::ed::asset::asset_clear_exec(), blender::ed::asset::asset_mark_exec(), blender::ed::space_node::backimage_fit_exec(), blender::ed::space_node::backimage_zoom_exec(), blender::ed::object::bake_simulation::bake_geometry_nodes_endjob(), blender::ed::object::base_active_refresh(), bone_collection_assign_exec(), bone_collection_create_and_assign_exec(), bpy_app_debug_value_set(), bpy_batch_remove(), bpy_orphans_purge(), bpy_rna_region_from_string(), blender::ed::sculpt_paint::brush_asset_activate_exec(), blender::ed::sculpt_paint::brush_asset_delete_exec(), blender::ed::sculpt_paint::brush_asset_edit_metadata_exec(), blender::ed::sculpt_paint::brush_asset_load_preview_exec(), blender::ed::sculpt_paint::brush_asset_revert_exec(), blender::ed::sculpt_paint::brush_asset_save_as_exec(), blender::ed::sculpt_paint::brush_asset_save_exec(), brush_scale_size_exec(), cachefile_layer_add_exec(), cachefile_layer_move_exec(), cachefile_layer_remove_exec(), blender::ed::asset::catalog_add(), blender::ed::asset::catalog_move(), blender::ed::asset::catalog_remove(), blender::ed::asset::catalog_rename(), blender::ed::asset::list::AssetList::clear(), blender::ed::outliner::collection_duplicate_exec(), blender::ed::outliner::collection_flag_exec(), blender::ed::outliner::collection_hierarchy_delete_exec(), blender::ed::outliner::collection_instance_exec(), blender::ed::outliner::collection_isolate_exec(), blender::ed::outliner::collection_link_exec(), blender::ed::outliner::collection_new_exec(), blender::ed::outliner::collection_objects_select_exec(), blender::ed::outliner::collection_view_layer_exec(), blender::ed::outliner::collection_visibility_exec(), blender::ed::space_node::compo_updatejob(), blender::ed::object::constraint_copy_for_object(), blender::ed::object::constraint_copy_for_pose(), blender::ed::object::constraint_link(), blender::ed::object::constraint_move_to_index(), convert_action_exec(), copy_particle_systems_to_object(), blender::ed::curves::convert_from_particle_system::curves_convert_from_particle_system_exec(), blender::ed::curves::convert_to_particle_system::curves_convert_to_particle_system_exec(), blender::ed::curves::set_selection_domain::curves_set_selection_domain_exec(), blender::ed::object::bake_simulation::delete_single_bake_exec(), do_lasso_select_armature(), do_lasso_select_objects(), do_lasso_select_pose(), blender::ed::asset_browser::AssetCatalogDropTarget::drop_asset_catalog_into_catalog(), blender::ed::asset_browser::AssetCatalogDropTarget::drop_assets_into_catalog(), ED_fileselect_activate_asset_catalog(), ED_fileselect_activate_by_id(), ED_fileselect_activate_by_relpath(), ED_fileselect_clear(), ED_fileselect_deselect_all(), ED_gpencil_set_active_channel(), ED_mesh_color_add(), ED_mesh_uv_add(), ED_node_set_active(), ED_node_set_active_viewer_key(), ED_node_tag_update_id(), ED_node_tree_pop(), ED_node_tree_push(), ED_node_tree_start(), ED_object_particle_edit_mode_enter_ex(), ED_object_particle_edit_mode_exit_ex(), ED_object_texture_paint_mode_enter_ex(), ED_object_texture_paint_mode_exit_ex(), ED_pose_bone_select_tag_update(), ED_scene_view_layer_delete(), ED_space_image_set(), ED_undo_push(), ED_view3d_camera_lock_sync(), EDBM_selectmode_disable(), EDBM_selectmode_set_multi(), edbm_selectmode_sync_multi_ex(), EDBM_selectmode_toggle_multi(), edbm_shortest_path_pick_ex(), EDBM_update(), edgering_select(), blender::ed::object::editmode_enter_ex(), blender::ed::object::editmode_exit_ex(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::ed::sculpt_paint::CombOperationExecutor::execute(), blender::ed::sculpt_paint::CurvesEffectOperationExecutor::execute(), blender::ed::sculpt_paint::DeleteOperationExecutor::execute(), blender::ed::sculpt_paint::DensitySubtractOperationExecutor::execute(), blender::ed::sculpt_paint::PinchOperationExecutor::execute(), blender::ed::sculpt_paint::PuffOperationExecutor::execute(), blender::ed::sculpt_paint::SelectionPaintOperationExecutor::execute(), blender::ed::sculpt_paint::SlideOperationExecutor::execute(), blender::ed::sculpt_paint::SmoothOperationExecutor::execute(), blender::ed::sculpt_paint::SnakeHookOperatorExecutor::execute(), blender::ui::greasepencil::eyedropper_add_material(), blender::ui::greasepencil::eyedropper_grease_pencil_modal(), find_missing_files_exec(), blender::ed::geometry::geometry_attribute_add_exec(), blender::ed::geometry::geometry_attribute_convert_exec(), blender::ed::geometry::geometry_attribute_remove_exec(), blender::ed::geometry::geometry_color_attribute_add_exec(), blender::ed::geometry::geometry_color_attribute_convert_exec(), blender::ed::geometry::geometry_color_attribute_duplicate_exec(), blender::ed::geometry::geometry_color_attribute_remove_exec(), blender::ed::geometry::geometry_color_attribute_set_render_exec(), ghost_event_proc(), gizmo_area_light_prop_matrix_set(), gizmo_empty_image_prop_matrix_set(), blender::ed::sculpt_paint::grease_pencil_fill_event_modal_map(), blender::ed::sculpt_paint::grease_pencil_fill_exit(), blender::ed::sculpt_paint::grease_pencil_fill_modal(), icon_preview_endjob(), blender::io::usd::import_endjob(), import_endjob(), insert_key_to_keying_set_path(), lib_id_override_editable_toggle_exec(), lineart_bake_endjob(), make_paths_absolute_exec(), make_paths_relative_exec(), merge_actions_selection_exec(), mesh_uv_texture_remove_exec(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_modal(), blender::ed::object::modifier_copy_to_object(), blender::ed::object::modifier_move_to_index(), blender::ed::object::modifiers_clear_exec(), nlaedit_disable_tweakmode(), obedit_circle_select(), blender::ed::object::object_duplicates_make_real_exec(), blender::ed::object::object_grease_pencil_add_exec(), blender::ed::spreadsheet::InstancesTreeViewItem::on_activate(), blender::ed::outliner::outliner_hide_exec(), blender::ed::outliner::outliner_orphans_purge_exec(), blender::ed::outliner::outliner_select_sync_to_edit_bone(), blender::ed::outliner::outliner_select_sync_to_pose_bone(), blender::ed::outliner::outliner_unhide_all_exec(), override_remove_button_exec(), override_type_set_button_exec(), pack_all_exec(), pack_islands_endjob(), blender::ed::object::bake_simulation::pack_single_bake_exec(), posttrans_gpd_clean(), posttrans_mask_clean(), preferences_asset_library_add_exec(), preferences_asset_library_remove_exec(), preview_endjob(), proj_paint_add_slot(), proxy_endjob(), proxy_endjob(), ptcache_job_endjob(), rearrange_gpencil_channels(), render_endjob(), report_missing_files_exec(), rna_property_update(), save_image_op(), blender::ed::outliner::scene_drop_invoke(), blender::ed::sculpt_paint::dyntopo::sculpt_dynamic_topology_toggle_exec(), blender::ed::sculpt_paint::dyntopo::sculpt_sample_detail_size_modal(), blender::ed::spreadsheet::select_component_domain_invoke(), blender::ed::object::select_grouped_exec(), blender::ed::greasepencil::select_layer_channel(), blender::ed::greasepencil::select_set_mode_exec(), blender::ed::space_node::send_notifiers_after_tree_change(), blender::ed::object::shaderfx_copy(), blender::ed::object::shaderfx_copy_exec(), blender::ed::object::shaderfx_link(), blender::ed::object::shaderfx_move_to_index(), blender::ed::object::bake_simulation::simulate_to_frame_endjob(), blender::ed::space_node::snode_bg_viewmove_modal(), solve_camera_freejob(), template_ID(), blender::ed::greasepencil::toggle_weight_tool_direction(), track_markers_endjob(), blender::ed::outliner::tree_element_layer_collection_activate(), blender::ed::outliner::tree_element_master_collection_activate(), ui_rna_update_preferences_dirty(), uiItemFullR(), unpack_all_exec(), blender::ed::object::bake_simulation::unpack_single_bake_exec(), blender::nodes::socket_items::ops::update_after_node_change(), uv_select_mode_exec(), uv_select_tag_update_for_object(), uv_shortest_path_pick_ex(), uvedit_pack_islands_multi(), uvedit_unwrap_multi(), view3d_collection_drop_copy_external_asset(), view3d_ob_drop_copy_external_asset(), view3d_smoothview_apply_and_finish_ex(), viewRedrawPost(), blender::ed::greasepencil::weight_sample_invoke(), weight_sample_invoke(), blender::ed::view3d::geometry_nodes_gizmos::WIDGETGROUP_geometry_nodes_refresh(), WM_file_tag_modified(), WM_operator_stack_clear(), wm_window_close(), wm_window_timers_process(), wm_xr_session_gpu_binding_context_create(), wm_xr_session_gpu_binding_context_destroy(), and wm_xr_session_update_screen().

◆ WM_main_playanim()

void WM_main_playanim ( int argc,
const char ** argv )

◆ WM_main_remap_editor_id_reference()

◆ WM_main_remove_notifier_reference()

void WM_main_remove_notifier_reference ( const void * reference)

◆ WM_menu_invoke()

int WM_menu_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )

Definition at line 1118 of file wm_operators.cc.

References WM_menu_invoke_ex(), and WM_OP_INVOKE_REGION_WIN.

Referenced by ACTION_OT_easing_type(), ACTION_OT_extrapolation_type(), ACTION_OT_handle_type(), ACTION_OT_interpolation_type(), ACTION_OT_keyframe_insert(), ACTION_OT_keyframe_type(), ACTION_OT_mirror(), ACTION_OT_snap(), ANIM_OT_channels_setting_disable(), ANIM_OT_channels_setting_enable(), ANIM_OT_channels_setting_toggle(), ARMATURE_OT_autoside_names(), ARMATURE_OT_calculate_roll(), ARMATURE_OT_select_similar(), BOID_OT_rule_add(), blender::ed::object::COLLECTION_OT_objects_add_active(), blender::ed::object::COLLECTION_OT_objects_remove(), blender::ed::object::COLLECTION_OT_objects_remove_active(), CURVE_OT_delete(), CURVE_OT_handle_type_set(), CURVE_OT_select_similar(), CURVE_OT_spline_type_set(), blender::ed::curves::CURVES_OT_handle_type_set(), blender::ed::object::datalayout_transfer_invoke(), GRAPH_OT_easing_type(), GRAPH_OT_extrapolation_type(), GRAPH_OT_fmodifier_add(), GRAPH_OT_handle_type(), GRAPH_OT_interpolation_type(), GRAPH_OT_keyframe_insert(), GRAPH_OT_mirror(), graphkeys_selected_control_points_invoke(), blender::ed::greasepencil::GREASE_PENCIL_OT_caps_set(), blender::ed::greasepencil::GREASE_PENCIL_OT_cyclical_set(), blender::ed::greasepencil::GREASE_PENCIL_OT_delete_frame(), blender::ed::greasepencil::GREASE_PENCIL_OT_dissolve(), blender::ed::greasepencil::GREASE_PENCIL_OT_reproject(), blender::ed::greasepencil::GREASE_PENCIL_OT_select_similar(), blender::ed::greasepencil::GREASE_PENCIL_OT_separate(), blender::ed::greasepencil::GREASE_PENCIL_OT_set_curve_type(), blender::ed::greasepencil::GREASE_PENCIL_OT_set_handle_type(), LATTICE_OT_flip(), MARKER_OT_make_links_scene(), MASK_OT_handle_type_set(), MBALL_OT_select_similar(), MESH_OT_delete(), MESH_OT_merge(), MESH_OT_select_similar(), MESH_OT_separate(), MESH_OT_sort_elements(), blender::ed::object::modifier_add_invoke(), NLA_OT_fmodifier_add(), NLA_OT_snap(), blender::ed::space_node::NODE_OT_select_grouped(), blender::ed::object::OBJECT_OT_constraint_add(), blender::ed::object::OBJECT_OT_constraint_add_with_targets(), blender::ed::object::OBJECT_OT_convert(), blender::ed::object::OBJECT_OT_data_transfer(), blender::ed::object::OBJECT_OT_empty_add(), blender::ed::object::OBJECT_OT_hook_remove(), blender::ed::object::OBJECT_OT_light_add(), blender::ed::object::OBJECT_OT_make_local(), blender::ed::object::OBJECT_OT_metaball_add(), blender::ed::object::OBJECT_OT_origin_set(), blender::ed::object::OBJECT_OT_parent_clear(), blender::ed::object::OBJECT_OT_select_by_type(), blender::ed::object::OBJECT_OT_select_grouped(), blender::ed::object::OBJECT_OT_select_linked(), blender::ed::object::OBJECT_OT_shaderfx_add(), blender::ed::object::OBJECT_OT_track_clear(), blender::ed::object::OBJECT_OT_track_set(), blender::ed::object::OBJECT_OT_vertex_group_set_active(), blender::ed::outliner::OUTLINER_OT_animdata_operation(), blender::ed::outliner::OUTLINER_OT_constraint_operation(), blender::ed::outliner::OUTLINER_OT_data_operation(), blender::ed::outliner::OUTLINER_OT_id_operation(), blender::ed::outliner::OUTLINER_OT_lib_operation(), blender::ed::outliner::OUTLINER_OT_liboverride_operation(), blender::ed::outliner::OUTLINER_OT_liboverride_troubleshoot_operation(), blender::ed::outliner::OUTLINER_OT_modifier_operation(), blender::ed::outliner::OUTLINER_OT_object_operation(), blender::ed::outliner::OUTLINER_OT_scene_operation(), PAINT_OT_weight_from_bones(), PARTICLE_OT_delete(), POSE_OT_autoside_names(), blender::ed::object::POSE_OT_constraint_add(), blender::ed::object::POSE_OT_constraint_add_with_targets(), POSE_OT_rotation_mode_set(), POSE_OT_select_grouped(), RIGIDBODY_OT_mass_calculate(), RIGIDBODY_OT_shape_change(), SCENE_OT_new(), SCENE_OT_new_sequencer(), SCENE_OT_view_layer_add(), SEQUENCER_OT_select_grouped(), SEQUENCER_OT_strip_modifier_copy(), UV_OT_select_similar(), VIEW3D_OT_bone_select_menu(), VIEW3D_OT_select_menu(), WM_OT_previews_clear(), and WM_OT_redraw_timer().

◆ WM_menu_invoke_ex()

◆ WM_menu_name_call()

void WM_menu_name_call ( bContext * C,
const char * menu_name,
short context )

◆ WM_menutype_add()

◆ WM_menutype_find()

◆ WM_menutype_free()

◆ WM_menutype_freelink()

void WM_menutype_freelink ( MenuType * mt)

◆ WM_menutype_idname_visit_for_search()

void WM_menutype_idname_visit_for_search ( const bContext * C,
PointerRNA * ptr,
PropertyRNA * prop,
const char * edit_text,
blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn )

◆ WM_menutype_init()

void WM_menutype_init ( )
Note
Called on initialize WM_init().

Definition at line 67 of file wm_menu_type.cc.

References BLI_ghash_str_new_ex(), and menutypes_hash.

Referenced by WM_init().

◆ WM_menutype_iter()

void WM_menutype_iter ( GHashIterator * ghi)

Definition at line 47 of file wm_menu_type.cc.

References BLI_ghashIterator_init(), and menutypes_hash.

Referenced by menu_items_from_ui_create().

◆ WM_menutype_poll()

◆ WM_operator_bl_idname()

size_t WM_operator_bl_idname ( char * dst,
const char * src )

Convert: some.op -> SOME_OT_op or leave as-is.

Returns
the length of dst.

◆ WM_operator_bl_idname_is_valid()

bool WM_operator_bl_idname_is_valid ( const char * idname)

Return true when an operators name follows the SOME_OT_op naming convention.

Definition at line 171 of file wm_operators.cc.

References OP_BL_SEP_LEN, and OP_BL_SEP_STRING.

Referenced by PYOP_wrap_macro_define(), wm_operatortype_append__end(), WM_operatortype_append_macro(), and WM_operatortype_append_macro_ptr().

◆ WM_operator_call()

int WM_operator_call ( bContext * C,
wmOperator * op )

Definition at line 1373 of file wm_event_system.cc.

References WM_operator_call_ex().

◆ WM_operator_call_ex()

int WM_operator_call_ex ( bContext * C,
wmOperator * op,
bool store )

For running operators with frozen context (modal handlers, menus).

Parameters
storeStore properties for re-use when an operator has finished (unless PROP_SKIP_SAVE is set).
Warning
do not use this within an operator to call itself! #29537.

Definition at line 1368 of file wm_event_system.cc.

References wm_operator_exec().

Referenced by dialog_exec_cb(), WM_operator_call(), and wm_operator_ui_popup_ok().

◆ WM_operator_call_notest()

int WM_operator_call_notest ( bContext * C,
wmOperator * op )

This is intended to be used when an invoke operator wants to call exec on itself and is basically like running op->type->exec() directly, no poll checks no freeing, since we assume whoever called invoke will take care of that

Definition at line 1378 of file wm_event_system.cc.

References wm_operator_exec_notest().

Referenced by op_generic_value_invoke(), and WM_operator_filesel().

◆ WM_operator_call_py()

int WM_operator_call_py ( bContext * C,
wmOperatorType * ot,
wmOperatorCallContext context,
PointerRNA * properties,
ReportList * reports,
bool is_undo )

Similar to WM_operator_name_call called with WM_OP_EXEC_DEFAULT context.

  • wmOperatorType is used instead of operator name since python already has the operator type.
  • poll() must be called by python before this runs.
  • reports can be passed to this function (so python can report them as exceptions).

Definition at line 1912 of file wm_event_system.cc.

References CTX_wm_manager(), wmWindowManager::op_undo_depth, OPERATOR_CANCELLED, ot, and wm_operator_call_internal().

Referenced by pyop_call().

◆ WM_operator_check_ui_enabled()

bool WM_operator_check_ui_enabled ( const bContext * C,
const char * idname )

Return false, if the UI should be disabled.

Definition at line 1285 of file wm_operators.cc.

References CTX_data_scene(), CTX_wm_manager(), ED_undo_is_valid(), WM_JOB_TYPE_ANY, and WM_jobs_test().

Referenced by ed_undo_redo_poll(), hud_panel_operator_redo_draw(), and wm_block_create_redo().

◆ WM_operator_confirm()

int WM_operator_confirm ( bContext * C,
wmOperator * op,
const wmEvent * event )

Invoke callback, confirm menu + exec.

Definition at line 1237 of file wm_operators.cc.

References ALERT_ICON_NONE, IFACE_, wmOperatorType::name, wmOperator::type, and WM_operator_confirm_ex().

Referenced by WM_OT_read_history(), WM_OT_read_userpref(), and WM_OT_save_userpref().

◆ WM_operator_confirm_ex()

int WM_operator_confirm_ex ( bContext * C,
wmOperator * op,
const char * title = nullptr,
const char * message = nullptr,
const char * confirm_text = nullptr,
int icon = 0,
bool cancel_default = false )

Like WM_operator_confirm, but with more options and can't be used as an invoke directly.

Definition at line 1728 of file wm_operators.cc.

References IFACE_, int, OPERATOR_RUNNING_MODAL, wmOperator::ptr, wmOperator::type, UI_DEFAULT_TEXT_POINTS, UI_popup_block_ex(), UI_SCALE_FAC, UI_style_get(), wm_block_dialog_create(), wm_operator_ui_popup_cancel(), wm_operator_ui_popup_ok(), WM_operatortype_name(), WM_POPUP_POSITION_CENTER, WM_POPUP_POSITION_MOUSE, WM_POPUP_SIZE_LARGE, and WM_POPUP_SIZE_SMALL.

Referenced by actkeys_delete_invoke(), armature_delete_selected_invoke(), blender::ed::object::bake_simulation::bake_simulation_invoke(), blender::ed::sculpt_paint::brush_asset_delete_invoke(), clear_anim_v3d_invoke(), blender::ed::object::collection_exporter_remove_invoke(), delete_curve_invoke(), delete_invoke(), delete_key_v3d_invoke(), delete_marker_invoke(), delete_metaelems_invoke(), delete_track_invoke(), ed_marker_delete_invoke(), file_delete_invoke(), file_directory_new_invoke(), graphkeys_delete_invoke(), blender::ed::object::modifier_apply_invoke(), nlaedit_make_single_user_invoke(), blender::ed::object::object_delete_invoke(), blender::ed::object::object_transform_apply_invoke(), pack_all_invoke(), preferences_extension_repo_remove_invoke(), text_reload_invoke(), text_unlink_invoke(), unpack_libraries_invoke(), wm_homefile_write_invoke(), WM_operator_confirm(), WM_operator_confirm_message(), WM_operator_confirm_message_ex(), WM_operator_confirm_or_exec(), wm_read_factory_settings_invoke(), wm_revert_mainfile_invoke(), and wm_userpref_read_invoke().

◆ WM_operator_confirm_message()

int WM_operator_confirm_message ( bContext * C,
wmOperator * op,
const char * message )

Definition at line 1231 of file wm_operators.cc.

References ALERT_ICON_NONE, IFACE_, and WM_operator_confirm_ex().

◆ WM_operator_confirm_message_ex()

int WM_operator_confirm_message_ex ( bContext * C,
wmOperator * op,
const char * title,
int icon,
const char * message,
wmOperatorCallContext opcontext )

Can't be used as an invoke directly, needs message arg (can be NULL).

Definition at line 1203 of file wm_operators.cc.

References ALERT_ICON_ERROR, ALERT_ICON_INFO, ALERT_ICON_NONE, ALERT_ICON_QUESTION, ALERT_ICON_WARNING, IFACE_, and WM_operator_confirm_ex().

◆ WM_operator_confirm_or_exec()

int WM_operator_confirm_or_exec ( bContext * C,
wmOperator * op,
const wmEvent * event )

◆ WM_operator_depends_on_cursor()

bool WM_operator_depends_on_cursor ( bContext & C,
wmOperatorType & ot,
PointerRNA * properties )

◆ WM_operator_drop_load_path()

◆ WM_operator_filesel()

◆ WM_operator_filesel_ensure_ext_imtype()

bool WM_operator_filesel_ensure_ext_imtype ( wmOperator * op,
const ImageFormatData * im_format )

◆ WM_operator_find_modal_by_type()

wmOperator * WM_operator_find_modal_by_type ( wmWindow * win,
const wmOperatorType * ot )

Return the first modal operator of type ot or NULL.

Definition at line 4995 of file wm_event_system.cc.

References LISTBASE_FOREACH, wmWindow::modalhandlers, wmEventHandler_Op::op, ot, wmOperator::type, and WM_HANDLER_TYPE_OP.

Referenced by gizmo_modal().

◆ WM_operator_flag_only_pass_through_on_press()

int WM_operator_flag_only_pass_through_on_press ( int retval,
const wmEvent * event )

Indented for use in a selection (picking) operators wmOperatorType::invoke callback to implement click-drag, where the initial click selects and the drag action grabs or performs box-select (for example).

  • In this case, returning OPERATOR_FINISHED causes the PRESS event to be handled and prevents further CLICK (on release) or DRAG (on cursor motion) from being generated & handled.
  • Returning OPERATOR_FINISHED | OPERATOR_PASS_THROUGH allows for CLICK/DRAG but only makes sense if the event's value is PRESS. If the operator was already mapped to a CLICK/DRAG event, a single CLICK/DRAG could invoke multiple operators.

This function handles the details of checking the operator return value, clearing OPERATOR_PASS_THROUGH when the wmEvent::val is not KM_PRESS.

Note
Combining selection with other actions should only be used in situations where selecting doesn't change the visibility of other items. Since it means for example click-drag to box select could hide-show elements the user intended to box-select. In this case it's preferred to select on CLICK instead of PRESS (see the Outliner use of click-drag).

Definition at line 39 of file wm_operator_utils.cc.

References BLI_assert, KM_PRESS, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, and wmEvent::val.

Referenced by add_vertex_invoke(), animchannels_mouseclick_invoke(), armature_click_extrude_invoke(), edbm_dupli_extrude_cursor_invoke(), blender::ed::space_node::node_select_invoke(), select_invoke(), sequencer_select_invoke(), uv_select_edge_ring_invoke(), uv_select_invoke(), uv_select_loop_invoke(), and view3d_select_invoke().

◆ WM_operator_free()

◆ WM_operator_free_all_after()

void WM_operator_free_all_after ( wmWindowManager * wm,
wmOperator * op )

◆ WM_operator_handlers_clear()

void WM_operator_handlers_clear ( wmWindowManager * wm,
wmOperatorType * ot )

This function is needed in the case when an addon id disabled while a modal operator it defined is running.

Definition at line 391 of file wm.cc.

References ARRAY_SIZE, wmEventHandler::flag, wmEventHandler_Op::head, LISTBASE_FOREACH, SpaceFile::op, wmEventHandler_Op::op, ot, SPACE_FILE, wmOperator::type, wmWindowManager::windows, WM_HANDLER_DO_FREE, WM_HANDLER_TYPE_OP, WM_operator_free(), and WM_window_get_active_screen().

◆ WM_operator_is_repeat()

bool WM_operator_is_repeat ( const bContext * C,
const wmOperator * op )

◆ WM_operator_last_properties_ensure()

void WM_operator_last_properties_ensure ( wmOperatorType * ot,
PointerRNA * ptr )

◆ WM_operator_last_properties_ensure_idprops()

IDProperty * WM_operator_last_properties_ensure_idprops ( wmOperatorType * ot)

◆ WM_operator_last_properties_init()

◆ WM_operator_last_properties_store()

◆ WM_operator_last_redo()

◆ WM_operator_name_call()

◆ WM_operator_name_call_ptr()

int WM_operator_name_call_ptr ( bContext * C,
wmOperatorType * ot,
wmOperatorCallContext context,
PointerRNA * properties,
const wmEvent * event )

Invokes operator in context.

Parameters
eventOptionally pass in an event to use when context uses one of the WM_OP_INVOKE_* values. When left unset the wmWindow.eventstate will be used, this can cause problems for operators that read the events type - for example, storing the key that was pressed so as to be able to detect its release. In these cases it's necessary to forward the current event being handled.

Definition at line 1857 of file wm_event_system.cc.

References BLI_assert, wmOperatorType::idname, ot, wm_operator_call_internal(), and WM_operatortype_find().

Referenced by add_driver_button_menu_exec(), bone_mouse_select_menu(), blender::ed::object::collection_exporter_export(), constraint_reorder(), doc_view_manual_ui_context_exec(), file_browse_invoke(), file_directory_enter_handle(), file_external_operation_exec(), ghost_event_proc(), blender::ed::outliner::id_remap_fn(), image_file_browse_invoke(), blender::ed::outliner::lib_relocate(), blender::ed::space_node::link_drag_search_exec_fn(), blender::ed::object::mode_set_ex(), modifier_reorder(), blender::ed::space_node::node_add_group_asset_invoke(), object_mouse_select_menu(), blender::ed::asset::shelf::AssetViewItem::on_activate(), operator_search_exec_fn(), blender::ed::outliner::outliner_item_drag_drop_invoke(), preferences_extension_url_drop_invoke(), shaderfx_reorder(), blender::ed::transform::special_aftertrans_update__node(), toolsystem_ref_set_by_brush_type(), transform_from_gizmo_invoke(), ui_but_anim_decorate_cb(), ui_handler_wait_for_input(), view3d_interactive_add_modal(), wm_drop_import_file_exec(), WM_gizmo_operator_invoke(), WM_menu_name_call(), WM_operator_name_call(), WM_operator_name_call_ptr_with_depends_on_cursor(), WM_operator_name_call_with_properties(), wm_test_autorun_revert_action_exec(), and WM_toolsystem_ref_set_by_id_ex().

◆ WM_operator_name_call_ptr_with_depends_on_cursor()

◆ WM_operator_name_call_with_properties()

◆ WM_operator_name_poll()

bool WM_operator_name_poll ( bContext * C,
const char * opstring )

◆ WM_operator_poll()

◆ WM_operator_poll_context()

◆ WM_operator_properties_alloc()

void WM_operator_properties_alloc ( PointerRNA ** ptr,
IDProperty ** properties,
const char * opstring )

◆ WM_operator_properties_border()

◆ WM_operator_properties_border_to_rctf()

◆ WM_operator_properties_border_to_rcti()

◆ WM_operator_properties_checker_interval()

void WM_operator_properties_checker_interval ( wmOperatorType * ot,
bool nth_can_disable )
Parameters
nth_can_disableEnable if we want to be able to select no interval at all.

Definition at line 637 of file wm_operator_props.cc.

References min_ii(), ot, RNA_def_int(), and wmOperatorType::srna.

Referenced by CURVE_OT_select_nth(), MESH_OT_select_nth(), path_select_properties(), and path_select_properties().

◆ WM_operator_properties_checker_interval_from_op()

◆ WM_operator_properties_checker_interval_test()

◆ WM_operator_properties_clear()

void WM_operator_properties_clear ( PointerRNA * ptr)

Definition at line 842 of file wm_operators.cc.

References PointerRNA::data, IDP_ClearProperty(), and ptr.

Referenced by wm_macro_modal().

◆ WM_operator_properties_confirm_or_exec()

◆ WM_operator_properties_create()

◆ WM_operator_properties_create_ptr()

void WM_operator_properties_create_ptr ( PointerRNA * ptr,
wmOperatorType * ot )

Definition at line 729 of file wm_operators.cc.

References G_MAIN, ot, ptr, RNA_pointer_create(), and wmOperatorType::srna.

Referenced by bone_mouse_select_menu(), constraint_reorder(), blender::ed::asset::shelf::create_activate_operator_params(), file_browse_invoke(), file_directory_enter_handle(), file_external_operation_exec(), file_handler_import_operator_create_ptr(), ghost_event_proc(), blender::ed::outliner::id_remap_fn(), image_file_browse_invoke(), blender::ed::outliner::lib_relocate(), blender::ed::space_node::link_drag_search_exec_fn(), menu_item_enum_opname_menu_active(), modifier_reorder(), blender::ed::object::move_to_collection_menu_create(), blender::ed::space_node::node_add_group_asset_invoke(), object_mouse_select_menu(), blender::ed::outliner::outliner_item_drag_drop_invoke(), preferences_extension_url_drop_invoke(), pyop_call(), shaderfx_reorder(), blender::ed::transform::special_aftertrans_update__node(), toolsystem_ref_set_by_brush_type(), transform_from_gizmo_invoke(), ui_but_anim_decorate_cb(), ui_but_extra_operator_icon_add_ptr(), UI_but_operator_ptr_ensure(), ui_handle_menu_letter_press_search(), ui_pie_menu_level_invoke(), ui_tooltip_data_from_tool(), uiItemBooleanO(), uiItemEnumO_ptr(), uiItemEnumO_string(), uiItemEnumO_value(), uiItemFloatO(), uiItemIntO(), uiItemMenuEnumFullO_ptr(), uiItemsFullEnumO(), uiItemsFullEnumO_items(), uiItemStringO(), view3d_interactive_add_modal(), wm_dropbox_item_update_ot(), WM_gizmo_operator_set(), wm_keymap_item_properties_update_ot(), WM_menu_name_call(), WM_operator_properties_create(), WM_operator_pystring_ex(), WM_operator_type_set(), WM_operator_ui_poll(), WM_operatortype_props_advanced_end(), wm_recover_auto_save_exec(), wm_recover_last_session_exec(), wm_test_autorun_revert_action_exec(), WM_toolsystem_ref_set_by_id_ex(), and WM_xr_actionmap_item_properties_update_ot().

◆ WM_operator_properties_default()

bool WM_operator_properties_default ( PointerRNA * ptr,
bool do_update )

Set all props to their default.

Parameters
do_updateOnly update un-initialized props.
Note
There's nothing specific to operators here. This could be made a general function.

Definition at line 798 of file wm_operators.cc.

References PROP_POINTER, ptr, RNA_property_is_set(), RNA_property_pointer_get(), RNA_property_pointer_type(), RNA_property_reset(), RNA_property_type(), RNA_STRUCT_BEGIN, RNA_STRUCT_END, and WM_operator_properties_default().

Referenced by wm_keymap_item_find(), wm_keymap_item_find_in_keymap(), WM_operator_properties_default(), and WM_operator_type_set().

◆ WM_operator_properties_filesel()

void WM_operator_properties_filesel ( wmOperatorType * ot,
int filter,
short type,
eFileSel_Action action,
eFileSel_Flag flag,
short display,
short sort )

Default properties for file-select.

Definition at line 65 of file wm_operator_props.cc.

References FILE_DEFAULTDISPLAY, FILE_HORIZONTALDISPLAY, FILE_IMGDISPLAY, FILE_LOADLIB, FILE_MAX, FILE_SAVE, FILE_SPECIAL, FILE_TYPE_ALEMBIC, FILE_TYPE_ARCHIVE, FILE_TYPE_BLENDER, FILE_TYPE_BLENDER_BACKUP, FILE_TYPE_BLENDERLIB, FILE_TYPE_BTX, FILE_TYPE_COLLADA, FILE_TYPE_FOLDER, FILE_TYPE_FTFONT, FILE_TYPE_IMAGE, FILE_TYPE_MOVIE, FILE_TYPE_OBJECT_IO, FILE_TYPE_PYSCRIPT, FILE_TYPE_SOUND, FILE_TYPE_TEXT, FILE_TYPE_USD, FILE_TYPE_VOLUME, FILE_VERTICALDISPLAY, flag, ot, PROP_HIDDEN, PROP_SKIP_PRESET, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_collection_runtime(), RNA_def_enum(), RNA_def_enum_funcs(), RNA_def_int(), RNA_def_property_flag(), RNA_def_string_dir_path(), RNA_def_string_file_name(), RNA_def_string_file_path(), rna_enum_dummy_NULL_items, wmOperatorType::srna, WM_FILESEL_DIRECTORY, WM_FILESEL_FILENAME, WM_FILESEL_FILEPATH, WM_FILESEL_FILES, WM_FILESEL_RELPATH, WM_FILESEL_SHOW_PROPS, and wm_operator_properties_filesel_sort_items_itemf().

Referenced by blender::ed::asset::ASSET_OT_bundle_install(), blender::ed::sculpt_paint::BRUSH_OT_asset_load_preview(), BUTTONS_OT_directory_browse(), BUTTONS_OT_file_browse(), CACHEFILE_OT_layer_add(), CACHEFILE_OT_open(), CLIP_OT_open(), ED_OT_lib_id_load_custom_preview(), FILE_OT_find_missing_files(), FONT_OT_open(), FONT_OT_text_paste_from_file(), GRAPH_OT_sound_to_samples(), IMAGE_OT_file_browse(), IMAGE_OT_open(), IMAGE_OT_replace(), IMAGE_OT_save_as(), blender::ed::space_node::NODE_OT_add_file(), blender::ed::object::OBJECT_OT_empty_image_add(), blender::ed::object::OBJECT_OT_multires_external_save(), blender::ed::object::OBJECT_OT_volume_import(), PREFERENCES_OT_asset_library_add(), RIGIDBODY_OT_world_export(), screen_screenshot_impl(), SEQUENCER_OT_change_path(), SEQUENCER_OT_export_subtitles(), SEQUENCER_OT_image_strip_add(), SEQUENCER_OT_movie_strip_add(), SEQUENCER_OT_sound_strip_add(), SOUND_OT_mixdown(), SOUND_OT_open(), SOUND_OT_open_mono(), TEXT_OT_open(), TEXT_OT_save_as(), WM_OT_append(), WM_OT_lib_reload(), WM_OT_lib_relocate(), WM_OT_link(), WM_OT_open_mainfile(), WM_OT_recover_auto_save(), WM_OT_save_as_mainfile(), and WM_OT_save_mainfile().

◆ WM_operator_properties_free()

void WM_operator_properties_free ( PointerRNA * ptr)

Definition at line 851 of file wm_operators.cc.

References PointerRNA::data, IDP_FreeProperty(), and ptr.

Referenced by bone_mouse_select_menu(), constraint_reorder(), doc_view_manual_ui_context_exec(), file_browse_invoke(), file_directory_enter_handle(), file_external_operation_exec(), file_smoothscroll_invoke(), ghost_event_proc(), blender::ed::outliner::id_remap_fn(), image_file_browse_invoke(), blender::ed::outliner::lib_relocate(), blender::ed::space_node::link_drag_search_exec_fn(), menu_search_arg_free_fn(), modifier_reorder(), blender::ed::space_node::node_add_group_asset_invoke(), blender::ed::space_node::node_render_changed_exec(), object_mouse_select_menu(), blender::ed::asset::shelf::AssetViewItem::on_activate(), blender::ed::outliner::outliner_item_drag_drop_invoke(), preferences_extension_url_drop_invoke(), pyop_as_string(), pyop_call(), shaderfx_reorder(), blender::ed::transform::special_aftertrans_update__node(), toolsystem_ref_set_by_brush_type(), transform_from_gizmo_invoke(), ui_apply_but_funcs_after(), ui_but_anim_decorate_cb(), ui_but_extra_operator_icon_free(), ui_but_free(), ui_tooltip_data_from_tool(), uilist_free_dyn_data(), view3d_interactive_add_modal(), wm_drop_import_file_exec(), wm_drop_item_free_data(), WM_gizmo_free(), WM_gizmo_operator_set(), wm_handler_operator_call(), wm_keymap_item_free_data(), WM_keymap_item_properties_reset(), WM_keymap_remove_item(), WM_menu_name_call(), WM_operator_pystring_ex(), WM_operator_type_set(), wm_operatortype_free_macro(), wm_test_autorun_revert_action_set(), WM_toolsystem_ref_set_by_id_ex(), and wm_xr_actionmap_item_properties_free().

◆ WM_operator_properties_generic_select()

void WM_operator_properties_generic_select ( wmOperatorType * ot)

Selecting and tweaking items are overlapping operations. Getting both to work without conflicts requires special care. See https://wiki.blender.org/wiki/Human_Interface_Guidelines/Selection#Select-tweaking for the desired behavior.

For default click selection (with no modifier keys held), the select operators can do the following:

  • On a mouse press on an unselected item, change selection and finish immediately after. This sends an undo push and allows transform to take over should a click-drag event be caught.
  • On a mouse press on a selected item, don't change selection state, but start modal execution of the operator. Idea is that we wait with deselecting other items until we know that the intention wasn't to tweak (mouse press+drag) all selected items.
  • If a click-drag is recognized before the release event happens, cancel the operator, so that transform can take over and no undo-push is sent.
  • If the release event occurs rather than a click-drag one, deselect all items but the one under the cursor, and finish the modal operator.

This utility, together with WM_generic_select_invoke() and WM_generic_select_modal() should help getting the wanted behavior to work. Most generic logic should be handled in these, so that the select operators only have to care for the case dependent handling.

Every select operator has slightly different requirements, e.g. sequencer strip selection also needs to account for handle selection. This should be the baseline behavior though.

Definition at line 500 of file wm_operator_props.cc.

References ot, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_int(), RNA_def_property_flag(), and wmOperatorType::srna.

Referenced by ACTION_OT_clickselect(), FILE_OT_select(), GRAPH_OT_clickselect(), MARKER_OT_select(), NLA_OT_click_select(), SEQUENCER_OT_select(), and SEQUENCER_OT_select_handle().

◆ WM_operator_properties_gesture_box()

◆ WM_operator_properties_gesture_box_ex()

void WM_operator_properties_gesture_box_ex ( wmOperatorType * ot,
bool deselect,
bool extend )

◆ WM_operator_properties_gesture_box_select()

void WM_operator_properties_gesture_box_select ( wmOperatorType * ot)

◆ WM_operator_properties_gesture_box_zoom()

◆ WM_operator_properties_gesture_circle()

◆ WM_operator_properties_gesture_lasso()

◆ WM_operator_properties_gesture_polyline()

◆ WM_operator_properties_gesture_straightline()

◆ WM_operator_properties_id_lookup()

void WM_operator_properties_id_lookup ( wmOperatorType * ot,
const bool add_name_prop )

Adds "name" and "session_uid" properties so the caller can tell the operator which ID to act on. See WM_operator_properties_id_lookup_from_name_or_session_uid(). Both properties will be hidden in the UI and not be saved over consecutive operator calls.

Note
New operators should probably use "session_uid" only (set add_name_prop to false), since this works properly with linked data and/or library overrides (in both cases, multiple IDs with the same name and type may be present). The "name" property is only kept to not break compatibility with old scripts using some previously existing operators.

Definition at line 274 of file wm_operator_props.cc.

References INT32_MAX, INT32_MIN, MAX_ID_NAME, ot, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_int(), RNA_def_property_flag(), RNA_def_string(), and wmOperatorType::srna.

Referenced by blender::ed::geometry::GEOMETRY_OT_execute_node_group(), blender::ed::space_node::NODE_OT_add_collection(), blender::ed::space_node::NODE_OT_add_file(), blender::ed::space_node::NODE_OT_add_group(), blender::ed::space_node::NODE_OT_add_mask(), blender::ed::space_node::NODE_OT_add_material(), blender::ed::space_node::NODE_OT_add_object(), blender::ed::object::OBJECT_OT_add_named(), blender::ed::object::OBJECT_OT_collection_external_asset_drop(), blender::ed::object::OBJECT_OT_collection_instance_add(), blender::ed::object::OBJECT_OT_data_instance_add(), blender::ed::object::OBJECT_OT_drop_named_material(), blender::ed::object::OBJECT_OT_empty_image_add(), blender::ed::object::OBJECT_OT_modifier_add_node_group(), blender::ed::object::bake_simulation::single_bake_operator_props(), UI_OT_drop_material(), VIEW3D_OT_camera_background_image_add(), and VIEW3D_OT_drop_world().

◆ WM_operator_properties_id_lookup_from_name_or_session_uid()

ID * WM_operator_properties_id_lookup_from_name_or_session_uid ( Main * bmain,
PointerRNA * ptr,
enum ID_Type type )

Tries to find an ID in bmain. There needs to be either a "session_uid" int or "name" string property defined and set. The former has priority. See WM_operator_properties_id_lookup() for a helper to add the properties.

Definition at line 249 of file wm_operator_props.cc.

References BKE_libblock_find_name(), BKE_libblock_find_session_uid(), MAX_ID_NAME, ptr, RNA_property_int_get(), RNA_property_is_set(), RNA_property_string_get(), and RNA_struct_find_property().

Referenced by blender::ed::object::bake_simulation::bake_single_node_gather_bake_request(), blender::ed::object::collection_add_info_get_from_op(), blender::ed::object::bake_simulation::delete_single_bake_exec(), blender::ed::object::drop_named_material_invoke(), drop_world_exec(), blender::ed::geometry::get_asset_or_local_node_group(), blender::ed::object::get_asset_or_local_node_group(), blender::ed::space_node::node_add_collection_exec(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_add_mask_exec(), blender::ed::space_node::node_add_material_exec(), blender::ed::space_node::node_add_object_exec(), blender::ed::object::object_add_named_exec(), blender::ed::object::object_data_instance_add_exec(), blender::ed::object::object_transform_to_mouse_exec(), blender::ed::object::bake_simulation::pack_single_bake_exec(), blender::ed::geometry::run_node_group_depends_on_cursor(), ui_drop_material_exec(), blender::ed::object::bake_simulation::unpack_single_bake_exec(), WM_drag_free_imported_drag_ID(), and WM_operator_drop_load_path().

◆ WM_operator_properties_id_lookup_is_set()

bool WM_operator_properties_id_lookup_is_set ( PointerRNA * ptr)

Check if either the "session_uid" or "name" property is set inside ptr. If this is the case the ID can be looked up by WM_operator_properties_id_lookup_from_name_or_session_uid().

Definition at line 269 of file wm_operator_props.cc.

References ptr, and RNA_struct_property_is_set().

Referenced by blender::ed::space_node::node_add_file_invoke(), blender::ed::object::object_image_add_invoke(), blender::ed::object::object_instance_add_invoke(), and WM_operator_drop_load_path().

◆ WM_operator_properties_id_lookup_set_from_id()

void WM_operator_properties_id_lookup_set_from_id ( PointerRNA * ptr,
const ID * id )

Tries to pass id to an operator via either a "session_uid" or a "name" property defined in the properties of ptr. The former is preferred, since it works properly with linking and library overrides (which may both result in multiple IDs with the same name and type).

Also see WM_operator_properties_id_lookup() and WM_operator_properties_id_lookup_from_name_or_session_uid()

Definition at line 233 of file wm_operator_props.cc.

References BLI_assert_unreachable, ptr, RNA_int_set(), RNA_string_set(), and RNA_struct_find_property().

Referenced by blender::ed::geometry::catalog_assets_draw_unassigned(), blender::nodes::draw_bake_button_row(), blender::ed::object::unassigned_assets_draw(), view3d_id_drop_copy(), view3d_id_drop_copy_with_type(), and view3d_id_path_drop_copy().

◆ WM_operator_properties_mouse_select()

◆ WM_operator_properties_reset()

◆ WM_operator_properties_sanitize()

◆ WM_operator_properties_select_action()

void WM_operator_properties_select_action ( wmOperatorType * ot,
int default_action,
bool hide_gui )

◆ WM_operator_properties_select_action_simple()

void WM_operator_properties_select_action_simple ( wmOperatorType * ot,
int default_action,
bool hide_gui )

Only for select/de-select.

Definition at line 327 of file wm_operator_props.cc.

References ot, SEL_DESELECT, SEL_SELECT, and wm_operator_properties_select_action_ex().

Referenced by WM_operator_properties_select_random().

◆ WM_operator_properties_select_all()

◆ WM_operator_properties_select_operation()

void WM_operator_properties_select_operation ( wmOperatorType * ot)

◆ WM_operator_properties_select_operation_simple()

◆ WM_operator_properties_select_random()

◆ WM_operator_properties_select_random_seed_increment_get()

◆ WM_operator_properties_select_walk_direction()

◆ WM_operator_properties_use_cursor_init()

void WM_operator_properties_use_cursor_init ( wmOperatorType * ot)

Disable using cursor position, use when view operators are initialized from buttons.

Definition at line 436 of file wm_operator_props.cc.

References ot, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_property_flag(), and wmOperatorType::srna.

Referenced by CLIP_OT_view_zoom(), IMAGE_OT_view_zoom(), VIEW2D_OT_zoom(), and view3d_operator_properties_common().

◆ WM_operator_props_dialog_popup()

int WM_operator_props_dialog_popup ( bContext * C,
wmOperator * op,
int width,
std::optional< std::string > title = std::nullopt,
std::optional< std::string > confirm_text = std::nullopt,
bool cancel_default = false )

◆ WM_operator_props_popup()

◆ WM_operator_props_popup_call()

int WM_operator_props_popup_call ( bContext * C,
wmOperator * op,
const wmEvent * event )

Same as WM_operator_props_popup but call the operator first, This way - the button values correspond to the result of the operator. Without this, first access to a button will make the result jump, see #32452.

Definition at line 1832 of file wm_operators.cc.

References wm_operator_props_popup_ex().

Referenced by UV_OT_pack_islands().

◆ WM_operator_props_popup_confirm()

int WM_operator_props_popup_confirm ( bContext * C,
wmOperator * op,
const wmEvent * event )

Invoke callback, exec + redo popup.

Same as WM_operator_props_popup but don't use operator redo. just wraps WM_operator_props_dialog_popup.

Definition at line 1827 of file wm_operators.cc.

References wm_operator_props_popup_ex().

◆ WM_operator_props_popup_confirm_ex()

◆ WM_operator_py_idname()

size_t size_t WM_operator_py_idname ( char * dst,
const char * src )

Convert: SOME_OT_op -> some.op or leave as-is.

Returns
the length of dst.

◆ WM_operator_py_idname_ok_or_report()

size_t size_t bool WM_operator_py_idname_ok_or_report ( ReportList * reports,
const char * classname,
const char * idname )

Sanity check to ensure WM_operator_bl_idname won't fail.

Returns
true when there are no problems with idname, otherwise report an error.

Definition at line 195 of file wm_operators.cc.

References BKE_reportf(), OP_MAX_PY_IDNAME, and RPT_ERROR.

◆ WM_operator_pystring()

std::string WM_operator_pystring ( bContext * C,
wmOperator * op,
bool all_args,
bool macro_args )

◆ WM_operator_pystring_abbreviate()

std::string WM_operator_pystring_abbreviate ( std::string str,
int str_len_max )

Definition at line 330 of file wm_operators.cc.

References str.

Referenced by ui_tooltip_text_python_from_op().

◆ WM_operator_pystring_ex()

std::string WM_operator_pystring_ex ( bContext * C,
wmOperator * op,
bool all_args,
bool macro_args,
wmOperatorType * ot,
PointerRNA * opptr )

Operator as a Python command.

Return a string representation of the operator, with the arguments that it runs so Python can run it again.

When calling from an existing wmOperator, better to use simple version: WM_operator_pystring(C, op);

Note
Both op and opptr may be NULL (op is only used for macro operators).

Definition at line 252 of file wm_operators.cc.

References ListBase::first, wmOperatorType::idname, wmOperator::macro, wmOperatorType::macro, wmOperator::next, OP_MAX_TYPENAME, ot, wmOperator::ptr, RNA_pointer_as_string_id(), RNA_pointer_as_string_keywords(), wmOperator::type, WM_operator_properties_create_ptr(), WM_operator_properties_free(), and WM_operator_py_idname().

Referenced by copy_python_command_button_exec(), pyop_as_string(), ui_but_copy_operator(), ui_layout_introspect_button(), ui_tooltip_text_python_from_op(), and WM_operator_pystring().

◆ WM_operator_redo_popup()

◆ WM_operator_region_active_win_set()

void WM_operator_region_active_win_set ( bContext * C)

Sets the active region for this space from the context.

See also
BKE_area_find_region_active_win

Definition at line 1123 of file wm_event_system.cc.

References BLI_findindex(), CTX_wm_area(), CTX_wm_region(), and RGN_TYPE_WINDOW.

Referenced by wm_operator_finished().

◆ WM_operator_repeat()

int WM_operator_repeat ( bContext * C,
wmOperator * op )

Execute this operator again, put here so it can share above code

Definition at line 1383 of file wm_event_system.cc.

References wmOperator::flag, OP_IS_REPEAT, ret, and wm_operator_exec().

Referenced by ED_undo_operator_repeat(), repeat_history_exec(), and wm_block_redo_cb().

◆ WM_operator_repeat_check()

bool WM_operator_repeat_check ( const bContext * C,
wmOperator * op )
Returns
true if WM_operator_repeat can run. Simple check for now but may become more involved. To be sure the operator can run call WM_operator_poll(C, op->type) also, since this call checks if WM_operator_repeat() can run at all, not that it WILL run at any time.

Definition at line 1399 of file wm_event_system.cc.

References wmOperatorType::exec, LISTBASE_FOREACH, wmOperatorType::macro, wmOperator::opm, wmOperator::type, and WM_operatortype_find().

Referenced by ED_undo_operator_repeat(), last_redo_poll(), repeat_history_invoke(), template_operator_property_buts_draw_single(), and uiTemplateOperatorRedoProperties().

◆ WM_operator_repeat_last()

int WM_operator_repeat_last ( bContext * C,
wmOperator * op )

Definition at line 1391 of file wm_event_system.cc.

References wmOperator::flag, OP_IS_REPEAT_LAST, ret, and wm_operator_exec().

Referenced by repeat_last_exec().

◆ WM_operator_smooth_viewtx_get()

◆ WM_operator_stack_clear()

void WM_operator_stack_clear ( wmWindowManager * wm)

◆ WM_operator_type_modal_from_exec_for_object_edit_coords()

void WM_operator_type_modal_from_exec_for_object_edit_coords ( wmOperatorType * ot)

Allow an operator with only and execute function to run modally, re-doing the action, using vertex coordinate store/restore instead of operator undo.

Definition at line 327 of file wm_operator_utils.cc.

References BLI_assert, wmOperatorType::cancel, wmOperatorType::invoke, wmOperatorType::modal, op_generic_value_cancel(), op_generic_value_invoke(), op_generic_value_modal(), ot, wmOperatorType::prop, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_property_flag(), and wmOperatorType::srna.

Referenced by MESH_OT_vertices_smooth(), and blender::ed::object::TRANSFORM_OT_vertex_random().

◆ WM_operator_type_set()

void WM_operator_type_set ( wmOperator * op,
wmOperatorType * ot )

Use with extreme care! Properties, custom-data etc - must be compatible.

Parameters
opOperator to assign the type to.
otOperator type to assign.

Definition at line 329 of file wm.cc.

References BLI_assert, PointerRNA::data, IDP_SyncGroupTypes(), ot, wmOperator::properties, ptr, wmOperator::ptr, wmOperator::py_instance, wmOperatorType::srna, PointerRNA::type, wmOperator::type, WM_operator_properties_create_ptr(), WM_operator_properties_default(), and WM_operator_properties_free().

Referenced by transform_modal(), and view3d_navigate_modal_fn().

◆ WM_operator_ui_poll()

◆ WM_operator_ui_popup()

int WM_operator_ui_popup ( bContext * C,
wmOperator * op,
int width )

◆ WM_operator_view3d_unit_defaults()

◆ WM_operator_winactive()

◆ WM_operatortype_append()

void WM_operatortype_append ( void(* opfunc )(wmOperatorType *ot))

Definition at line 137 of file wm_operator_type.cc.

References ot, wm_operatortype_append__begin(), and wm_operatortype_append__end().

Referenced by action_operatortypes(), buttons_operatortypes(), clip_operatortypes(), blender::ed::object::collection_exporter_register(), console_operatortypes(), ED_operatortypes_anim(), ED_operatortypes_animchannels(), ED_operatortypes_armature(), ED_operatortypes_curve(), ED_operatortypes_edutils(), ED_operatortypes_geometry(), ED_operatortypes_gpencil_legacy(), ED_operatortypes_grease_pencil_bake_animation(), ED_operatortypes_grease_pencil_draw(), ED_operatortypes_grease_pencil_edit(), ED_operatortypes_grease_pencil_frames(), ED_operatortypes_grease_pencil_interpolate(), ED_operatortypes_grease_pencil_join(), ED_operatortypes_grease_pencil_layers(), ED_operatortypes_grease_pencil_lineart(), ED_operatortypes_grease_pencil_material(), ED_operatortypes_grease_pencil_modes(), ED_operatortypes_grease_pencil_primitives(), ED_operatortypes_grease_pencil_select(), ED_operatortypes_grease_pencil_trace(), ED_operatortypes_grease_pencil_vertex_paint(), ED_operatortypes_grease_pencil_weight_paint(), ED_operatortypes_io(), ED_operatortypes_lattice(), ED_operatortypes_marker(), ED_operatortypes_mask(), ED_operatortypes_mesh(), ED_operatortypes_metaball(), ED_operatortypes_paint(), ED_operatortypes_render(), ED_operatortypes_scene(), ED_operatortypes_screen(), ED_operatortypes_sculpt_curves(), ED_operatortypes_sound(), ED_operatortypes_ui(), ED_operatortypes_userpref(), ED_operatortypes_uvedit(), ED_operatortypes_view2d(), ED_operatortypes_workspace(), file_operatortypes(), graphedit_operatortypes(), image_operatortypes(), info_operatortypes(), nla_operatortypes(), blender::nodes::node_geo_attribute_capture_cc::node_operators(), blender::nodes::node_geo_bake_cc::node_operators(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::node_operators(), blender::nodes::node_geo_index_switch_cc::node_operators(), blender::nodes::node_geo_menu_switch_cc::node_operators(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_operators(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_operators(), blender::ed::space_node::node_operatortypes(), blender::ed::object::object_modifier_add_asset_register(), blender::ed::asset::operatortypes_asset(), operatortypes_boids(), blender::ed::curves::operatortypes_curves(), operatortypes_dynamicpaint(), operatortypes_fluid(), blender::ed::object::operatortypes_object(), operatortypes_particle(), operatortypes_pointcache(), blender::ed::sculpt_paint::operatortypes_sculpt(), blender::ed::outliner::outliner_operatortypes(), script_operatortypes(), sequencer_operatortypes(), blender::ed::spreadsheet::spreadsheet_operatortypes(), text_operatortypes(), transform_operatortypes(), view3d_operatortypes(), wm_operatortypes_register(), and wm_xr_operatortypes_register().

◆ WM_operatortype_append_macro()

wmOperatorType * WM_operatortype_append_macro ( const char * idname,
const char * name,
const char * description,
int flag )

◆ WM_operatortype_append_macro_ptr()

◆ WM_operatortype_append_ptr()

void WM_operatortype_append_ptr ( void(* opfunc )(wmOperatorType *ot, void *userdata),
void * userdata )

◆ WM_operatortype_description()

◆ WM_operatortype_description_or_name()

std::string WM_operatortype_description_or_name ( bContext * C,
wmOperatorType * ot,
PointerRNA * properties )

Use when we want a label, preferring the description.

Definition at line 601 of file wm_operator_type.cc.

References ot, WM_operatortype_description(), and WM_operatortype_name().

Referenced by ui_tooltip_data_from_gizmo().

◆ WM_operatortype_find()

wmOperatorType * WM_operatortype_find ( const char * idname,
bool quiet )

Definition at line 68 of file wm_operator_type.cc.

References CLOG_INFO, get_operators_map(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default_as(), OP_MAX_TYPENAME, ot, WM_LOG_OPERATORS, and WM_operator_bl_idname().

Referenced by add_driver_button_menu_exec(), bone_mouse_select_menu(), blender::ed::geometry::catalog_assets_draw(), blender::ed::object::catalog_assets_draw(), blender::ed::geometry::catalog_assets_draw_unassigned(), blender::ed::object::collection_exporter_add_exec(), blender::ed::object::collection_exporter_export(), blender::ed::object::collection_exporter_menu_draw(), constraint_reorder(), blender::ed::asset::shelf::create_activate_operator_params(), doc_view_manual_ui_context_exec(), drop_import_file_poll_file_handlers(), drop_import_file_tooltip(), file_browse_invoke(), file_directory_enter_handle(), file_draw_invalid_asset_library_hint(), file_external_operation_exec(), file_handler_import_operator_create_ptr(), file_os_operations_menu_draw(), ghost_event_proc(), gizmo2d_resize_setup(), gizmo2d_rotate_setup(), gizmo2d_xform_setup(), gizmo_mesh_extrude_setup(), gizmo_mesh_spin_init_setup(), gizmo_mesh_spin_redo_setup(), gizmogroup_init_properties_from_twtype(), blender::ed::outliner::id_remap_fn(), image_file_browse_invoke(), is_brush_related_tool(), keymap_handler_log_kmi_op_str(), blender::ed::outliner::lib_reload_fn(), blender::ed::outliner::lib_relocate_fn(), blender::ed::space_node::link_drag_search_exec_fn(), menu_item_enum_opname_menu_active(), blender::ed::object::mode_compat_set(), blender::ed::object::mode_set_ex(), modifier_reorder(), blender::ed::space_node::node_add_group_asset_invoke(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), object_mouse_select_menu(), ot_lookup_from_py_string(), blender::ed::outliner::outliner_item_drag_drop_invoke(), blender::ed::outliner::outliner_lib_relocate_invoke_do(), blender::ed::outliner::outliner_operator_menu(), panel_activate_state(), preferences_extension_url_drop_invoke(), pyop_as_string(), pyop_call(), pyop_poll(), PYOP_wrap_macro_define(), screen_user_menu_draw(), shaderfx_reorder(), blender::ed::transform::special_aftertrans_update__node(), template_operator_property_buts_draw_single(), toolsystem_ref_set_by_brush_type(), transform_from_gizmo_invoke(), transform_modal(), ui_but_anim_decorate_cb(), UI_but_extra_operator_icon_add(), UI_but_is_tool(), ui_but_menu_add_path_operators(), UI_but_operatortype_get_from_enum_menu(), ui_but_predefined_extra_operator_icons_add(), ui_handle_menu_letter_press_search(), UI_list_custom_activate_operator_set(), UI_list_custom_drag_operator_set(), ui_popup_context_menu_for_button(), uiDefButO(), uiDefIconButO(), uiDefIconTextButO(), uiItemBooleanO(), uiItemEnumO(), uiItemEnumO_string(), uiItemEnumO_value(), uiItemFloatO(), uiItemFullO(), uiItemIntO(), uiItemMenuEnumFullO(), uiItemsFullEnumO(), uiItemStringO(), uiTemplateCollectionExporters(), uiTemplateEditModeSelection(), blender::ed::object::unassigned_assets_draw(), unpack_menu(), view3d_interactive_add_modal(), view3d_navigate_modal_fn(), view3d_panel_vgroup(), weight_sample_group_invoke(), WIDGETGROUP_light_target_setup(), WIDGETGROUP_navigate_setup(), WIDGETGROUP_navigate_setup(), WIDGETGROUP_ruler_setup(), WIDGETGROUP_xform_cage_setup(), WIDGETGROUP_xform_shear_setup(), wm_drop_import_file_exec(), wm_drop_import_file_invoke(), WM_dropbox_add(), wm_dropbox_item_update_ot(), WM_event_match_keymap_item(), wm_handler_operator_call(), wm_handlers_do_gizmo_handler(), wm_keymap_item_find(), wm_keymap_item_find_in_keymap(), wm_keymap_item_properties_update_ot(), WM_menu_name_call(), WM_modalkeymap_assign(), wm_operator_create(), WM_operator_name_call(), WM_operator_name_call_ptr(), WM_operator_name_call_ptr_with_depends_on_cursor(), WM_operator_name_call_with_properties(), WM_operator_name_poll(), WM_operator_poll(), WM_operator_properties_create(), WM_operator_repeat_check(), WM_operator_ui_poll(), WM_operatortype_append_macro(), WM_operatortype_macro_define(), WM_operatortype_remove(), WM_operatortype_remove_ptr(), wm_test_autorun_revert_action_exec(), WM_toolsystem_ref_set_by_id_ex(), WM_window_cursor_keymap_status_refresh(), WM_xr_actionmap_item_properties_update_ot(), and workspace_add_menu().

◆ WM_operatortype_idname_visit_for_search()

◆ WM_operatortype_last_properties_clear_all()

void WM_operatortype_last_properties_clear_all ( )

◆ WM_operatortype_macro_define()

◆ WM_operatortype_map()

const wmOperatorTypeMap & WM_operatortype_map ( )

◆ WM_operatortype_name()

◆ WM_operatortype_props_advanced_begin()

void WM_operatortype_props_advanced_begin ( wmOperatorType * ot)

◆ WM_operatortype_props_advanced_end()

void WM_operatortype_props_advanced_end ( wmOperatorType * ot)

Tags all operator-properties of ot defined since the first WM_operatortype_props_advanced_begin call, or the last WM_operatortype_props_advanced_end call, with OP_PROP_TAG_ADVANCED.

Note
This is called for all operators during registration (see wm_operatortype_append__end). So it does not need to be explicitly called in operator-type definition.

Definition at line 222 of file wm_operator_type.cc.

References OP_PROP_TAG_ADVANCED, ot, ot_prop_basic_count, RNA_STRUCT_BEGIN, RNA_STRUCT_END, WM_operator_properties_create_ptr(), and WM_operatortype_prop_tag.

Referenced by wm_operatortype_append__end().

◆ WM_operatortype_remove()

bool WM_operatortype_remove ( const char * idname)

Definition at line 174 of file wm_operator_type.cc.

References ot, WM_operatortype_find(), and WM_operatortype_remove_ptr().

◆ WM_operatortype_remove_ptr()

◆ WM_paint_cursor_activate()

◆ WM_paint_cursor_end()

◆ WM_paint_cursor_remove_by_type()

void WM_paint_cursor_remove_by_type ( wmWindowManager * wm,
void * draw_fn,
void(* free )(void *) )

◆ WM_paint_cursor_tag_redraw()

◆ WM_paneltype_add()

◆ WM_paneltype_clear()

void WM_paneltype_clear ( )

Definition at line 66 of file wm_panel_type.cc.

References BLI_ghash_free(), and g_paneltypes_hash.

Referenced by WM_exit_ex().

◆ WM_paneltype_find()

◆ WM_paneltype_idname_visit_for_search()

void WM_paneltype_idname_visit_for_search ( const bContext * C,
PointerRNA * ptr,
PropertyRNA * prop,
const char * edit_text,
blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn )

◆ WM_paneltype_init()

void WM_paneltype_init ( )

Called on initialize WM_init().

Definition at line 60 of file wm_panel_type.cc.

References BLI_ghash_str_new_ex(), and g_paneltypes_hash.

Referenced by WM_init().

◆ WM_paneltype_remove()

void WM_paneltype_remove ( PanelType * pt)

◆ WM_platform_associate_set()

◆ WM_progress_clear()

void WM_progress_clear ( wmWindow * win)

Definition at line 2525 of file wm_window.cc.

References GHOST_EndProgressBar(), and wmWindow::ghostwin.

Referenced by wm_jobs_update_progress_bars().

◆ WM_progress_set()

void WM_progress_set ( wmWindow * win,
float progress )

Definition at line 2517 of file wm_window.cc.

References GHOST_SetProgressBar(), and wmWindow::ghostwin.

Referenced by wm_jobs_update_progress_bars().

◆ WM_prop_pystring_assign()

std::optional< std::string > WM_prop_pystring_assign ( bContext * C,
PointerRNA * ptr,
PropertyRNA * prop,
int index )

◆ WM_redraw_windows()

void WM_redraw_windows ( bContext * C)

High level function to redraw windows.

Warning
this should be avoided by operators and low-level IO functionality because drawing relies on the event system & depsgraph preparing data for display. An explicit call to draw is error prone since it may attempt to show stale data.

With some rare exceptions which require a redraw (screen-shot & sample screen color for e.g.) explicitly redrawing should be avoided, see: #92704, #93950, #97627 & #98462.

Definition at line 1621 of file wm_draw.cc.

References CTX_wm_area(), CTX_wm_area_set(), CTX_wm_region(), CTX_wm_region_set(), CTX_wm_window(), CTX_wm_window_set(), and wm_draw_update().

Referenced by sample_color_exec(), sample_color_invoke(), and screenshot_data_create().

◆ WM_region_use_viewport()

bool WM_region_use_viewport ( ScrArea * area,
ARegion * region )

◆ WM_reinit_gizmomap_all()

◆ WM_report()

◆ WM_report_banner_show()

◆ WM_report_banners_cancel()

void WM_report_banners_cancel ( Main * bmain)

Hide all currently displayed banners and abort their timer.

Definition at line 981 of file wm_event_system.cc.

References BKE_reports_clear(), ListBase::first, wmWindowManager::runtime, Main::wm, and WM_event_timer_remove().

Referenced by fluid_bake_exec(), fluid_bake_invoke(), and fluid_free_exec().

◆ WM_reportf()

void WM_reportf ( eReportType type,
const char * format,
... )

◆ WM_reports_from_reports_move()

void WM_reports_from_reports_move ( wmWindowManager * wm,
ReportList * reports )

Move a whole list of reports to the WM ReportList, and show the banner.

Note
In case the given reports is a nullptr, or has its RPT_OP_HOLD flag set, this function does nothing.
The list of reports from given reports is moved into the list of WM's reports, so the given reports will be empty after calling this function. The reports ReportList data itself is not freed or cleared though, and remains fully usable after this call.

\params reports The ReportList from which to move reports to the WM one, may be nullptr. \params wm the WindowManager to add given reports to. If nullptr, the first WM of current G_MAIN will be used.

Definition at line 995 of file wm_event_system.cc.

References BKE_reports_move_to_reports(), BLI_listbase_is_empty(), ReportList::flag, G_MAIN, ReportList::list, RPT_OP_HOLD, wmWindowManager::runtime, and WM_report_banner_show().

Referenced by blender::io::hydra::USDSceneDelegate::populate(), wm_handler_fileselect_do(), wm_handler_operator_call(), wm_jobs_reports_update(), wm_operator_reports(), and WM_report().

◆ WM_script_tag_reload()

void WM_script_tag_reload ( )

Needed for cases when operators are re-registered (when operator type pointers are stored).

Definition at line 712 of file wm_init_exit.cc.

References UI_interface_tag_script_reload(), and WM_gizmoconfig_update_tag_reinit_all().

◆ WM_set_locked_interface()

◆ WM_stereo3d_enabled()

◆ WM_system_gpu_context_activate()

◆ WM_system_gpu_context_create()

◆ WM_system_gpu_context_dispose()

◆ WM_system_gpu_context_release()

◆ WM_tooltip_clear()

◆ WM_tooltip_immediate_init()

void WM_tooltip_immediate_init ( bContext * C,
wmWindow * win,
ScrArea * area,
ARegion * region,
wmTooltipInitFn init )

◆ WM_tooltip_init()

◆ WM_tooltip_refresh()

void WM_tooltip_refresh ( bContext * C,
wmWindow * win )

◆ WM_tooltip_time_closed()

double WM_tooltip_time_closed ( )

Definition at line 25 of file wm_tooltip.cc.

References g_tooltip_time_closed.

Referenced by button_activate_init().

◆ WM_tooltip_timer_clear()

◆ WM_tooltip_timer_init()

void WM_tooltip_timer_init ( bContext * C,
wmWindow * win,
ScrArea * area,
ARegion * region,
wmTooltipInitFn init )

◆ WM_tooltip_timer_init_ex()

◆ WM_uilisttype_add()

◆ WM_uilisttype_find()

uiListType * WM_uilisttype_find ( const char * idname,
bool quiet )

Definition at line 36 of file wm_uilist_type.cc.

References BLI_ghash_lookup(), printf, and uilisttypes_hash.

Referenced by ui_template_list_data_retrieve().

◆ WM_uilisttype_free()

◆ WM_uilisttype_init()

void WM_uilisttype_init ( )

Called on initialize WM_init()

Definition at line 125 of file wm_uilist_type.cc.

References BLI_ghash_str_new_ex(), and uilisttypes_hash.

Referenced by WM_init().

◆ WM_uilisttype_list_id_get()

const char * WM_uilisttype_list_id_get ( const uiListType * ult,
uiList * list )

Get the "non-full" list-ID, see WM_uilisttype_to_full_list_id() for details.

Note
Assumes uiList.list_id was set using WM_uilisttype_to_full_list_id()!

Definition at line 152 of file wm_uilist_type.cc.

References BLI_assert, and uiListType::idname.

◆ WM_uilisttype_remove_ptr()

void WM_uilisttype_remove_ptr ( Main * bmain,
uiListType * ult )

◆ WM_uilisttype_to_full_list_id()

void WM_uilisttype_to_full_list_id ( const uiListType * ult,
const char * list_id,
char r_full_list_id[] )

The "full" list-ID is an internal name used for storing and identifying a list. It is built like this: {uiListType.idname}_{list_id}, whereby list_id is an optional parameter passed to UILayout.template_list(). If it is not set, the full list-ID is just {uiListType.idname}_.

Note that whenever the Python API refers to the list-ID, it's the short, "non-full" one it passed to UILayout.template_list(). C code can query that through WM_uilisttype_list_id_get().

Definition at line 144 of file wm_uilist_type.cc.

References BLI_snprintf(), uiListType::idname, and UI_MAX_NAME_STR.

Referenced by ui_list_ensure().

◆ WM_userdef_event_map()

int WM_userdef_event_map ( int kmitype)

Event map that takes preferences into account.

Definition at line 456 of file wm_event_query.cc.

References USER_WHEELZOOMDIR, WHEELDOWNMOUSE, WHEELINMOUSE, WHEELOUTMOUSE, and WHEELUPMOUSE.

Referenced by wm_eventmatch(), and WM_keymap_item_compare().

◆ WM_userdef_event_type_from_keymap_type()

◆ WM_window_cursor_keymap_status_get()

const char * WM_window_cursor_keymap_status_get ( const wmWindow * win,
int button_index,
int type_index )

Definition at line 6404 of file wm_event_system.cc.

References wmWindow::cursor_keymap_status, and CursorKeymapInfo::text.

Referenced by uiTemplateInputStatus().

◆ WM_window_cursor_keymap_status_refresh()

◆ WM_window_ensure_active_view_layer()

void WM_window_ensure_active_view_layer ( wmWindow * win)

◆ WM_window_find_by_area()

wmWindow * WM_window_find_by_area ( wmWindowManager * wm,
const ScrArea * area )

Knowing the area, return its screen.

Note
This should typically be avoided, only use when the context is not available.

Definition at line 2612 of file wm_window.cc.

References bScreen::areabase, BLI_findindex(), LISTBASE_FOREACH, wmWindowManager::windows, and WM_window_get_active_screen().

Referenced by area_join_init(), area_join_update_data(), graph_init(), and nla_init().

◆ WM_window_find_under_cursor()

◆ WM_window_get_active_layout()

◆ WM_window_get_active_scene()

Scene * WM_window_get_active_scene ( const wmWindow * win)

Definition at line 2841 of file wm_window.cc.

References wmWindow::scene.

Referenced by buttons_context_path(), buttons_shading_context(), buttons_shading_new_context(), ED_area_init(), ED_area_newspace(), ED_area_offscreen_create(), ED_editors_init_for_undo(), ED_scene_add(), ED_screen_exit(), ED_screen_scene_find_with_window(), find_area_showing_render_result(), graph_init(), image_listener(), nla_init(), blender::ed::object::object_delete_exec(), RE_FreeUnusedGPUResources(), screen_change_update(), screen_ctx_active_annotation_layer(), screen_ctx_active_bone(), screen_ctx_active_object(), screen_ctx_active_pose_bone(), screen_ctx_active_sequence_strip(), screen_ctx_annotation_data(), screen_ctx_annotation_data_owner(), screen_ctx_edit_object(), screen_ctx_editable_objects(), screen_ctx_grease_pencil_data(), screen_ctx_image_paint_object(), screen_ctx_object(), screen_ctx_objects_in_mode(), screen_ctx_objects_in_mode_unique_data(), screen_ctx_particle_edit_object(), screen_ctx_pose_object(), screen_ctx_scene(), screen_ctx_sculpt_object(), screen_ctx_selectable_objects(), screen_ctx_selected_bones_(), screen_ctx_selected_editable_objects(), screen_ctx_selected_editable_sequences(), screen_ctx_selected_objects(), screen_ctx_selected_pose_bones(), screen_ctx_selected_pose_bones_from_active_object(), screen_ctx_selected_sequences(), screen_ctx_sequences(), screen_ctx_vertex_paint_object(), screen_ctx_visible_objects(), screen_ctx_visible_or_editable_bones_(), screen_ctx_visible_pose_bones(), screen_ctx_weight_paint_object(), screen_global_area_refresh(), sound_jack_sync_callback(), toolsystem_brush_activate_from_toolref_for_object_paint(), toolsystem_brush_activate_from_toolref_for_object_particle(), toolsystem_refresh_screen_from_active_tool(), blender::ed::outliner::tree_element_viewlayer_activate(), view3d_main_region_cursor(), wm_draw_region_test(), wm_draw_update_test_window(), wm_draw_window(), wm_draw_window_offscreen(), wm_event_do_depsgraph(), wm_event_do_handlers(), wm_event_do_notifiers(), WM_stereo3d_enabled(), WM_toolsystem_do_msg_notify_tag_refresh(), WM_toolsystem_ref_sync_from_context(), WM_toolsystem_refresh_active(), WM_toolsystem_refresh_screen_window(), WM_toolsystem_reinit_all(), WM_window_cursor_keymap_status_refresh(), WM_window_ensure_active_view_layer(), WM_window_get_active_view_layer(), WM_window_open(), WM_window_pixels_read_from_offscreen(), WM_window_set_active_view_layer(), WM_windows_scene_data_sync(), WM_windows_scene_get_from_screen(), wm_xr_session_scene_and_depsgraph_get(), workspace_exit(), and workspace_scene_pinning_update().

◆ WM_window_get_active_screen()

bScreen * WM_window_get_active_screen ( const wmWindow * win)

Get the active screen of the active workspace in win.

Definition at line 2959 of file wm_window.cc.

References BKE_workspace_active_screen_get(), LIKELY, WM_window_get_active_workspace(), and wmWindow::workspace_hook.

Referenced by actionzone_area_poll(), area_docking_apply(), area_join_dock_cb_window(), area_join_modal(), areas_do_frame_follow(), bpy_rna_context_temp_override_enter(), bpy_rna_context_temp_override_exit(), bpy_rna_context_temp_set_screen_for_window(), button_activate_init(), button_tooltip_timer_reset(), blender::ed::asset::list::clear(), blender::ed::space_node::compo_get_recalc_flags(), context_find_graph_editor(), ED_area_find_under_cursor(), ED_area_type_hud_clear(), ED_area_update_region_sizes(), ED_clip_update_frame(), ED_editors_init(), ED_fileselect_handler_area_find(), ED_fileselect_handler_area_find_any_with_op(), ED_info_stats_clear(), ED_region_do_draw(), ED_render_scene_update(), ED_render_view3d_update(), ED_screen_animation_no_scrub(), ED_screen_animation_playing(), ED_screen_draw_edges(), ED_screen_scene_change(), ED_screen_scene_find_with_window(), ED_screen_set_active_region(), ED_screen_state_toggle(), ED_screen_window_find(), ED_space_image_paint_update(), ED_space_image_sync(), eyedropper_color_sample_fl(), eyedropper_cryptomatte_sample_fl(), eyedropper_win_area_find(), find_area_showing_render_result(), blender::ed::sculpt_paint::flush_update_done(), ghost_event_proc(), gizmo_mesh_spin_redo_setup(), blender::ed::space_node::is_compositor_viewer_image_visible(), menu_items_from_ui_create(), need_extra_redraw_after_scrubbing_ends(), RE_FreeUnusedGPUResources(), blender::ed::space_node::realtime_compositor_is_in_use(), redraw_timer_step(), region_cursor_set(), region_cursor_set_ex(), render_image_restore_layer(), render_image_update_pass_and_layer(), render_view_show_invoke(), screen_animation_step_invoke(), screen_cursor_set(), screen_geom_select_connected_edge(), screen_refresh(), screen_state_to_nonnormal(), blender::ed::sculpt_paint::show_catalog_in_asset_shelf(), toolsystem_refresh_screen_from_active_tool(), UI_but_tooltip_refresh(), UI_popup_block_close(), ui_popup_block_remove(), wm_drags_exit(), wm_draw_region_clear(), wm_draw_update_clear_window(), wm_draw_update_test_window(), wm_draw_window(), wm_draw_window_offscreen(), wm_draw_window_onscreen(), wm_dropbox_active(), wm_dropbox_invoke(), wm_event_do_depsgraph(), wm_event_do_handlers(), wm_event_do_notifiers(), wm_event_do_refresh_wm_and_depsgraph(), wm_event_drag_and_drop_test(), WM_exit_ex(), wm_file_read_setup_wm_init(), wm_file_read_setup_wm_keep_old(), wm_gesture_tag_redraw(), wm_handler_fileselect_do(), wm_handler_op_context_get_if_valid(), WM_keyconfig_update_ex(), WM_operator_handlers_clear(), wm_operator_winactive_normal(), wm_operator_winactive_not_full(), WM_paint_cursor_tag_redraw(), wm_paintcursor_draw(), wm_region_tag_draw_on_gizmo_delay_refresh_for_tweak(), WM_stereo3d_enabled(), wm_stereo3d_set_exec(), WM_toolsystem_do_msg_notify_tag_refresh(), WM_toolsystem_refresh_active(), WM_toolsystem_refresh_screen_window(), WM_toolsystem_reinit_all(), WM_tooltip_clear(), WM_tooltip_immediate_init(), WM_tooltip_init(), WM_tooltip_refresh(), WM_tooltip_timer_clear(), WM_tooltip_timer_init_ex(), wm_window_close(), WM_window_cursor_keymap_status_refresh(), WM_window_find_by_area(), WM_window_is_temp_screen(), WM_window_open(), WM_window_set_active_workspace(), WM_window_status_area_tag_redraw(), WM_window_title(), WM_windows_scene_get_from_screen(), WM_windows_view_layer_get_from_screen(), and WM_windows_workspace_get_from_screen().

◆ WM_window_get_active_view_layer()

ViewLayer * WM_window_get_active_view_layer ( const wmWindow * win)

Definition at line 2875 of file wm_window.cc.

References BKE_view_layer_default_view(), BKE_view_layer_find(), wmWindow::view_layer_name, WM_window_get_active_scene(), and WM_window_set_active_view_layer().

Referenced by buttons_context_path(), buttons_context_path_brush(), buttons_context_path_view_layer(), buttons_shading_context(), buttons_shading_new_context(), buttons_texture_users_from_context(), clean_viewport_memory(), ED_area_init(), ED_editors_init_for_undo(), ED_info_stats_clear(), ED_screen_scene_change(), ED_undo_object_editmode_validate_scene_from_windows(), image_listener(), screen_animation_step_invoke(), screen_ctx_active_bone(), screen_ctx_active_object(), screen_ctx_active_pose_bone(), screen_ctx_edit_object(), screen_ctx_editable_objects(), screen_ctx_grease_pencil_data(), screen_ctx_image_paint_object(), screen_ctx_object(), screen_ctx_objects_in_mode(), screen_ctx_objects_in_mode_unique_data(), screen_ctx_particle_edit_object(), screen_ctx_pose_object(), screen_ctx_sculpt_object(), screen_ctx_selectable_objects(), screen_ctx_selected_bones_(), screen_ctx_selected_editable_objects(), screen_ctx_selected_objects(), screen_ctx_selected_pose_bones(), screen_ctx_selected_pose_bones_from_active_object(), screen_ctx_vertex_paint_object(), screen_ctx_visible_objects(), screen_ctx_visible_or_editable_bones_(), screen_ctx_visible_pose_bones(), screen_ctx_weight_paint_object(), sound_jack_sync_callback(), toolsystem_refresh_screen_from_active_tool(), blender::ed::outliner::tree_element_object_activate(), view3d_main_region_cursor(), view3d_main_region_listener(), view_layer_add_exec(), wm_draw_update_test_window(), wm_event_do_depsgraph(), wm_event_do_handlers(), WM_toolsystem_do_msg_notify_tag_refresh(), WM_toolsystem_ref_sync_from_context(), WM_toolsystem_refresh_active(), WM_toolsystem_refresh_screen_window(), WM_toolsystem_reinit_all(), WM_window_cursor_keymap_status_refresh(), WM_window_set_active_scene(), WM_windows_view_layer_get_from_screen(), and wm_xr_session_scene_and_depsgraph_get().

◆ WM_window_get_active_workspace()

◆ WM_window_is_fullscreen()

bool WM_window_is_fullscreen ( const wmWindow * win)

Definition at line 2784 of file wm_window.cc.

References GHOST_kWindowStateFullScreen, and wmWindow::windowstate.

Referenced by area_azone_init(), and wm_stereo3d_set_exec().

◆ WM_window_is_maximized()

bool WM_window_is_maximized ( const wmWindow * win)

Definition at line 2789 of file wm_window.cc.

References GHOST_kWindowStateMaximized, and wmWindow::windowstate.

Referenced by ED_fileselect_window_params_get().

◆ WM_window_is_temp_screen()

◆ WM_window_modal_keymap_status_draw()

◆ WM_window_native_pixel_coords()

void WM_window_native_pixel_coords ( const wmWindow * win,
int * x,
int * y )

Definition at line 2738 of file wm_window.cc.

References GHOST_GetNativePixelSize(), and wmWindow::ghostwin.

Referenced by area_docking_target().

◆ WM_window_native_pixel_size()

◆ WM_window_native_pixel_x()

int WM_window_native_pixel_x ( const wmWindow * win)

Support for native pixel size

Note
macOS retina opens window in size X, but it has up to 2 x more pixels.

Definition at line 2718 of file wm_window.cc.

References GHOST_GetNativePixelSize(), wmWindow::ghostwin, int, and wmWindow::sizex.

Referenced by area_azone_init(), blender::ed::asset::shelf::layout_width_units_clamped(), ui_def_but_rna__menu(), ui_searchbox_region_layout_fn(), and wm_stereo3d_mouse_offset_apply().

◆ WM_window_native_pixel_y()

int WM_window_native_pixel_y ( const wmWindow * win)

◆ WM_window_open()

wmWindow * WM_window_open ( bContext * C,
const char * title,
const rcti * rect_unscaled,
int space_type,
bool toplevel,
bool dialog,
bool temp,
eWindowAlignment alignment,
void(* area_setup_fn )(bScreen *screen, ScrArea *area, void *user_data),
void * area_setup_user_data )
Parameters
rectPosition & size of the window.
space_typeSPACE_VIEW3D, SPACE_INFO, ... (eSpace_Type).
toplevelNot a child owned by other windows. A peer of main window.
dialogwhether this should be made as a dialog-style window
tempwhether this is considered a short-lived window
alignmenthow this window is positioned relative to its parent
area_setup_fnAn optional callback which can be used to initialize the area before it's initialized. When set, space_type should be #SPACE_EMTPY, so the setup function can take a blank area and initialize it.
area_setup_user_dataUser data argument passed to area_setup_fn.
Returns
the window or NULL in case of failure.

◆ WM_window_pixels_read()

uint8_t * WM_window_pixels_read ( bContext * C,
wmWindow * win,
int r_size[2] )

Read from the screen.

Note
Use off-screen drawing when front-buffer reading is not supported.

Definition at line 1411 of file wm_draw.cc.

References CTX_wm_manager(), WM_capabilities_flag(), WM_CAPABILITY_GPU_FRONT_BUFFER_READ, WM_window_pixels_read_from_frontbuffer(), and WM_window_pixels_read_from_offscreen().

Referenced by screenshot_data_create().

◆ WM_window_pixels_read_from_frontbuffer()

uint8_t * WM_window_pixels_read_from_frontbuffer ( const wmWindowManager * wm,
const wmWindow * win,
int r_size[2] )

Read pixels from the front-buffer (fast).

Note
Internally this depends on the front-buffer state, for a slower but more reliable method of reading pixels, use WM_window_pixels_read_from_offscreen. Fast pixel access may be preferred for file-save thumbnails.
Warning
Drawing (swap-buffers) immediately before calling this function causes the front-buffer state to be invalid under some EGL configurations.

Definition at line 1271 of file wm_draw.cc.

References GHOST_ActivateWindowDrawingContext(), wmWindow::ghostwin, GPU_context_active_set(), GPU_DATA_UBYTE, GPU_frontbuffer_read_color(), wmWindow::gpuctx, MEM_mallocN, wmWindowManager::windrawable, and WM_window_native_pixel_size().

Referenced by blend_file_thumb_from_screenshot(), and WM_window_pixels_read().

◆ WM_window_pixels_read_from_offscreen()

uint8_t * WM_window_pixels_read_from_offscreen ( bContext * C,
wmWindow * win,
int r_size[2] )

Draw the window & read pixels from an off-screen buffer (slower than WM_window_pixels_read_from_frontbuffer).

Note
This is needed because the state of the front-buffer may be damaged (see in-line code comments for details).

Definition at line 1341 of file wm_draw.cc.

References get_hdr_framebuffer_format(), GPU_DATA_UBYTE, GPU_offscreen_bind(), GPU_offscreen_create(), GPU_offscreen_free(), GPU_offscreen_read_color(), GPU_offscreen_unbind(), GPU_TEXTURE_USAGE_SHADER_READ, MEM_mallocN, UNLIKELY, wm_draw_window_onscreen(), WM_window_get_active_scene(), and WM_window_native_pixel_size().

Referenced by WM_window_pixels_read().

◆ WM_window_pixels_read_sample()

bool WM_window_pixels_read_sample ( bContext * C,
wmWindow * win,
const int pos[2],
float r_col[3] )

Read a single pixel from the screen.

Note
Use off-screen drawing when front-buffer reading is not supported.

Definition at line 1419 of file wm_draw.cc.

References CTX_wm_manager(), pos, WM_capabilities_flag(), WM_CAPABILITY_GPU_FRONT_BUFFER_READ, WM_window_pixels_read_sample_from_frontbuffer(), and WM_window_pixels_read_sample_from_offscreen().

Referenced by eyedropper_color_sample_fl(), and paint_sample_color().

◆ WM_window_pixels_read_sample_from_frontbuffer()

void WM_window_pixels_read_sample_from_frontbuffer ( const wmWindowManager * wm,
const wmWindow * win,
const int pos[2],
float r_col[3] )

◆ WM_window_pixels_read_sample_from_offscreen()

◆ WM_window_rect_calc()

◆ WM_window_screen_rect_calc()

void WM_window_screen_rect_calc ( const wmWindow * win,
rcti * r_rect )

◆ WM_window_set_active_layout()

void WM_window_set_active_layout ( wmWindow * win,
WorkSpace * workspace,
WorkSpaceLayout * layout )

◆ WM_window_set_active_scene()

◆ WM_window_set_active_screen()

void WM_window_set_active_screen ( wmWindow * win,
WorkSpace * workspace,
bScreen * screen )

◆ WM_window_set_active_view_layer()

◆ WM_window_set_active_workspace()

◆ WM_window_set_dpi()

◆ WM_window_status_area_find()

ScrArea * WM_window_status_area_find ( wmWindow * win,
bScreen * screen )

Similar to BKE_screen_area_map_find_area_xy and related functions, use here since the area is stored in the window manager.

Definition at line 6418 of file wm_event_system.cc.

References ScrAreaMap::areabase, wmWindow::global_areas, LISTBASE_FOREACH, SCREENFULL, and SPACE_STATUSBAR.

Referenced by WM_window_cursor_keymap_status_refresh(), WM_window_status_area_tag_redraw(), and WorkspaceStatus::WorkspaceStatus().

◆ WM_window_status_area_tag_redraw()

◆ WM_window_title()

◆ WM_windows_scene_data_sync()

void WM_windows_scene_data_sync ( const ListBase * win_lb,
Scene * scene )

Some editor data may need to be synced with scene data (3D View camera and layers). This function ensures data is synced for editors in visible work-spaces and their visible layouts.

Definition at line 2800 of file wm_window.cc.

References ED_workspace_scene_data_sync(), LISTBASE_FOREACH, and WM_window_get_active_scene().

Referenced by blender::ed::outliner::tree_element_camera_activate().

◆ WM_windows_scene_get_from_screen()

Scene * WM_windows_scene_get_from_screen ( const wmWindowManager * wm,
const bScreen * screen )

◆ WM_windows_view_layer_get_from_screen()

ViewLayer * WM_windows_view_layer_get_from_screen ( const wmWindowManager * wm,
const bScreen * screen )

◆ WM_windows_workspace_get_from_screen()

WorkSpace * WM_windows_workspace_get_from_screen ( const wmWindowManager * wm,
const bScreen * screen )

◆ wmGetProjectionMatrix()

void wmGetProjectionMatrix ( float mat[4][4],
const rcti * winrct )

◆ wmOrtho2()

◆ wmOrtho2_pixelspace()

void wmOrtho2_pixelspace ( float x,
float y )

◆ wmOrtho2_region_pixelspace()

◆ wmPartialViewport()

void wmPartialViewport ( rcti * drawrct,
const rcti * winrct,
const rcti * partialrct )

◆ wmViewport()

◆ wmWindowViewport()

◆ wmWindowViewport_ex()

◆ write_crash_blend()

bool write_crash_blend ( )

Debugging only, convenience function to write on crash. Convenient to save a blend file from a debugger.

Definition at line 2056 of file wm_files.cc.

References BKE_main_blendfile_path_from_global(), BLI_path_extension_replace(), BLO_write_file(), FILE_MAX, G, G_MAIN, params, printf, and STRNCPY.