Blender V5.0
screen_ops.cc File Reference
#include <cmath>
#include <cstring>
#include <fmt/format.h>
#include "MEM_guardedalloc.h"
#include "BLI_build_config.h"
#include "BLI_listbase.h"
#include "BLI_math_rotation.h"
#include "BLI_math_vector.h"
#include "BLI_time.h"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_curve_types.h"
#include "DNA_lattice_types.h"
#include "DNA_meta_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "DNA_workspace_types.h"
#include "BKE_callbacks.hh"
#include "BKE_context.hh"
#include "BKE_editmesh.hh"
#include "BKE_fcurve.hh"
#include "BKE_global.hh"
#include "BKE_icons.h"
#include "BKE_layer.hh"
#include "BKE_lib_id.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_mask.h"
#include "BKE_object.hh"
#include "BKE_report.hh"
#include "BKE_scene.hh"
#include "BKE_screen.hh"
#include "BKE_sound.h"
#include "BKE_workspace.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_query.hh"
#include "ED_anim_api.hh"
#include "ED_armature.hh"
#include "ED_buttons.hh"
#include "ED_fileselect.hh"
#include "ED_image.hh"
#include "ED_keyframes_keylist.hh"
#include "ED_mesh.hh"
#include "ED_object.hh"
#include "ED_scene.hh"
#include "ED_screen.hh"
#include "ED_screen_types.hh"
#include "ED_sequencer.hh"
#include "ED_space_graph.hh"
#include "ED_view3d.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "RNA_prototypes.hh"
#include "UI_interface.hh"
#include "UI_interface_layout.hh"
#include "UI_resources.hh"
#include "UI_view2d.hh"
#include "GPU_capabilities.hh"
#include "wm_window.hh"
#include "screen_intern.hh"

Go to the source code of this file.

Classes

struct  sActionzoneData
struct  sAreaSwapData
struct  sAreaMoveData
struct  sAreaSplitData
struct  RegionMoveData
struct  sAreaJoinData
struct  RegionAlphaInfo

Macros

#define KM_MODAL_CANCEL   1
#define KM_MODAL_APPLY   2
#define KM_MODAL_SNAP_ON   3
#define KM_MODAL_SNAP_OFF   4

Functions

Public Poll API
bool ED_operator_regionactive (bContext *C)
bool ED_operator_areaactive (bContext *C)
bool ED_operator_screenactive (bContext *C)
bool ED_operator_active_screen_and_scene (bContext *C)
bool ED_operator_screenactive_nobackground (bContext *C)
static bool operator_screenactive_norender (bContext *C)
bool ED_operator_screen_mainwinactive (bContext *C)
bool ED_operator_scene (bContext *C)
bool ED_operator_sequencer_scene (bContext *C)
bool ED_operator_scene_editable (bContext *C)
bool ED_operator_sequencer_scene_editable (bContext *C)
bool ED_operator_objectmode (bContext *C)
bool ED_operator_objectmode_poll_msg (bContext *C)
bool ED_operator_objectmode_with_view3d_poll_msg (bContext *C)
static bool ed_spacetype_test (bContext *C, int type)
bool ED_operator_view3d_active (bContext *C)
bool ED_operator_region_view3d_active (bContext *C)
bool ED_operator_region_gizmo_active (bContext *C)
bool ED_operator_animview_active (bContext *C)
bool ED_operator_outliner_active (bContext *C)
bool ED_operator_region_outliner_active (bContext *C)
bool ED_operator_outliner_active_no_editobject (bContext *C)
bool ED_operator_file_active (bContext *C)
bool ED_operator_file_browsing_active (bContext *C)
bool ED_operator_asset_browsing_active (bContext *C)
bool ED_operator_spreadsheet_active (bContext *C)
bool ED_operator_action_active (bContext *C)
bool ED_operator_buttons_active (bContext *C)
bool ED_operator_node_active (bContext *C)
bool ED_operator_node_editable (bContext *C)
bool ED_operator_graphedit_active (bContext *C)
bool ED_operator_sequencer_active (bContext *C)
bool ED_operator_sequencer_active_editable (bContext *C)
bool ED_operator_image_active (bContext *C)
bool ED_operator_nla_active (bContext *C)
bool ED_operator_info_active (bContext *C)
bool ED_operator_console_active (bContext *C)
static bool ed_object_hidden (const Object *ob)
bool ED_operator_object_active_only (bContext *C)
bool ED_operator_object_active (bContext *C)
bool ED_operator_object_active_editable_ex (bContext *C, const Object *ob)
bool ED_operator_object_active_editable (bContext *C)
bool ED_operator_object_active_local_editable_ex (bContext *C, const Object *ob)
bool ED_operator_object_active_local_editable (bContext *C)
bool ED_operator_object_active_editable_mesh (bContext *C)
bool ED_operator_object_active_editable_font (bContext *C)
bool ED_operator_editable_mesh (bContext *C)
bool ED_operator_editmesh (bContext *C)
bool ED_operator_editmesh_view3d (bContext *C)
bool ED_operator_editmesh_region_view3d (bContext *C)
bool ED_operator_editarmature (bContext *C)
static bool ed_operator_posemode_exclusive_ex (bContext *C, Object *obact)
bool ED_operator_posemode_exclusive (bContext *C)
bool ED_operator_object_active_local_editable_posemode_exclusive (bContext *C)
bool ED_operator_posemode_context (bContext *C)
bool ED_operator_posemode (bContext *C)
bool ED_operator_posemode_local (bContext *C)
bool ED_operator_uvedit (bContext *C)
bool ED_operator_uvedit_space_image (bContext *C)
bool ED_operator_uvmap (bContext *C)
bool ED_operator_editsurfcurve (bContext *C)
bool ED_operator_editsurfcurve_region_view3d (bContext *C)
bool ED_operator_editcurve (bContext *C)
bool ED_operator_editcurve_3d (bContext *C)
bool ED_operator_editsurf (bContext *C)
bool ED_operator_editfont (bContext *C)
bool ED_operator_editlattice (bContext *C)
bool ED_operator_editmball (bContext *C)
bool ED_operator_camera_poll (bContext *C)
Internal Screen Utilities
static bool screen_active_editable (bContext *C)
static void screen_modal_action_begin ()
static void screen_modal_action_end ()
Action Zone Operator
static bool actionzone_area_poll (bContext *C)
static void fullscreen_click_rcti_init (rcti *rect, const short, const short, const short x2, const short y2)
static bool azone_clipped_rect_calc (const AZone *az, rcti *r_rect_clip)
static void area_actionzone_get_rect (AZone *az, rcti *r_rect)
static AZonearea_actionzone_refresh_xy (ScrArea *area, const int xy[2], const bool test_only)
static AZonescreen_actionzone_find_xy (bScreen *screen, const int xy[2])
static ScrAreascreen_actionzone_area (bScreen *screen, const AZone *az)
AZoneED_area_actionzone_find_xy (ScrArea *area, const int xy[2])
AZoneED_area_azones_update (ScrArea *area, const int xy[2])
static void actionzone_exit (wmOperator *op)
static void actionzone_apply (bContext *C, wmOperator *op, int type)
static wmOperatorStatus actionzone_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static wmOperatorStatus actionzone_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void actionzone_cancel (bContext *, wmOperator *op)
static void SCREEN_OT_actionzone (wmOperatorType *ot)
Area edge detection utility
static ScrEdgescreen_area_edge_from_cursor (const bContext *C, const int cursor[2], ScrArea **r_sa1, ScrArea **r_sa2)
Swap Area Operator
static bool area_swap_init (wmOperator *op, const wmEvent *event)
static void area_swap_exit (bContext *C, wmOperator *op)
static void area_swap_cancel (bContext *C, wmOperator *op)
static wmOperatorStatus area_swap_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static wmOperatorStatus area_swap_modal (bContext *C, wmOperator *op, const wmEvent *event)
static wmOperatorStatus area_swap_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_area_swap (wmOperatorType *ot)
Area Duplicate Operator

Create new window from area.

static void area_dupli_fn (bScreen *, ScrArea *area, void *user_data)
static bool area_dupli_open (bContext *C, ScrArea *area, const blender::int2 position)
static wmOperatorStatus area_dupli_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_area_dupli (wmOperatorType *ot)
Area Close Operator

