95 const char *contexts[]);
106 const char *contexts[],
107 const char *category_override);
115 const char *contexts[],
116 const char *category_override);
158 const float fill_color[4],
161 const char *text_array[],
162 const float fill_color[4],
281#define ED_screen_areas_iter(win, screen, area_name) \
282 for (ScrArea *area_name = ED_screen_areas_iter_first(win, screen); area_name != NULL; \
283 area_name = ED_screen_areas_iter_next(screen, area_name))
284#define ED_screen_verts_iter(win, screen, vert_name) \
285 for (ScrVert *vert_name = (win)->global_areas.vertbase.first ? \
286 (ScrVert *)(win)->global_areas.vertbase.first : \
287 (ScrVert *)(screen)->vertbase.first; \
289 vert_name = (vert_name == (win)->global_areas.vertbase.last) ? \
290 (ScrVert *)(screen)->vertbase.first : \
371 const rcti *rect_unscaled,
470 void item(std::string text,
int icon1,
int icon2 = 0);
477 void item_bool(std::string text,
bool inverted,
int icon1,
int icon2 = 0);
484 void range(std::string text,
int icon1,
int icon2);
637 const char *op_prop_enum,
641 const char *context_data_path,
649 const char *op_prop_enum,
654 const char *context_data_path,
666 ARegion *region,
int num_segments,
const int *points,
int sfra,
int efra);
689 const int event_xy[2],
#define ATTR_NONNULL(...)
void ED_region_info_draw(ARegion *region, const char *text, const float fill_color[4], bool full_redraw)
void ED_spacetypes_keymap(wmKeyConfig *keyconf)
bool ED_operator_spreadsheet_active(bContext *C)
ScrArea * ED_screen_areas_iter_next(const bScreen *screen, const ScrArea *area)
bool ED_operator_region_outliner_active(bContext *C)
void ED_area_do_mgs_subscribe_for_tool_header(const wmRegionMessageSubscribeParams *params)
void ED_area_tag_redraw(ScrArea *area)
bool ED_operator_editarmature(bContext *C)
bool ED_region_overlap_isect_y(const ARegion *region, int event_y)
int ED_area_icon(const ScrArea *area)
int ED_region_snap_size_test(const ARegion *region)
ARegionType * ED_area_type_hud(int space_type)
void ED_screen_global_areas_sync(wmWindow *win)
bUserMenu * ED_screen_user_menu_ensure(bContext *C)
bool ED_region_property_search(const bContext *C, ARegion *region, ListBase *paneltypes, const char *contexts[], const char *category_override)
void ED_region_tag_refresh_ui(ARegion *region)
int ED_screen_area_active(const bContext *C)
void ED_area_newspace(bContext *C, ScrArea *area, int type, bool skip_region_exit)
bool ED_workspace_layout_cycle(WorkSpace *workspace, short direction, bContext *C) ATTR_NONNULL()
void ED_area_do_mgs_subscribe_for_tool_ui(const wmRegionMessageSubscribeParams *params)
bool ED_screen_stereo3d_required(const bScreen *screen, const Scene *scene)
void ED_region_update_rect(ARegion *region)
bool ED_operator_uvmap(bContext *C)
ScrArea * ED_screen_areas_iter_first(const wmWindow *win, const bScreen *screen)
WorkSpaceLayout * ED_workspace_layout_add(Main *bmain, WorkSpace *workspace, wmWindow *win, const char *name) ATTR_NONNULL()
wmWindow * ED_screen_window_find(const bScreen *screen, const wmWindowManager *wm)
bool ED_region_overlap_isect_x(const ARegion *region, int event_x)
bool ED_operator_graphedit_active(bContext *C)
bool ED_operator_action_active(bContext *C)
bool ED_operator_sequencer_active_editable(bContext *C)
bool ED_operator_animview_active(bContext *C)
ARegion * ED_area_type_hud_redo_region_find(const ScrArea *area, const ARegion *hud_region)
bool ED_operator_node_editable(bContext *C)
void ED_region_cursor_set(wmWindow *win, ScrArea *area, ARegion *region)
bool ED_operator_screen_mainwinactive(bContext *C)
const char * ED_area_region_search_filter_get(const ScrArea *area, const ARegion *region)
bool ED_region_panel_category_gutter_isect_xy(const ARegion *region, const int event_xy[2])
bool ED_region_overlap_isect_xy_with_margin(const ARegion *region, const int event_xy[2], int margin)
ScrArea * ED_screen_temp_space_open(bContext *C, const char *title, const rcti *rect_unscaled, eSpace_Type space_type, int display_type, bool dialog) ATTR_NONNULL(1
void ED_region_do_listen(wmRegionListenerParams *params)
void ED_region_cache_draw_cached_segments(ARegion *region, int num_segments, const int *points, int sfra, int efra)
Scene * ED_screen_scene_find(const bScreen *screen, const wmWindowManager *wm)
int ED_area_global_size_y(const ScrArea *area)
void ED_region_search_filter_update(const ScrArea *area, ARegion *region)
void ED_region_toggle_hidden(bContext *C, ARegion *region)
bool ED_operator_console_active(bContext *C)
float ED_region_blend_alpha(ARegion *region)
ARegion * ED_area_find_region_xy_visual(const ScrArea *area, int regiontype, const int event_xy[2])
bool ED_operator_info_active(bContext *C)
WorkSpace * ED_workspace_duplicate(WorkSpace *workspace_old, Main *bmain, wmWindow *win)
int ED_area_global_min_size_y(const ScrArea *area)
void ED_keymap_screen(wmKeyConfig *keyconf)
ScrArea * ED_screen_area_find_with_spacedata(const bScreen *screen, const SpaceLink *sl, bool only_visible)
bool ED_region_overlap_isect_any_xy(const ScrArea *area, const int event_xy[2])
void ED_screen_ensure_updated(bContext *C, wmWindowManager *wm, wmWindow *win)
ScrArea * ED_area_find_under_cursor(const bContext *C, int spacetype, const int event_xy[2])
bool ED_operator_editable_mesh(bContext *C)
void ED_screen_scene_change(bContext *C, wmWindow *win, Scene *scene, bool refresh_toolsystem)
bool ED_region_contains_xy(const ARegion *region, const int event_xy[2])
void ED_region_floating_init(ARegion *region)
bool ED_operator_scene(bContext *C)
void ED_area_status_text(ScrArea *area, const char *str)
bool ED_operator_object_active_local_editable(bContext *C)
bool ED_operator_screenactive(bContext *C)
void ED_screen_refresh(bContext *C, wmWindowManager *wm, wmWindow *win)
void ED_screen_full_restore(bContext *C, ScrArea *area)
bool ED_operator_regionactive(bContext *C)
bool ED_operator_editsurfcurve_region_view3d(bContext *C)
void ED_area_tag_redraw_no_rebuild(ScrArea *area)
int ED_screen_animation_play(bContext *C, int sync, int mode)
void ED_screens_footer_tools_menu_create(bContext *C, uiLayout *layout, void *arg)
int ED_area_global_max_size_y(const ScrArea *area)
void ED_region_panels(const bContext *C, ARegion *region)
void ED_region_clear(const bContext *C, const ARegion *region, int colorid)
void ED_workspace_do_listen(bContext *C, const wmNotifier *note)
void ED_region_header(const bContext *C, ARegion *region)
ScrArea * ED_screen_full_newspace(bContext *C, ScrArea *area, int type)
const rcti * ED_region_visible_rect(ARegion *region)
bool ED_operator_object_active(bContext *C)
bool ED_operator_editsurfcurve(bContext *C)
void ED_area_do_listen(wmSpaceTypeListenerParams *params)
bUserMenu ** ED_screen_user_menus_find(const bContext *C, uint *r_len)
void ED_screen_do_listen(bContext *C, const wmNotifier *note)
void ED_screens_init(bContext *C, Main *bmain, wmWindowManager *wm)
bUserMenuItem_Op * ED_screen_user_menu_item_find_operator(ListBase *lb, const wmOperatorType *ot, IDProperty *prop, const char *op_prop_enum, wmOperatorCallContext opcontext)
bool ED_operator_editcurve_3d(bContext *C)
bool ED_operator_objectmode(bContext *C)
void ED_region_header_init(ARegion *region)
bool ED_area_is_global(const ScrArea *area)
bool ED_operator_sequencer_active(bContext *C)
void ED_region_cache_draw_background(ARegion *region)
void ED_area_swapspace(bContext *C, ScrArea *sa1, ScrArea *sa2)
bScreen * ED_screen_animation_no_scrub(const wmWindowManager *wm)
bool ED_operator_scene_editable(bContext *C)
void ED_region_pixelspace(const ARegion *region)
bool ED_operator_asset_browsing_active(bContext *C)
void ED_area_offscreen_free(wmWindowManager *wm, wmWindow *win, ScrArea *area)
void ED_region_header_draw(const bContext *C, ARegion *region)
bool ED_operator_objectmode_with_view3d_poll_msg(bContext *C)
void ED_region_tag_redraw_no_rebuild(ARegion *region)
void ED_region_cache_draw_curfra_label(int framenr, float x, float y)
bool ED_operator_image_active(bContext *C)
ScrArea * ED_area_offscreen_create(wmWindow *win, eSpace_Type space_type)
void ED_operatortypes_screen()
void ED_screen_global_areas_refresh(wmWindow *win)
bool ED_operator_view3d_active(bContext *C)
void ED_area_tag_redraw_regiontype(ScrArea *area, int regiontype)
WorkSpaceLayout * ED_workspace_screen_change_ensure_unused_layout(Main *bmain, WorkSpace *workspace, WorkSpaceLayout *layout_new, const WorkSpaceLayout *layout_fallback_base, wmWindow *win) ATTR_NONNULL()
bool ED_screen_change(bContext *C, bScreen *screen)
Change the active screen.
bool ED_area_has_shared_border(ScrArea *a, ScrArea *b)
void ED_region_panels_layout_ex(const bContext *C, ARegion *region, ListBase *paneltypes, wmOperatorCallContext op_context, const char *contexts[], const char *category_override)
bool ED_operator_node_active(bContext *C)
bScreen * ED_screen_state_maximized_create(bContext *C)
bool ED_workspace_layout_delete(WorkSpace *workspace, WorkSpaceLayout *layout_old, bContext *C) ATTR_NONNULL()
void ED_screen_animation_timer(bContext *C, int redraws, int sync, int enable)
void ED_screen_restore_temp_type(bContext *C, ScrArea *area)
bool ED_operator_posemode_local(bContext *C)
bool ED_region_snap_size_apply(ARegion *region, int snap_flag)
bool ED_region_is_overlap(int spacetype, int regiontype)
void ED_region_header_with_button_sections(const bContext *C, ARegion *region, uiButtonSectionsAlign align)
bool ED_workspace_delete(WorkSpace *workspace, Main *bmain, bContext *C, wmWindowManager *wm) ATTR_NONNULL()
bool ED_operator_nla_active(bContext *C)
void ED_region_tag_redraw_partial(ARegion *region, const rcti *rct, bool rebuild)
bool ED_operator_object_active_local_editable_ex(bContext *C, const Object *ob)
bool ED_operator_screenactive_nobackground(bContext *C)
bool ED_operator_uvedit_space_image(bContext *C)
void ED_region_info_draw_multiline(ARegion *region, const char *text_array[], const float fill_color[4], bool full_redraw)
void ED_area_tag_region_size_update(ScrArea *area, ARegion *changed_region)
bool ED_operator_region_view3d_active(bContext *C)
void ED_screen_draw_edges(wmWindow *win)
bool ED_operator_object_active_editable(bContext *C)
bool ED_operator_posemode_exclusive(bContext *C)
WorkSpace * ED_workspace_add(Main *bmain, const char *name) ATTR_NONNULL()
void ED_region_visibility_change_update(bContext *C, ScrArea *area, ARegion *region)
int ED_region_generic_tools_region_snap_size(const ARegion *region, int size, int axis)
bScreen * ED_screen_animation_playing(const wmWindowManager *wm)
bUserMenuItem_Prop * ED_screen_user_menu_item_find_prop(ListBase *lb, const char *context_data_path, const char *prop_id, int prop_index)
void ED_region_do_layout(bContext *C, ARegion *region)
void ED_region_tag_redraw_cursor(ARegion *region)
bool ED_region_overlap_isect_xy(const ARegion *region, const int event_xy[2])
void ED_screen_exit(bContext *C, wmWindow *window, bScreen *screen)
bool ED_operator_editcurve(bContext *C)
void ED_area_type_hud_clear(wmWindowManager *wm, ScrArea *area_keep)
void ED_operatortypes_workspace()
bool ED_region_overlap_isect_x_with_margin(const ARegion *region, int event_x, int margin)
bool ED_operator_areaactive(bContext *C)
ScrArea * ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *area, short state)
bool ED_operator_editmesh_region_view3d(bContext *C)
bool ED_operator_file_browsing_active(bContext *C)
void ED_screen_user_menu_register()
void ED_area_update_region_sizes(wmWindowManager *wm, wmWindow *win, ScrArea *area)
void ED_region_visibility_change_update_animated(bContext *C, ScrArea *area, ARegion *region)
void ED_area_tag_refresh(ScrArea *area)
void ED_screen_user_menu_item_add_operator(ListBase *lb, const char *ui_name, const wmOperatorType *ot, const IDProperty *prop, const char *op_prop_enum, wmOperatorCallContext opcontext)
void ED_region_generic_tools_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
bool ED_operator_object_active_editable_mesh(bContext *C)
void ED_area_exit(bContext *C, ScrArea *area)
bool ED_operator_posemode_context(bContext *C)
bool ED_operator_posemode(bContext *C)
int ED_region_global_size_y()
bool ED_operator_editmball(bContext *C)
void ED_screen_animation_timer_update(bScreen *screen, int redraws)
void ED_screen_set_active_region(bContext *C, wmWindow *win, const int xy[2])
bool ED_operator_camera_poll(bContext *C)
void ED_area_do_refresh(bContext *C, ScrArea *area)
bool ED_operator_file_active(bContext *C)
blender::StringRefNull ED_area_name(const ScrArea *area)
bool ED_operator_editmesh_view3d(bContext *C)
AZone * ED_area_azones_update(ScrArea *area, const int mouse_xy[2])
void ED_screen_user_menu_item_add_prop(ListBase *lb, const char *ui_name, const char *context_data_path, const char *prop_id, int prop_index)
bool ED_operator_object_active_local_editable_posemode_exclusive(bContext *C)
void ED_region_panels_layout(const bContext *C, ARegion *region)
void ED_region_panels_init(wmWindowManager *wm, ARegion *region)
void ED_screen_user_menu_item_add_menu(ListBase *lb, const char *ui_name, const MenuType *mt)
bool ED_region_panel_category_gutter_calc_rect(const ARegion *region, rcti *r_region_gutter)
void ED_workspace_status_text(bContext *C, const char *str)
void ED_update_for_newframe(Main *bmain, Depsgraph *depsgraph)
void ED_region_image_metadata_panel_draw(ImBuf *ibuf, uiLayout *layout)
bool ED_operator_editsurf(bContext *C)
void ED_region_tag_redraw_editor_overlays(ARegion *region)
void ED_workspace_scene_data_sync(WorkSpaceInstanceHook *hook, Scene *scene) ATTR_NONNULL()
ScrArea void ED_screens_header_tools_menu_create(bContext *C, uiLayout *layout, void *arg)
WorkSpaceLayout * ED_workspace_layout_duplicate(Main *bmain, WorkSpace *workspace, const WorkSpaceLayout *layout_old, wmWindow *win) ATTR_NONNULL()
int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco)
void ED_region_header_draw_with_button_sections(const bContext *C, const ARegion *region, uiButtonSectionsAlign align)
void ED_area_do_msg_notify_tag_refresh(bContext *C, wmMsgSubscribeKey *msg_key, wmMsgSubscribeValue *msg_val)
void ED_region_visibility_change_update_ex(bContext *C, ScrArea *area, ARegion *region, bool is_hidden, bool do_init)
bool ED_operator_object_active_editable_ex(bContext *C, const Object *ob)
bool ED_operator_editlattice(bContext *C)
bool ED_operator_outliner_active_no_editobject(bContext *C)
void ED_region_do_draw(bContext *C, ARegion *region)
bool ED_operator_editmesh(bContext *C)
void ED_region_tag_redraw(ARegion *region)
bool ED_workspace_change(WorkSpace *workspace_new, bContext *C, wmWindowManager *wm, wmWindow *win) ATTR_NONNULL()
Change the active workspace.
void ED_region_message_subscribe(wmRegionMessageSubscribeParams *params)
void ED_region_grid_draw(ARegion *region, float zoomx, float zoomy, float x0, float y0)
bool ED_operator_uvedit(bContext *C)
bool ED_operator_outliner_active(bContext *C)
void ED_screens_region_flip_menu_create(bContext *C, uiLayout *layout, void *arg)
void ED_region_remove(bContext *C, ScrArea *area, ARegion *region)
bool ED_operator_object_active_editable_font(bContext *C)
bool ED_region_overlap_isect_y_with_margin(const ARegion *region, int event_y, int margin)
void ED_area_prevspace(bContext *C, ScrArea *area)
void ED_region_do_msg_notify_tag_redraw(bContext *C, wmMsgSubscribeKey *msg_key, wmMsgSubscribeValue *msg_val)
bool ED_operator_region_gizmo_active(bContext *C)
void ED_area_init(wmWindowManager *wm, wmWindow *win, ScrArea *area)
bool ED_operator_objectmode_poll_msg(bContext *C)
void ED_region_panels_ex(const bContext *C, ARegion *region, wmOperatorCallContext op_context, const char *contexts[])
bool ED_operator_buttons_active(bContext *C)
void ED_region_exit(bContext *C, ARegion *region)
void ED_region_panels_draw(const bContext *C, ARegion *region)
void ED_region_header_layout(const bContext *C, ARegion *region)
void ED_screen_user_menu_item_remove(ListBase *lb, bUserMenuItem *umi)
void ED_screen_full_prevspace(bContext *C, ScrArea *area)
Scene * ED_screen_scene_find_with_window(const bScreen *screen, const wmWindowManager *wm, wmWindow **r_window)
bUserMenuItem_Menu * ED_screen_user_menu_item_find_menu(ListBase *lb, const MenuType *mt)
void ED_area_type_hud_ensure(bContext *C, ScrArea *area)
@ SPACE_CONTEXT_CYCLE_NEXT
@ SPACE_CONTEXT_CYCLE_PREV
bool ED_operator_editfont(bContext *C)
void item_bool(std::string text, bool inverted, int icon1, int icon2=0)
WorkspaceStatus(bContext *C)
void item(std::string text, int icon1, int icon2=0)
void opmodal(std::string text, const wmOperatorType *ot, int propvalue, bool inverted=false)
local_group_size(16, 16) .push_constant(Type b
const Depsgraph * depsgraph