Close selected area, replace by expanding a neighbor

static wmOperatorStatus area_close_exec (bContext *C, wmOperator *op)
static bool area_close_poll (bContext *C)
static void SCREEN_OT_area_close (wmOperatorType *ot)
Scale Region Edge Operator
static bool is_split_edge (const int alignment, const AZEdge edge)
static void region_scale_draw_cb (const wmWindow *, void *userdata)
static void region_scale_exit (wmOperator *op)
static wmOperatorStatus region_scale_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void region_scale_validate_size (RegionMoveData *rmd)
static void region_scale_toggle_hidden (bContext *C, RegionMoveData *rmd)
static wmOperatorStatus region_scale_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void region_scale_cancel (bContext *, wmOperator *op)
static void SCREEN_OT_region_scale (wmOperatorType *ot)
Frame Change Operator
static bool screen_animation_region_supports_time_follow (eSpace_Type spacetype, eRegion_Type regiontype)
void ED_areas_do_frame_follow (bContext *C, bool center_view)
static wmOperatorStatus frame_offset_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_frame_offset (wmOperatorType *ot)
Frame Jump Operator
static wmOperatorStatus frame_jump_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_frame_jump (wmOperatorType *ot)
Time Jump Operator
static wmOperatorStatus frame_jump_delta_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_time_jump (wmOperatorType *ot)
Jump to Key-Frame Operator
static void keylist_from_dopesheet (bContext &C, AnimKeylist &keylist)
static void keylist_from_graph_editor (bContext &C, AnimKeylist &keylist)
static void keylist_fallback_for_keyframe_jump (bContext &C, Scene *scene, AnimKeylist &keylist)
static wmOperatorStatus keyframe_jump_exec (bContext *C, wmOperator *op)
static bool keyframe_jump_poll (bContext *C)
static void SCREEN_OT_keyframe_jump (wmOperatorType *ot)
Jump to Marker Operator
static wmOperatorStatus marker_jump_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_marker_jump (wmOperatorType *ot)
Set Screen Operator
static wmOperatorStatus screen_set_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_screen_set (wmOperatorType *ot)
Screen Full-Area Operator
static wmOperatorStatus screen_maximize_area_exec (bContext *C, wmOperator *op)
static bool screen_maximize_area_poll (bContext *C)
static void SCREEN_OT_screen_full_area (wmOperatorType *ot)
Screen Join-Area Operator
static void area_join_draw_cb (const wmWindow *win, void *userdata)
static void area_join_dock_cb (const wmWindow *win, void *userdata)
static void area_join_dock_cb_window (sAreaJoinData *jd, wmOperator *op)
static bool area_join_init (bContext *C, wmOperator *op, ScrArea *sa1, ScrArea *sa2)
static bool area_join_apply (bContext *C, wmOperator *op)
static void area_join_exit (bContext *C, wmOperator *op)
static wmOperatorStatus area_join_exec (bContext *C, wmOperator *op)
static void area_join_update_data (bContext *C, sAreaJoinData *jd, const wmEvent *event)
static int area_join_cursor (sAreaJoinData *jd, const wmEvent *event)
static wmOperatorStatus area_join_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void area_docking_apply (bContext *C, wmOperator *op)
static float area_docking_snap (const float pos, const wmEvent *event)
static AreaDockTarget area_docking_target (sAreaJoinData *jd, const wmEvent *event)
static float area_split_factor (bContext *C, sAreaJoinData *jd, const wmEvent *event)
static void area_join_cancel (bContext *C, wmOperator *op)
static void screen_area_touch_menu_create (bContext *C, ScrArea *area)
static bool is_header_azone_location (ScrArea *area, const wmEvent *event)
static wmOperatorStatus area_join_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_area_join (wmOperatorType *ot)
Screen Area Options Operator
static wmOperatorStatus screen_area_options_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_area_options (wmOperatorType *ot)
Space Data Cleanup Operator
static wmOperatorStatus spacedata_cleanup_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_spacedata_cleanup (wmOperatorType *ot)
Repeat Last Operator
static bool repeat_history_poll (bContext *C)
static wmOperatorStatus repeat_last_exec (bContext *C, wmOperator *)
static void SCREEN_OT_repeat_last (wmOperatorType *ot)
Repeat History Operator
static wmOperatorStatus repeat_history_invoke (bContext *C, wmOperator *op, const wmEvent *)
static wmOperatorStatus repeat_history_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_repeat_history (wmOperatorType *ot)
Redo Operator
static wmOperatorStatus redo_last_invoke (bContext *C, wmOperator *, const wmEvent *)
static void SCREEN_OT_redo_last (wmOperatorType *ot)
Region Quad-View Operator
static void view3d_localview_update_rv3d (RegionView3D *rv3d)
static void region_quadview_init_rv3d (ScrArea *area, ARegion *region, const char viewlock, const char view, const char persp)
static wmOperatorStatus region_quadview_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_region_quadview (wmOperatorType *ot)
Region Toggle Operator
static wmOperatorStatus region_toggle_exec (bContext *C, wmOperator *op)
static bool region_toggle_poll (bContext *C)
static void SCREEN_OT_region_toggle (wmOperatorType *ot)
Region Flip Operator
static wmOperatorStatus region_flip_exec (bContext *C, wmOperator *)
static bool region_flip_poll (bContext *C)
static void SCREEN_OT_region_flip (wmOperatorType *ot)
Header Toggle Menu Operator
static wmOperatorStatus header_toggle_menus_exec (bContext *C, wmOperator *)
static void SCREEN_OT_header_toggle_menus (wmOperatorType *ot)
Region Context Menu Operator (Header/Footer/Navigation-Bar)
static void screen_area_menu_items (ScrArea *area, uiLayout *layout)
void ED_screens_header_tools_menu_create (bContext *C, uiLayout *layout, void *)
void ED_screens_footer_tools_menu_create (bContext *C, uiLayout *layout, void *)
void ED_screens_region_flip_menu_create (bContext *C, uiLayout *layout, void *)
static void ed_screens_statusbar_menu_create (uiLayout *layout, void *)
static wmOperatorStatus screen_context_menu_invoke (bContext *C, wmOperator *, const wmEvent *)
static void SCREEN_OT_region_context_menu (wmOperatorType *ot)
Animation Step Operator

Animation Step.

static bool match_region_with_redraws (const ScrArea *area, eRegion_Type regiontype, eScreen_Redraws_Flag redraws, bool from_anim_edit)
static void screen_animation_region_tag_redraw (bContext *C, ScrArea *area, ARegion *region, const Scene *scene, eScreen_Redraws_Flag redraws)
static wmOperatorStatus screen_animation_step_invoke (bContext *C, wmOperator *, const wmEvent *event)
static void SCREEN_OT_animation_step (wmOperatorType *ot)
Animation Playback Operator

Animation Playback with Timer.

void ED_reset_audio_device (bContext *C)
bScreenED_screen_animation_playing (const wmWindowManager *wm)
bScreenED_screen_animation_no_scrub (const wmWindowManager *wm)
static void stop_playback (bContext *C)
static wmOperatorStatus start_playback (bContext *C, int sync, int mode)
wmOperatorStatus ED_screen_animation_play (bContext *C, int sync, int mode)
static wmOperatorStatus screen_animation_play_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_animation_play (wmOperatorType *ot)
Animation Cancel Operator
static wmOperatorStatus screen_animation_cancel_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_animation_cancel (wmOperatorType *ot)
Full Screen Back Operator

Use for generic full-screen 'back' button.

static wmOperatorStatus fullscreen_back_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_back_to_previous (wmOperatorType *ot)
Show User Preferences Operator
static wmOperatorStatus userpref_show_exec (bContext *C, wmOperator *op)
static std::string userpref_show_get_description (bContext *C, wmOperatorType *, PointerRNA *ptr)
static void SCREEN_OT_userpref_show (wmOperatorType *ot)
Show Drivers Editor Operator
static wmOperatorStatus drivers_editor_show_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_drivers_editor_show (wmOperatorType *ot)
Show Info Log Operator
static wmOperatorStatus info_log_show_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_info_log_show (wmOperatorType *ot)
New Screen Operator
static wmOperatorStatus screen_new_exec (bContext *C, wmOperator *)
static void SCREEN_OT_new (wmOperatorType *ot)
Delete Screen Operator
static wmOperatorStatus screen_delete_exec (bContext *C, wmOperator *)
static void SCREEN_OT_delete (wmOperatorType *ot)
Space Type Set or Cycle Operator
static bool space_type_set_or_cycle_poll (bContext *C)
static wmOperatorStatus space_type_set_or_cycle_exec (bContext *C, wmOperator *op)
static void SCREEN_OT_space_type_set_or_cycle (wmOperatorType *ot)
Workspace Cycle Operator
static wmOperatorStatus space_workspace_cycle_invoke (bContext *C, wmOperator *op, const wmEvent *)
static void SCREEN_OT_workspace_cycle (wmOperatorType *ot)
Assigning Operator Types
void ED_operatortypes_screen ()
Operator Key Map
static void keymap_modal_set (wmKeyConfig *keyconf)
static bool blend_file_drop_poll (bContext *, wmDrag *drag, const wmEvent *)
static void blend_file_drop_copy (bContext *, wmDrag *drag, wmDropBox *drop)
static bool screen_drop_scene_poll (bContext *C, wmDrag *drag, const wmEvent *)
static void screen_drop_scene_copy (bContext *C, wmDrag *drag, wmDropBox *drop)
static std::string screen_drop_scene_tooltip (bContext *, wmDrag *drag, const int[2], wmDropBox *)
void ED_keymap_screen (wmKeyConfig *keyconf)

Region Alpha Blending Operator

Implementation NOTE: a disappearing region needs at least 1 last draw with 100% back-buffer texture over it - then triple buffer will clear it entirely. This because flag RGN_FLAG_HIDDEN is set in end - region doesn't draw at all then.

#define TIMEOUT   0.1f
#define TIMESTEP   (1.0f / 60.0f)
float ED_region_blend_alpha (ARegion *region)
static void region_blend_end (bContext *C, ARegion *region, const bool is_running)
void ED_region_visibility_change_update_animated (bContext *C, ScrArea *area, ARegion *region)
static wmOperatorStatus region_blend_invoke (bContext *C, wmOperator *, const wmEvent *event)
static void SCREEN_OT_region_blend (wmOperatorType *ot)

Move Area Edge Operator

enum  AreaMoveSnapType { SNAP_NONE = 0 , SNAP_AREAGRID , SNAP_FRACTION_AND_ADJACENT , SNAP_BIGGER_SMALLER_ONLY }
static void area_move_set_limits (wmWindow *win, bScreen *screen, const eScreenAxis dir_axis, int *bigger, int *smaller, bool *use_bigger_smaller_snap)
static void area_move_draw_cb (const wmWindow *win, void *userdata)
static void area_move_out_draw_cb (const wmWindow *win, void *userdata)
static bool area_move_init (bContext *C, wmOperator *op)
static int area_snap_calc_location (const bScreen *screen, const enum AreaMoveSnapType snap_type, const int delta, const int origval, const eScreenAxis dir_axis, const int bigger, const int smaller)
static void area_move_apply_do (bContext *C, int delta, const int origval, const eScreenAxis dir_axis, const int bigger, const int smaller, const enum AreaMoveSnapType snap_type)
static void area_move_apply (bContext *C, wmOperator *op)
static void area_move_exit (bContext *C, wmOperator *op)
static wmOperatorStatus area_move_exec (bContext *C, wmOperator *op)
static wmOperatorStatus area_move_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void area_move_cancel (bContext *C, wmOperator *op)
static wmOperatorStatus area_move_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_area_move (wmOperatorType *ot)

Split Area Operator

static const EnumPropertyItem prop_direction_items []
static bool area_split_allowed (const ScrArea *area, const eScreenAxis dir_axis)
static void area_split_draw_cb (const wmWindow *, void *userdata)
static bool area_split_menu_init (bContext *C, wmOperator *op)
static bool area_split_init (bContext *C, wmOperator *op)
static ScrEdgearea_findsharededge (bScreen *screen, ScrArea *area, ScrArea *sb)
static bool area_split_apply (bContext *C, wmOperator *op)
static void area_split_exit (bContext *C, wmOperator *op)
static void area_split_preview_update_cursor (bContext *C, wmOperator *op)
static wmOperatorStatus area_split_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static wmOperatorStatus area_split_exec (bContext *C, wmOperator *op)
static void area_split_cancel (bContext *C, wmOperator *op)
static wmOperatorStatus area_split_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_area_split (wmOperatorType *ot)

Space Context Cycle Operator

static const EnumPropertyItem space_context_cycle_direction []
static bool space_context_cycle_poll (bContext *C)
static void context_cycle_prop_get (bScreen *screen, const ScrArea *area, PointerRNA *r_ptr, PropertyRNA **r_prop)
static wmOperatorStatus space_context_cycle_invoke (bContext *C, wmOperator *op, const wmEvent *)
static void SCREEN_OT_space_context_cycle (wmOperatorType *ot)

Macro Definition Documentation

◆ KM_MODAL_APPLY

#define KM_MODAL_APPLY   2

Definition at line 93 of file screen_ops.cc.

Referenced by area_move_modal(), and keymap_modal_set().

◆ KM_MODAL_CANCEL

#define KM_MODAL_CANCEL   1

Definition at line 92 of file screen_ops.cc.

Referenced by area_move_modal(), and keymap_modal_set().

◆ KM_MODAL_SNAP_OFF

#define KM_MODAL_SNAP_OFF   4

Definition at line 95 of file screen_ops.cc.

Referenced by area_move_modal(), and keymap_modal_set().

◆ KM_MODAL_SNAP_ON

#define KM_MODAL_SNAP_ON   3

Definition at line 94 of file screen_ops.cc.

Referenced by area_move_modal(), and keymap_modal_set().

◆ TIMEOUT

#define TIMEOUT   0.1f

Definition at line 6590 of file screen_ops.cc.

Referenced by ED_region_blend_alpha(), and region_blend_invoke().

◆ TIMESTEP

#define TIMESTEP   (1.0f / 60.0f)

Enumeration Type Documentation

◆ AreaMoveSnapType

Enumerator
SNAP_NONE 
SNAP_AREAGRID 
SNAP_FRACTION_AND_ADJACENT 
SNAP_BIGGER_SMALLER_ONLY 

Definition at line 1735 of file screen_ops.cc.

Function Documentation

◆ actionzone_apply()

◆ actionzone_area_poll()

bool actionzone_area_poll ( bContext * C)
static

◆ actionzone_cancel()

void actionzone_cancel ( bContext * ,
wmOperator * op )
static

Definition at line 1325 of file screen_ops.cc.

References actionzone_exit().

Referenced by SCREEN_OT_actionzone().

◆ actionzone_exit()

void actionzone_exit ( wmOperator * op)
static

◆ actionzone_invoke()

◆ actionzone_modal()

◆ area_actionzone_get_rect()

◆ area_actionzone_refresh_xy()

◆ area_close_exec()

wmOperatorStatus area_close_exec ( bContext * C,
wmOperator * op )
static
Note
This can be used interactively or from Python.
Most of the window management operators don't support execution from Python. An exception is made for closing areas since it allows application templates to customize the layout.

Definition at line 1636 of file screen_ops.cc.

References AREA_CLOSE_FADEOUT, bScreen::areabase, BKE_report(), BLI_findindex(), C, CTX_wm_area(), CTX_wm_screen(), CTX_wm_window(), CTX_wm_window_set(), NA_EDITED, NC_SCREEN, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::reports, RPT_ERROR, screen_animate_area_highlight(), screen_area_close(), ScrArea::totrct, and WM_event_add_notifier().

Referenced by SCREEN_OT_area_close().

◆ area_close_poll()

◆ area_docking_apply()

◆ area_docking_snap()

float area_docking_snap ( const float pos,
const wmEvent * event )
static

Definition at line 4238 of file screen_ops.cc.

References KM_ALT, KM_CTRL, and pos.

Referenced by area_docking_target().

◆ area_docking_target()

◆ area_dupli_fn()

void area_dupli_fn ( bScreen * ,
ScrArea * area,
void * user_data )
static

Callback for WM_window_open to setup the area's data.

Definition at line 1552 of file screen_ops.cc.

References ED_area_data_copy(), and ED_area_tag_redraw().

Referenced by area_dupli_open().

◆ area_dupli_invoke()

◆ area_dupli_open()

bool area_dupli_open ( bContext * C,
ScrArea * area,
const blender::int2 position )
static

◆ area_findsharededge()

ScrEdge * area_findsharededge ( bScreen * screen,
ScrArea * area,
ScrArea * sb )
static

Definition at line 2392 of file screen_ops.cc.

References BKE_screen_find_edge(), ScrArea::v1, ScrArea::v2, ScrArea::v3, and ScrArea::v4.

Referenced by area_split_apply().

◆ area_join_apply()

◆ area_join_cancel()

void area_join_cancel ( bContext * C,
wmOperator * op )
static

◆ area_join_cursor()

◆ area_join_dock_cb()

◆ area_join_dock_cb_window()

◆ area_join_draw_cb()

◆ area_join_exec()

◆ area_join_exit()

◆ area_join_init()

◆ area_join_invoke()

◆ area_join_modal()

wmOperatorStatus area_join_modal ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

Definition at line 4594 of file screen_ops.cc.

References area_docking_apply(), area_dupli_open(), area_join_apply(), area_join_cancel(), area_join_cursor(), area_join_dock_cb_window(), area_join_exit(), area_join_init(), area_join_update_data(), area_split(), area_split_allowed(), AREA_SPLIT_FADEOUT, bScreen::areabase, ScrAreaMap::areabase, BLI_listbase_is_empty(), BLI_listbase_is_single(), BLT_I18NCONTEXT_ID_SCREEN, C, sAreaJoinData::close_win, CTX_IFACE_, CTX_wm_manager(), CTX_wm_region(), CTX_wm_screen(), wmOperator::customdata, sAreaJoinData::dir, sAreaJoinData::dock_target, ED_area_tag_redraw(), EVT_ESCKEY, wmWindow::global_areas, IFACE_, is_header_azone_location(), KM_ALT, KM_CTRL, KM_RELEASE, LEFTMOUSE, wmEvent::modifier, MOUSEMOVE, NA_EDITED, NC_SCREEN, NC_WINDOW, None, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, wmOperator::reports, RIGHTMOUSE, sAreaJoinData::sa1, sAreaJoinData::sa2, screen_animate_area_highlight(), screen_area_close(), screen_area_touch_menu_create(), SCREEN_AXIS_H, SCREEN_AXIS_V, SCREEN_DIR_NONE, wmWindow::sizex, wmWindow::sizey, sAreaJoinData::split_dir, sAreaJoinData::split_fac, sAreaJoinData::start_x, sAreaJoinData::start_y, status, ScrArea::totrct, wmEvent::type, ScrArea::v1, ScrArea::v2, ScrArea::v3, ScrArea::v4, wmEvent::val, sAreaJoinData::win1, sAreaJoinData::win2, WINDEACTIVATE, ScrArea::winx, ScrArea::winy, WM_cursor_set(), WM_event_add_notifier(), WM_event_modal_handler_region_replace(), wm_window_close(), WM_window_get_active_screen(), WM_window_title(), and wmEvent::xy.

Referenced by SCREEN_OT_area_join().

◆ area_join_update_data()

◆ area_move_apply()

◆ area_move_apply_do()

◆ area_move_cancel()

void area_move_cancel ( bContext * C,
wmOperator * op )
static

Definition at line 2176 of file screen_ops.cc.

References area_move_apply(), area_move_exit(), C, wmOperator::ptr, and RNA_int_set().

Referenced by area_move_modal(), and SCREEN_OT_area_move().

◆ area_move_draw_cb()

◆ area_move_exec()

wmOperatorStatus area_move_exec ( bContext * C,
wmOperator * op )
static

◆ area_move_exit()

◆ area_move_init()

◆ area_move_invoke()

◆ area_move_modal()

◆ area_move_out_draw_cb()

◆ area_move_set_limits()

void area_move_set_limits ( wmWindow * win,
bScreen * screen,
const eScreenAxis dir_axis,
int * bigger,
int * smaller,
bool * use_bigger_smaller_snap )
static

◆ area_snap_calc_location()

int area_snap_calc_location ( const bScreen * screen,
const enum AreaMoveSnapType snap_type,
const int delta,
const int origval,
const eScreenAxis dir_axis,
const int bigger,
const int smaller )
static

◆ area_split_allowed()

bool area_split_allowed ( const ScrArea * area,
const eScreenAxis dir_axis )
static

◆ area_split_apply()

◆ area_split_cancel()

◆ area_split_draw_cb()

void area_split_draw_cb ( const wmWindow * ,
void * userdata )
static

◆ area_split_exec()

wmOperatorStatus area_split_exec ( bContext * C,
wmOperator * op )
static

◆ area_split_exit()

◆ area_split_factor()

◆ area_split_init()

◆ area_split_invoke()

◆ area_split_menu_init()

bool area_split_menu_init ( bContext * C,
wmOperator * op )
static

Definition at line 2349 of file screen_ops.cc.

References C, CTX_wm_area(), wmOperator::customdata, MEM_callocN(), and sAreaSplitData::sarea.

Referenced by area_split_invoke().

◆ area_split_modal()

◆ area_split_preview_update_cursor()

◆ area_swap_cancel()

void area_swap_cancel ( bContext * C,
wmOperator * op )
static

Definition at line 1449 of file screen_ops.cc.

References area_swap_exit(), and C.

Referenced by area_swap_modal(), and SCREEN_OT_area_swap().

◆ area_swap_exec()

◆ area_swap_exit()

void area_swap_exit ( bContext * C,
wmOperator * op )
static

◆ area_swap_init()

bool area_swap_init ( wmOperator * op,
const wmEvent * event )
static

◆ area_swap_invoke()

◆ area_swap_modal()

◆ azone_clipped_rect_calc()

◆ blend_file_drop_copy()

void blend_file_drop_copy ( bContext * ,
wmDrag * drag,
wmDropBox * drop )
static

Definition at line 7038 of file screen_ops.cc.

References wmDropBox::ptr, RNA_string_set(), and WM_drag_get_single_path().

Referenced by ED_keymap_screen().

◆ blend_file_drop_poll()

bool blend_file_drop_poll ( bContext * ,
wmDrag * drag,
const wmEvent *  )
static

◆ context_cycle_prop_get()

void context_cycle_prop_get ( bScreen * screen,
const ScrArea * area,
PointerRNA * r_ptr,
PropertyRNA ** r_prop )
static

Helper to get the correct RNA pointer/property pair for changing the display context of active space type in area.

Definition at line 6817 of file screen_ops.cc.

References BLI_assert, ListBase::first, bScreen::id, RNA_pointer_create_discrete(), RNA_struct_find_property(), SPACE_PROPERTIES, SPACE_USERPREF, ScrArea::spacedata, ScrArea::spacetype, and U.

Referenced by space_context_cycle_invoke().

◆ drivers_editor_show_exec()

◆ ED_area_actionzone_find_xy()

AZone * ED_area_actionzone_find_xy ( ScrArea * area,
const int xy[2] )

◆ ED_area_azones_update()

AZone * ED_area_azones_update ( ScrArea * area,
const int xy[2] )

◆ ED_areas_do_frame_follow()

◆ ED_keymap_screen()

◆ ed_object_hidden()

◆ ED_operator_action_active()

◆ ED_operator_active_screen_and_scene()

◆ ED_operator_animview_active()

◆ ED_operator_areaactive()

◆ ED_operator_asset_browsing_active()

bool ED_operator_asset_browsing_active ( bContext * C)

◆ ED_operator_buttons_active()

bool ED_operator_buttons_active ( bContext * C)

◆ ED_operator_camera_poll()

bool ED_operator_camera_poll ( bContext * C)

◆ ED_operator_console_active()

◆ ED_operator_editable_mesh()

bool ED_operator_editable_mesh ( bContext * C)

◆ ED_operator_editarmature()

◆ ED_operator_editcurve()

◆ ED_operator_editcurve_3d()

bool ED_operator_editcurve_3d ( bContext * C)

◆ ED_operator_editfont()

◆ ED_operator_editlattice()

◆ ED_operator_editmball()

◆ ED_operator_editmesh()

bool ED_operator_editmesh ( bContext * C)

Definition at line 520 of file screen_ops.cc.

References BKE_editmesh_from_object(), C, CTX_data_edit_object(), OB_MESH, and Object::type.

Referenced by ED_keymap_mesh(), ED_operator_editmesh_region_view3d(), ED_operator_editmesh_view3d(), edbm_select_by_attribute_poll(), edbm_select_ungrouped_poll(), edbm_separate_exec(), EDBM_view3d_poll(), blender::ed::object::hook_op_edit_poll(), blender::ed::mesh::mesh_active_attribute_poll(), MESH_OT_average_normals(), MESH_OT_beautify_fill(), MESH_OT_bevel(), MESH_OT_bisect(), MESH_OT_blend_from_shape(), MESH_OT_bridge_edge_loops(), MESH_OT_colors_reverse(), MESH_OT_colors_rotate(), MESH_OT_decimate(), MESH_OT_delete(), MESH_OT_delete_edgeloop(), MESH_OT_delete_loose(), MESH_OT_dissolve_degenerate(), MESH_OT_dissolve_edges(), MESH_OT_dissolve_faces(), MESH_OT_dissolve_limited(), MESH_OT_dissolve_mode(), MESH_OT_dissolve_verts(), MESH_OT_duplicate(), MESH_OT_edge_collapse(), MESH_OT_edge_face_add(), MESH_OT_edge_rotate(), MESH_OT_edge_split(), MESH_OT_edges_select_sharp(), MESH_OT_extrude_context(), MESH_OT_extrude_edges_indiv(), MESH_OT_extrude_faces_indiv(), MESH_OT_extrude_region(), MESH_OT_extrude_repeat(), MESH_OT_extrude_verts_indiv(), MESH_OT_face_make_planar(), MESH_OT_face_split_by_edges(), MESH_OT_faces_select_linked_flat(), MESH_OT_faces_shade_flat(), MESH_OT_faces_shade_smooth(), MESH_OT_fill(), MESH_OT_fill_grid(), MESH_OT_fill_holes(), MESH_OT_flip_normals(), MESH_OT_flip_quad_tessellation(), MESH_OT_hide(), MESH_OT_inset(), MESH_OT_intersect(), MESH_OT_intersect_boolean(), MESH_OT_loop_multi_select(), MESH_OT_loop_to_region(), MESH_OT_loopcut(), MESH_OT_mark_seam(), MESH_OT_mark_sharp(), MESH_OT_merge(), MESH_OT_merge_normals(), MESH_OT_mod_weighted_strength(), MESH_OT_normals_make_consistent(), MESH_OT_normals_tools(), MESH_OT_offset_edge_loops(), MESH_OT_point_normals(), MESH_OT_poke(), MESH_OT_quads_convert_to_tris(), MESH_OT_region_to_loop(), MESH_OT_remove_doubles(), MESH_OT_reveal(), MESH_OT_screw(), MESH_OT_select_all(), MESH_OT_select_axis(), MESH_OT_select_by_pole_count(), MESH_OT_select_face_by_sides(), MESH_OT_select_interior_faces(), MESH_OT_select_less(), MESH_OT_select_linked(), MESH_OT_select_linked_pick(), MESH_OT_select_loose(), MESH_OT_select_mirror(), MESH_OT_select_mode(), MESH_OT_select_more(), MESH_OT_select_nth(), MESH_OT_select_random(), MESH_OT_select_similar(), MESH_OT_select_similar_region(), MESH_OT_set_normals_from_faces(), blender::ed::mesh::MESH_OT_set_sharpness_by_angle(), MESH_OT_shape_propagate_to_all(), MESH_OT_shortest_path_select(), MESH_OT_smooth_normals(), MESH_OT_solidify(), MESH_OT_sort_elements(), MESH_OT_spin(), MESH_OT_split(), MESH_OT_split_normals(), MESH_OT_subdivide(), MESH_OT_subdivide_edgering(), MESH_OT_symmetrize(), MESH_OT_symmetry_snap(), MESH_OT_tris_convert_to_quads(), MESH_OT_unsubdivide(), MESH_OT_uvs_reverse(), MESH_OT_uvs_rotate(), MESH_OT_vert_connect(), MESH_OT_vert_connect_concave(), MESH_OT_vert_connect_nonplanar(), MESH_OT_vert_connect_path(), MESH_OT_vertices_smooth(), MESH_OT_vertices_smooth_laplacian(), MESH_OT_wireframe(), blender::ed::transform::TRANSFORM_OT_edge_bevelweight(), blender::ed::transform::TRANSFORM_OT_edge_crease(), blender::ed::transform::TRANSFORM_OT_edge_slide(), blender::ed::transform::TRANSFORM_OT_rotate_normal(), blender::ed::transform::TRANSFORM_OT_shrink_fatten(), blender::ed::transform::TRANSFORM_OT_skin_resize(), blender::ed::transform::TRANSFORM_OT_vert_crease(), blender::ed::transform::TRANSFORM_OT_vert_slide(), UV_OT_copy_mirrored_faces(), and blender::ed::object::vertex_parent_set_poll().

◆ ED_operator_editmesh_region_view3d()

◆ ED_operator_editmesh_view3d()

bool ED_operator_editmesh_view3d ( bContext * C)

◆ ED_operator_editsurf()

bool ED_operator_editsurf ( bContext * C)

Definition at line 704 of file screen_ops.cc.

References C, CTX_data_edit_object(), Object::data, OB_SURF, and Object::type.

Referenced by CURVE_OT_select_row(), and CURVE_OT_spin().

◆ ED_operator_editsurfcurve()

◆ ED_operator_editsurfcurve_region_view3d()

bool ED_operator_editsurfcurve_region_view3d ( bContext * C)

◆ ED_operator_file_active()

bool ED_operator_file_active ( bContext * C)

◆ ED_operator_file_browsing_active()

◆ ED_operator_graphedit_active()

◆ ED_operator_image_active()

bool ED_operator_image_active ( bContext * C)

Definition at line 425 of file screen_ops.cc.

References C, ed_spacetype_test(), and SPACE_IMAGE.

Referenced by RENDER_OT_view_cancel().

◆ ED_operator_info_active()

◆ ED_operator_nla_active()

◆ ED_operator_node_active()

◆ ED_operator_node_editable()

bool ED_operator_node_editable ( bContext * C)

Definition at line 399 of file screen_ops.cc.

References BKE_id_is_editable(), C, CTX_data_main(), CTX_wm_space_node(), SpaceNode::edittree, and bNodeTree::id.

Referenced by blender::ed::space_node::composite_node_editable(), blender::ed::space_node::node_active_link_viewer_poll(), blender::ed::space_node::node_add_collection_poll(), blender::ed::space_node::node_add_color_poll(), blender::ed::space_node::node_add_group_input_node_poll(), blender::ed::space_node::node_add_group_poll(), blender::ed::space_node::node_add_image_invoke(), blender::ed::space_node::node_add_import_node_poll(), blender::ed::space_node::node_add_mask_poll(), blender::ed::space_node::node_add_material_poll(), blender::ed::space_node::node_add_object_poll(), blender::ed::space_node::node_group_operator_editable(), blender::ed::space_node::NODE_OT_add_reroute(), blender::ed::space_node::NODE_OT_attach(), blender::ed::space_node::NODE_OT_clipboard_paste(), blender::ed::space_node::NODE_OT_delete(), blender::ed::space_node::NODE_OT_delete_reconnect(), blender::ed::space_node::NODE_OT_detach(), blender::ed::space_node::NODE_OT_duplicate(), blender::ed::space_node::NODE_OT_insert_offset(), blender::ed::space_node::NODE_OT_join(), blender::ed::space_node::NODE_OT_join_nodes(), blender::ed::space_node::NODE_OT_link(), blender::ed::space_node::NODE_OT_link_make(), blender::ed::space_node::NODE_OT_links_cut(), blender::ed::space_node::NODE_OT_links_detach(), blender::ed::space_node::NODE_OT_links_mute(), blender::ed::space_node::NODE_OT_mute_toggle(), blender::ed::space_node::NODE_OT_node_copy_color(), blender::ed::space_node::NODE_OT_parent_set(), blender::ed::space_node::NODE_OT_sockets_sync(), blender::ed::space_node::node_shader_script_update_poll(), and blender::ed::space_node::node_swap_group_poll().

◆ ED_operator_object_active()

◆ ED_operator_object_active_editable()

bool ED_operator_object_active_editable ( bContext * C)

Definition at line 483 of file screen_ops.cc.

References C, blender::ed::object::context_active_object(), and ED_operator_object_active_editable_ex().

Referenced by FLUID_OT_bake_all(), FLUID_OT_bake_data(), FLUID_OT_bake_guides(), FLUID_OT_bake_mesh(), FLUID_OT_bake_noise(), FLUID_OT_bake_particles(), FLUID_OT_free_all(), FLUID_OT_free_data(), FLUID_OT_free_guides(), FLUID_OT_free_mesh(), FLUID_OT_free_noise(), FLUID_OT_free_particles(), FLUID_OT_pause_bake(), blender::ed::object::modifiers_copy_to_selected_poll(), blender::ed::object::OBJECT_OT_constraint_add(), blender::ed::object::OBJECT_OT_constraint_add_with_targets(), blender::ed::object::OBJECT_OT_constraints_copy(), blender::ed::object::OBJECT_OT_forcefield_toggle(), blender::ed::object::OBJECT_OT_geometry_nodes_input_attribute_toggle(), blender::ed::object::OBJECT_OT_light_linking_blocker_collection_new(), blender::ed::object::OBJECT_OT_light_linking_blockers_link(), blender::ed::object::OBJECT_OT_light_linking_receiver_collection_new(), blender::ed::object::OBJECT_OT_light_linking_receivers_link(), blender::ed::object::OBJECT_OT_light_linking_unlink_from_collection(), blender::ed::object::OBJECT_OT_modifier_add(), blender::ed::object::OBJECT_OT_modifier_add_node_group(), blender::ed::object::OBJECT_OT_parent_no_inverse_set(), blender::ed::object::OBJECT_OT_paths_calculate(), blender::ed::object::OBJECT_OT_paths_clear(), blender::ed::object::OBJECT_OT_posemode_toggle(), blender::ed::object::object_update_paths_poll(), operator_rigidbody_active_poll(), operator_rigidbody_add_poll(), operator_rigidbody_con_active_poll(), and operator_rigidbody_con_add_poll().

◆ ED_operator_object_active_editable_ex()

◆ ED_operator_object_active_editable_font()

bool ED_operator_object_active_editable_font ( bContext * C)

◆ ED_operator_object_active_editable_mesh()

◆ ED_operator_object_active_local_editable()

◆ ED_operator_object_active_local_editable_ex()

bool ED_operator_object_active_local_editable_ex ( bContext * C,
const Object * ob )

Object must be editable and fully local (i.e. not an override).

Definition at line 489 of file screen_ops.cc.

References C, ED_operator_object_active_editable_ex(), and ID_IS_OVERRIDE_LIBRARY.

Referenced by object_materials_supported_poll_ex(), and blender::ed::object::vertex_group_supported_poll_ex().

◆ ED_operator_object_active_local_editable_posemode_exclusive()

bool ED_operator_object_active_local_editable_posemode_exclusive ( bContext * C)

Object must be editable, fully local (i.e. not an override), and exclusively in Pose mode.

Definition at line 579 of file screen_ops.cc.

References C, blender::ed::object::context_active_object(), CTX_wm_operator_poll_msg_set(), ed_operator_posemode_exclusive_ex(), and ID_IS_OVERRIDE_LIBRARY.

Referenced by blender::ed::object::POSE_OT_constraints_clear(), and blender::ed::object::POSE_OT_ik_clear().

◆ ED_operator_object_active_only()

bool ED_operator_object_active_only ( bContext * C)

Only check there is an active object (no visibility check).

Definition at line 451 of file screen_ops.cc.

References C, and blender::ed::object::context_active_object().

Referenced by blender::ed::object::OBJECT_OT_modifier_set_active().

◆ ED_operator_objectmode()

bool ED_operator_objectmode ( bContext * C)

Definition at line 229 of file screen_ops.cc.

References C, CTX_data_active_object(), CTX_data_edit_object(), CTX_data_scene(), ID_IS_EDITABLE, Object::mode, and OB_MODE_OBJECT.

Referenced by blender::ed::object::COLLECTION_OT_create(), blender::ed::object::COLLECTION_OT_objects_add_active(), blender::ed::object::COLLECTION_OT_objects_remove(), blender::ed::object::COLLECTION_OT_objects_remove_active(), blender::ed::object::COLLECTION_OT_objects_remove_all(), blender::ed::object::collection_unlink_poll(), ED_operator_objectmode_poll_msg(), blender::ed::object::make_override_library_poll(), blender::ed::object::move_to_collection_poll(), blender::ed::object::object_curves_empty_hair_add_poll(), blender::ed::object::object_image_add_exec(), blender::ed::object::OBJECT_OT_add(), blender::ed::object::OBJECT_OT_armature_add(), blender::ed::object::OBJECT_OT_camera_add(), blender::ed::object::OBJECT_OT_collection_add(), blender::ed::object::OBJECT_OT_collection_external_asset_drop(), blender::ed::object::OBJECT_OT_collection_instance_add(), blender::ed::object::OBJECT_OT_collection_link(), blender::ed::object::OBJECT_OT_collection_objects_select(), blender::ed::object::OBJECT_OT_collection_remove(), blender::ed::object::OBJECT_OT_curves_random_add(), blender::ed::object::OBJECT_OT_data_instance_add(), blender::ed::object::OBJECT_OT_delete(), blender::ed::object::OBJECT_OT_duplicate(), blender::ed::object::OBJECT_OT_duplicates_make_real(), blender::ed::object::OBJECT_OT_effector_add(), blender::ed::object::OBJECT_OT_empty_add(), blender::ed::object::OBJECT_OT_grease_pencil_add(), blender::ed::object::OBJECT_OT_lattice_add_to_selected(), blender::ed::object::OBJECT_OT_light_add(), blender::ed::object::OBJECT_OT_lightprobe_add(), blender::ed::object::OBJECT_OT_make_local(), blender::ed::object::OBJECT_OT_make_single_user(), blender::ed::object::OBJECT_OT_parent_inverse_apply(), blender::ed::object::OBJECT_OT_pointcloud_random_add(), blender::ed::object::OBJECT_OT_select_less(), blender::ed::object::OBJECT_OT_select_more(), blender::ed::object::OBJECT_OT_speaker_add(), blender::ed::object::OBJECT_OT_text_add(), blender::ed::object::OBJECT_OT_track_clear(), blender::ed::object::OBJECT_OT_track_set(), blender::ed::object::OBJECT_OT_transform_apply(), blender::ed::object::OBJECT_OT_volume_add(), and blender::ed::object::reset_clear_override_library_poll().

◆ ED_operator_objectmode_poll_msg()

bool ED_operator_objectmode_poll_msg ( bContext * C)

Same as ED_operator_objectmode() but additionally sets a "disabled hint". That is, a message to be displayed to the user explaining why the operator can't be used in current context.

Definition at line 249 of file screen_ops.cc.

References C, CTX_wm_operator_poll_msg_set(), and ED_operator_objectmode().

Referenced by ED_operator_objectmode_with_view3d_poll_msg(), blender::ed::object::OBJECT_OT_add_named(), and blender::ed::object::OBJECT_OT_transform_to_mouse().

◆ ED_operator_objectmode_with_view3d_poll_msg()

bool ED_operator_objectmode_with_view3d_poll_msg ( bContext * C)

◆ ED_operator_outliner_active()

◆ ED_operator_outliner_active_no_editobject()

bool ED_operator_outliner_active_no_editobject ( bContext * C)

◆ ED_operator_posemode()

◆ ED_operator_posemode_context()

bool ED_operator_posemode_context ( bContext * C)

Allows for pinned pose objects to be used in the object buttons and the non-active pose object to be used in the 3D view.

Definition at line 595 of file screen_ops.cc.

References BKE_object_pose_context_check(), C, ED_pose_object_from_context(), Object::mode, and OB_MODE_EDIT.

Referenced by blender::ed::animrig::pose_asset_create_poll(), and blender::ed::animrig::pose_asset_modify_poll().

◆ ED_operator_posemode_exclusive()

◆ ed_operator_posemode_exclusive_ex()

bool ed_operator_posemode_exclusive_ex ( bContext * C,
Object * obact )
static

Check for pose mode (no mixed modes).

We want to enable most pose operations in weight paint mode, when it comes to transforming bones, but managing bones layers/groups and their constraints can be left for pose mode only (not weight paint mode).

Definition at line 560 of file screen_ops.cc.

References BKE_object_pose_armature_get(), C, CTX_wm_operator_poll_msg_set(), Object::mode, and OB_MODE_EDIT.

Referenced by ED_operator_object_active_local_editable_posemode_exclusive(), and ED_operator_posemode_exclusive().

◆ ED_operator_posemode_local()

◆ ED_operator_region_gizmo_active()

bool ED_operator_region_gizmo_active ( bContext * C)

Definition at line 294 of file screen_ops.cc.

References C, CTX_wm_region(), and ARegion::runtime.

Referenced by GIZMOGROUP_OT_gizmo_select(), and GIZMOGROUP_OT_gizmo_tweak().

◆ ED_operator_region_outliner_active()

◆ ED_operator_region_view3d_active()

◆ ED_operator_regionactive()

◆ ED_operator_scene()

bool ED_operator_scene ( bContext * C)

Definition at line 193 of file screen_ops.cc.

References C, and CTX_data_scene().

Referenced by VIEW3D_OT_copybuffer().

◆ ED_operator_scene_editable()

◆ ED_operator_screen_mainwinactive()

bool ED_operator_screen_mainwinactive ( bContext * C)

When mouse is over area-edge.

Definition at line 178 of file screen_ops.cc.

References bScreen::active_region, C, CTX_wm_screen(), and CTX_wm_window().

Referenced by SCREEN_OT_area_move(), and SCREEN_OT_area_options().

◆ ED_operator_screenactive()

◆ ED_operator_screenactive_nobackground()

bool ED_operator_screenactive_nobackground ( bContext * C)

◆ ED_operator_sequencer_active()

◆ ED_operator_sequencer_active_editable()

◆ ED_operator_sequencer_scene()

bool ED_operator_sequencer_scene ( bContext * C)

◆ ED_operator_sequencer_scene_editable()

bool ED_operator_sequencer_scene_editable ( bContext * C)

◆ ED_operator_spreadsheet_active()

◆ ED_operator_uvedit()

◆ ED_operator_uvedit_space_image()

◆ ED_operator_uvmap()

◆ ED_operator_view3d_active()

◆ ED_operatortypes_screen()

◆ ED_region_blend_alpha()

◆ ED_region_visibility_change_update_animated()

◆ ED_reset_audio_device()

◆ ED_screen_animation_no_scrub()

◆ ED_screen_animation_play()

◆ ED_screen_animation_playing()

◆ ED_screens_footer_tools_menu_create()

◆ ED_screens_header_tools_menu_create()

◆ ED_screens_region_flip_menu_create()

◆ ed_screens_statusbar_menu_create()

void ed_screens_statusbar_menu_create ( uiLayout * layout,
void *  )
static

◆ ed_spacetype_test()

◆ frame_jump_delta_exec()

◆ frame_jump_exec()

◆ frame_offset_exec()

◆ fullscreen_back_exec()

◆ fullscreen_click_rcti_init()

void fullscreen_click_rcti_init ( rcti * rect,
const short ,
const short ,
const short x2,
const short y2 )
static

Definition at line 844 of file screen_ops.cc.

References BLI_rcti_init(), and U.

Referenced by area_actionzone_refresh_xy().

◆ header_toggle_menus_exec()

◆ info_log_show_exec()

◆ is_header_azone_location()

◆ is_split_edge()

bool is_split_edge ( const int alignment,
const AZEdge edge )
static

◆ keyframe_jump_exec()

◆ keyframe_jump_poll()

bool keyframe_jump_poll ( bContext * C)
static

Definition at line 3614 of file screen_ops.cc.

References C, and operator_screenactive_norender().

Referenced by SCREEN_OT_keyframe_jump().

◆ keylist_fallback_for_keyframe_jump()

◆ keylist_from_dopesheet()

void keylist_from_dopesheet ( bContext & C,
AnimKeylist & keylist )
static

◆ keylist_from_graph_editor()

◆ keymap_modal_set()

void keymap_modal_set ( wmKeyConfig * keyconf)
static

◆ marker_jump_exec()

◆ match_region_with_redraws()

◆ operator_screenactive_norender()

◆ redo_last_invoke()

wmOperatorStatus redo_last_invoke ( bContext * C,
wmOperator * ,
const wmEvent *  )
static

Definition at line 5073 of file screen_ops.cc.

References C, OPERATOR_CANCELLED, WM_operator_last_redo(), and WM_operator_redo_popup().

Referenced by SCREEN_OT_redo_last().

◆ region_blend_end()

◆ region_blend_invoke()

◆ region_flip_exec()

◆ region_flip_poll()

bool region_flip_poll ( bContext * C)
static

◆ region_quadview_exec()

◆ region_quadview_init_rv3d()

◆ region_scale_cancel()

void region_scale_cancel ( bContext * ,
wmOperator * op )
static

Definition at line 3186 of file screen_ops.cc.

References region_scale_exit().

Referenced by SCREEN_OT_region_scale().

◆ region_scale_draw_cb()

void region_scale_draw_cb ( const wmWindow * ,
void * userdata )
static

◆ region_scale_exit()

◆ region_scale_invoke()

◆ region_scale_modal()

◆ region_scale_toggle_hidden()

◆ region_scale_validate_size()

◆ region_toggle_exec()

◆ region_toggle_poll()

bool region_toggle_poll ( bContext * C)
static

◆ repeat_history_exec()

◆ repeat_history_invoke()

◆ repeat_history_poll()

◆ repeat_last_exec()

◆ screen_actionzone_area()

ScrArea * screen_actionzone_area ( bScreen * screen,
const AZone * az )
static

Definition at line 1097 of file screen_ops.cc.

References bScreen::areabase, and LISTBASE_FOREACH.

Referenced by actionzone_invoke().

◆ screen_actionzone_find_xy()

AZone * screen_actionzone_find_xy ( bScreen * screen,
const int xy[2] )
static

Definition at line 1085 of file screen_ops.cc.

References area_actionzone_refresh_xy(), bScreen::areabase, LISTBASE_FOREACH, and xy.

Referenced by actionzone_invoke().

◆ screen_active_editable()

bool screen_active_editable ( bContext * C)
static

◆ screen_animation_cancel_exec()

◆ screen_animation_play_exec()

wmOperatorStatus screen_animation_play_exec ( bContext * C,
wmOperator * op )
static

◆ screen_animation_region_supports_time_follow()

bool screen_animation_region_supports_time_follow ( eSpace_Type spacetype,
eRegion_Type regiontype )
static

◆ screen_animation_region_tag_redraw()

◆ screen_animation_step_invoke()

◆ screen_area_edge_from_cursor()

◆ screen_area_menu_items()

◆ screen_area_options_invoke()

◆ screen_area_touch_menu_create()

◆ screen_context_menu_invoke()

◆ screen_delete_exec()

◆ screen_drop_scene_copy()

void screen_drop_scene_copy ( bContext * C,
wmDrag * drag,
wmDropBox * drop )
static

◆ screen_drop_scene_poll()

bool screen_drop_scene_poll ( bContext * C,
wmDrag * drag,
const wmEvent *  )
static

◆ screen_drop_scene_tooltip()

◆ screen_maximize_area_exec()

◆ screen_maximize_area_poll()

◆ screen_modal_action_begin()

void screen_modal_action_begin ( )
static

Begin a modal operation, the caller is responsible for calling screen_modal_action_end when it's ended.

Definition at line 771 of file screen_ops.cc.

References G, and G_TRANSFORM_WM.

Referenced by actionzone_invoke(), area_move_invoke(), area_split_invoke(), and region_scale_invoke().

◆ screen_modal_action_end()

void screen_modal_action_end ( )
static

Call once the modal action has finished.

Definition at line 777 of file screen_ops.cc.

References G, G_TRANSFORM_WM, NA_EDITED, NC_SCREEN, and WM_main_add_notifier().

Referenced by actionzone_exit(), area_join_exit(), area_move_exit(), area_split_exit(), and region_scale_exit().

◆ screen_new_exec()

◆ SCREEN_OT_actionzone()

void SCREEN_OT_actionzone ( wmOperatorType * ot)
static

◆ SCREEN_OT_animation_cancel()

void SCREEN_OT_animation_cancel ( wmOperatorType * ot)
static

◆ SCREEN_OT_animation_play()

void SCREEN_OT_animation_play ( wmOperatorType * ot)
static

◆ SCREEN_OT_animation_step()

void SCREEN_OT_animation_step ( wmOperatorType * ot)
static

◆ SCREEN_OT_area_close()

void SCREEN_OT_area_close ( wmOperatorType * ot)
static

Definition at line 1692 of file screen_ops.cc.

References area_close_exec(), area_close_poll(), and ot.

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_area_dupli()

void SCREEN_OT_area_dupli ( wmOperatorType * ot)
static

Definition at line 1611 of file screen_ops.cc.

References area_dupli_invoke(), ED_operator_areaactive(), and ot.

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_area_join()

◆ SCREEN_OT_area_move()

◆ SCREEN_OT_area_options()

void SCREEN_OT_area_options ( wmOperatorType * ot)
static

◆ SCREEN_OT_area_split()

◆ SCREEN_OT_area_swap()

◆ SCREEN_OT_back_to_previous()

void SCREEN_OT_back_to_previous ( wmOperatorType * ot)
static

Definition at line 6332 of file screen_ops.cc.

References ED_operator_screenactive(), fullscreen_back_exec(), and ot.

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_delete()

void SCREEN_OT_delete ( wmOperatorType * ot)
static

Definition at line 6562 of file screen_ops.cc.

References ot, and screen_delete_exec().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_drivers_editor_show()

void SCREEN_OT_drivers_editor_show ( wmOperatorType * ot)
static

◆ SCREEN_OT_frame_jump()

void SCREEN_OT_frame_jump ( wmOperatorType * ot)
static

◆ SCREEN_OT_frame_offset()

void SCREEN_OT_frame_offset ( wmOperatorType * ot)
static

◆ SCREEN_OT_header_toggle_menus()

void SCREEN_OT_header_toggle_menus ( wmOperatorType * ot)
static

Definition at line 5410 of file screen_ops.cc.

References ED_operator_areaactive(), header_toggle_menus_exec(), and ot.

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_info_log_show()

void SCREEN_OT_info_log_show ( wmOperatorType * ot)
static

◆ SCREEN_OT_keyframe_jump()

void SCREEN_OT_keyframe_jump ( wmOperatorType * ot)
static

◆ SCREEN_OT_marker_jump()

void SCREEN_OT_marker_jump ( wmOperatorType * ot)
static

◆ SCREEN_OT_new()

void SCREEN_OT_new ( wmOperatorType * ot)
static

Definition at line 6533 of file screen_ops.cc.

References ot, screen_new_exec(), and WM_operator_winactive().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_redo_last()

void SCREEN_OT_redo_last ( wmOperatorType * ot)
static

Definition at line 5086 of file screen_ops.cc.

References ot, redo_last_invoke(), and repeat_history_poll().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_region_blend()

void SCREEN_OT_region_blend ( wmOperatorType * ot)
static

Definition at line 6710 of file screen_ops.cc.

References OPTYPE_INTERNAL, ot, and region_blend_invoke().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_region_context_menu()

void SCREEN_OT_region_context_menu ( wmOperatorType * ot)
static

Definition at line 5587 of file screen_ops.cc.

References ot, and screen_context_menu_invoke().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_region_flip()

void SCREEN_OT_region_flip ( wmOperatorType * ot)
static

Definition at line 5378 of file screen_ops.cc.

References ot, region_flip_exec(), and region_flip_poll().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_region_quadview()

void SCREEN_OT_region_quadview ( wmOperatorType * ot)
static

Definition at line 5258 of file screen_ops.cc.

References ED_operator_region_view3d_active(), ot, and region_quadview_exec().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_region_scale()

void SCREEN_OT_region_scale ( wmOperatorType * ot)
static

◆ SCREEN_OT_region_toggle()

void SCREEN_OT_region_toggle ( wmOperatorType * ot)
static

◆ SCREEN_OT_repeat_history()

void SCREEN_OT_repeat_history ( wmOperatorType * ot)
static

◆ SCREEN_OT_repeat_last()

void SCREEN_OT_repeat_last ( wmOperatorType * ot)
static

Definition at line 4984 of file screen_ops.cc.

References ot, repeat_history_poll(), and repeat_last_exec().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_screen_full_area()

void SCREEN_OT_screen_full_area ( wmOperatorType * ot)
static

◆ SCREEN_OT_screen_set()

void SCREEN_OT_screen_set ( wmOperatorType * ot)
static

Definition at line 3724 of file screen_ops.cc.

References ED_operator_screenactive(), ot, RNA_def_int(), and screen_set_exec().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_space_context_cycle()

void SCREEN_OT_space_context_cycle ( wmOperatorType * ot)
static

◆ SCREEN_OT_space_type_set_or_cycle()

void SCREEN_OT_space_type_set_or_cycle ( wmOperatorType * ot)
static

◆ SCREEN_OT_spacedata_cleanup()

void SCREEN_OT_spacedata_cleanup ( wmOperatorType * ot)
static

Definition at line 4936 of file screen_ops.cc.

References ot, spacedata_cleanup_exec(), and WM_operator_winactive().

Referenced by ED_operatortypes_screen().

◆ SCREEN_OT_time_jump()

void SCREEN_OT_time_jump ( wmOperatorType * ot)
static

◆ SCREEN_OT_userpref_show()

◆ SCREEN_OT_workspace_cycle()

void SCREEN_OT_workspace_cycle ( wmOperatorType * ot)
static

◆ screen_set_exec()

◆ space_context_cycle_invoke()

◆ space_context_cycle_poll()

bool space_context_cycle_poll ( bContext * C)
static

◆ space_type_set_or_cycle_exec()

◆ space_type_set_or_cycle_poll()

bool space_type_set_or_cycle_poll ( bContext * C)
static

◆ space_workspace_cycle_invoke()

◆ spacedata_cleanup_exec()

◆ start_playback()

◆ stop_playback()

◆ userpref_show_exec()

◆ userpref_show_get_description()

std::string userpref_show_get_description ( bContext * C,
wmOperatorType * ,
PointerRNA * ptr )
static

◆ view3d_localview_update_rv3d()

void view3d_localview_update_rv3d ( RegionView3D * rv3d)
static

Variable Documentation

◆ prop_direction_items

const EnumPropertyItem prop_direction_items[]
static
Initial value:
= {
{SCREEN_AXIS_H, "HORIZONTAL", 0, "Horizontal", ""},
{SCREEN_AXIS_V, "VERTICAL", 0, "Vertical", ""},
{0, nullptr, 0, nullptr, nullptr},
}
@ SCREEN_AXIS_V
@ SCREEN_AXIS_H

Definition at line 2830 of file screen_ops.cc.

Referenced by rna_def_brush(), rna_def_modifier_displace(), and SCREEN_OT_area_split().

◆ space_context_cycle_direction

const EnumPropertyItem space_context_cycle_direction[]
static
Initial value:
= {
{SPACE_CONTEXT_CYCLE_PREV, "PREV", 0, "Previous", ""},
{SPACE_CONTEXT_CYCLE_NEXT, "NEXT", 0, "Next", ""},
{0, nullptr, 0, nullptr, nullptr},
}
@ SPACE_CONTEXT_CYCLE_NEXT
Definition ED_screen.hh:774
@ SPACE_CONTEXT_CYCLE_PREV
Definition ED_screen.hh:773

Definition at line 6800 of file screen_ops.cc.

Referenced by SCREEN_OT_space_context_cycle(), and SCREEN_OT_workspace_cycle().