|
Blender V4.3
|
#include <cmath>#include <cstring>#include "MEM_guardedalloc.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_userdef_types.h"#include "BLI_blenlib.h"#include "BLI_utildefines.h"#include "BKE_context.hh"#include "BKE_global.hh"#include "BKE_icons.h"#include "BKE_image.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_main.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 "ED_clip.hh"#include "ED_node.hh"#include "ED_screen.hh"#include "ED_screen_types.hh"#include "RNA_access.hh"#include "RNA_enum_types.hh"#include "UI_interface.hh"#include "WM_message.hh"#include "WM_toolsystem.hh"#include "DEG_depsgraph_query.hh"#include "screen_intern.hh"Go to the source code of this file.
| void area_getoffsets | ( | ScrArea * | sa_a, |
| ScrArea * | sa_b, | ||
| eScreenDir | dir, | ||
| int * | r_offset1, | ||
| int * | r_offset2 ) |
Get alignment offset of adjacent areas. 'dir' value is like area_getorientation().
Definition at line 310 of file screen_edit.cc.
References BLI_assert, SCREEN_DIR_E, SCREEN_DIR_N, SCREEN_DIR_NONE, SCREEN_DIR_S, SCREEN_DIR_W, ScrArea::v1, ScrArea::v2, ScrArea::v3, ScrArea::v4, ScrVert::vec, vec2s::x, and vec2s::y.
Referenced by area_docking_apply(), screen_area_join_ex(), screen_areas_can_align(), and screen_draw_join_highlight().
| eScreenDir area_getorientation | ( | ScrArea * | sa_a, |
| ScrArea * | sa_b ) |
with sa_a as center, sa_b is located at: 0=W, 1=N, 2=E, 3=S -1 = not valid check. used with join operator.
Definition at line 270 of file screen_edit.cc.
References AREAJOINTOLERANCEX, AREAJOINTOLERANCEY, int, SCREEN_DIR_NONE, ScrArea::v1, ScrArea::v3, ScrVert::vec, vec2s::x, and vec2s::y.
Referenced by area_close_poll(), area_docking_apply(), area_join_exec(), area_join_init(), area_join_update_data(), ED_area_has_shared_border(), screen_area_close(), screen_area_join_aligned(), screen_area_join_ex(), and screen_area_options_invoke().
| ScrArea * area_split | ( | const wmWindow * | win, |
| bScreen * | screen, | ||
| ScrArea * | area, | ||
| const eScreenAxis | dir_axis, | ||
| const float | fac, | ||
| const bool | merge ) |
Definition at line 95 of file screen_edit.cc.
References BKE_screen_remove_double_scredges(), BKE_screen_remove_double_scrverts(), BKE_screen_remove_unused_scredges(), ED_area_data_copy(), merge(), screen_addarea(), SCREEN_AXIS_H, screen_geom_edge_add(), screen_geom_find_area_split_point(), screen_geom_vertex_add(), and WM_window_rect_calc().
Referenced by area_docking_apply(), area_join_modal(), area_split_apply(), and screen_area_trim().
Definition at line 868 of file screen_edit.cc.
References CTX_wm_area(), CTX_wm_area_set(), CTX_wm_manager(), CTX_wm_window(), ED_region_exit(), LISTBASE_FOREACH, WM_event_modal_handler_area_replace(), and WM_event_remove_handlers().
Referenced by ED_area_newspace(), ED_area_swapspace(), ED_screen_exit(), screen_delarea(), and WM_event_remove_handlers().
Definition at line 945 of file screen_edit.cc.
References EnumPropertyItem::icon, RNA_enum_from_value(), and rna_enum_space_type_items.
Referenced by screen_draw_area_drag_tip().
| blender::StringRefNull ED_area_name | ( | const ScrArea * | area | ) |
Definition at line 934 of file screen_edit.cc.
References EnumPropertyItem::name, RNA_enum_from_value(), and rna_enum_space_type_items.
Referenced by screen_draw_area_drag_tip(), and WM_window_title().
Definition at line 826 of file screen_edit.cc.
References CTX_wm_manager(), CTX_wm_region(), CTX_wm_region_set(), CTX_wm_window(), MEM_SAFE_FREE, wmWindowManager::message_bus, RGN_TYPE_TEMPORARY, WM_draw_region_free(), WM_event_modal_handler_region_replace(), WM_event_remove_handlers(), WM_event_timer_remove(), WM_event_ui_handler_region_popup_replace(), and WM_msgbus_clear_by_owner().
Referenced by ED_area_exit(), ED_region_remove(), ED_screen_exit(), and ui_region_temp_remove().
Utility to exit and free an area-region. Screen level regions (menus/popups) need to be treated slightly differently, see ui_region_temp_remove().
Definition at line 817 of file screen_edit.cc.
References BKE_area_region_free(), BLI_freelinkN(), and ED_region_exit().
Referenced by region_quadview_exec().
redraws: uses defines from stime->redraws
| enable | 1 - forward on, -1 - backwards on, 0 - off. |
Definition at line 1756 of file screen_edit.cc.
References ANIMPLAY_FLAG_NO_SYNC, ANIMPLAY_FLAG_REVERSE, ANIMPLAY_FLAG_SYNC, bScreen::animtimer, CTX_data_scene(), CTX_wm_area(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_screen(), CTX_wm_window(), DEG_id_tag_update(), ED_screen_animation_playing(), ELEM, ScreenAnimData::flag, FPS, ScreenAnimData::from_anim_edit, ID_RECALC_FRAME_CHANGE, MEM_callocN, NC_SCREEN, ND_ANIMPLAY, PRVRANGEON, ScreenAnimData::redraws, ScreenAnimData::region, ScreenAnimData::sfra, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, TIMER0, WM_event_add_notifier(), WM_event_timer_add(), and WM_event_timer_remove().
Referenced by ED_screen_animation_play().
Definition at line 1842 of file screen_edit.cc.
References wmTimer::customdata, ScreenAnimData::redraws, ScreenAnimData::region, TIME_REGION, and time_top_left_3dwindow().
Definition at line 1107 of file screen_edit.cc.
References AZONE_REGION, CTX_wm_area(), CTX_wm_screen(), CTX_wm_window(), ED_area_actionzone_find_xy(), wmWindow::eventstate, LISTBASE_FOREACH, AZone::type, and wmEvent::xy.
Referenced by blender::ed::outliner::outliner_highlight_update_invoke().
| ScrArea * ED_screen_area_find_with_spacedata | ( | const bScreen * | screen, |
| const SpaceLink * | sl, | ||
| const bool | only_visible ) |
Definition at line 1973 of file screen_edit.cc.
References BLI_findindex(), and LISTBASE_FOREACH.
Change the active screen.
Operator call, WM + Window + screen already existed before
Definition at line 1320 of file screen_edit.cc.
References BKE_workspace_active_get(), BKE_workspace_layout_find(), BKE_workspace_layout_screen_get(), CTX_data_main(), CTX_wm_screen(), CTX_wm_window(), ED_workspace_screen_change_ensure_unused_layout(), screen_change_prepare(), screen_change_update(), WM_window_set_active_screen(), and wmWindow::workspace_hook.
Referenced by ED_screen_full_newspace(), ED_screen_state_toggle(), ED_workspace_layout_cycle(), wm_event_do_notifiers(), WM_window_open(), and workspace_layout_delete_doit().
| void ED_screen_do_listen | ( | bContext * | C, |
| const wmNotifier * | note ) |
Definition at line 636 of file screen_edit.cc.
References wmNotifier::action, wmNotifier::category, CTX_wm_screen(), CTX_wm_window(), wmNotifier::data, NA_EDITED, NC_SCENE, NC_SCREEN, NC_WINDOW, NC_WM, ND_FILEREAD, ND_MODE, and region_cursor_set().
Referenced by wm_event_do_notifiers().
| void ED_screen_ensure_updated | ( | bContext * | C, |
| wmWindowManager * | wm, | ||
| wmWindow * | win ) |
Definition at line 810 of file screen_edit.cc.
References screen_refresh().
Referenced by wm_draw_update().
Definition at line 890 of file screen_edit.cc.
References ScrAreaMap::areabase, BKE_sound_stop_scene(), CTX_data_depsgraph_pointer(), CTX_wm_manager(), CTX_wm_window(), CTX_wm_window_set(), DEG_get_evaluated_id(), depsgraph, ED_area_exit(), ED_region_exit(), wmWindow::global_areas, LISTBASE_FOREACH, WM_event_timer_remove(), WM_window_get_active_scene(), and WM_window_is_temp_screen().
Referenced by screen_change_prepare(), WM_exit_ex(), wm_file_read_setup_wm_init(), and wm_window_close().
Definition at line 1428 of file screen_edit.cc.
References bScreen::areabase, BLI_assert, ED_area_newspace(), ED_screen_change(), ED_screen_state_maximized_create(), ListBase::first, SpaceLink::link_flag, SPACE_EMPTY, SPACE_FLAG_TYPE_TEMPORARY, SPACE_FLAG_TYPE_WAS_ACTIVE, ScrArea::spacedata, and ScrArea::spacetype.
Referenced by ED_screen_temp_space_open(), and render_view_open().
was_prev_temp for the case previous space was a temporary full-screen as well
Definition at line 1461 of file screen_edit.cc.
References AREA_FLAG_STACKED_FULLSCREEN, BLI_assert, ED_area_prevspace(), and ED_screen_restore_temp_type().
Referenced by ED_screen_full_restore(), fullscreen_back_exec(), render_view_cancel_exec(), render_view_show_invoke(), and wm_handler_fileselect_do().
Restore a screen / area back to default operation, after temp full-screen modes.
Definition at line 1490 of file screen_edit.cc.
References CTX_wm_screen(), CTX_wm_window(), ED_screen_full_prevspace(), ED_screen_state_toggle(), SpaceLink::link_flag, SpaceLink::next, SCREENMAXIMIZED, SPACE_FLAG_TYPE_TEMPORARY, and state.
Referenced by ED_workspace_layout_cycle().
| void ED_screen_global_areas_refresh | ( | wmWindow * | win | ) |
Definition at line 1255 of file screen_edit.cc.
References ScrAreaMap::areabase, BKE_screen_area_map_free(), BKE_workspace_active_screen_get(), ListBase::first, wmWindow::global_areas, wmWindow::parent, screen_global_statusbar_area_refresh(), screen_global_topbar_area_refresh(), and wmWindow::workspace_hook.
Referenced by screen_refresh(), and wm_window_ghostwindow_ensure().
| void ED_screen_global_areas_sync | ( | wmWindow * | win | ) |
Definition at line 1238 of file screen_edit.cc.
References ScrAreaMap::areabase, BKE_workspace_active_screen_get(), wmWindow::global_areas, LISTBASE_FOREACH, SCREEN_COLLAPSE_STATUSBAR, SPACE_STATUSBAR, and wmWindow::workspace_hook.
Referenced by area_move_apply_do().
| void ED_screen_refresh | ( | bContext * | C, |
| wmWindowManager * | wm, | ||
| wmWindow * | win ) |
Make this screen usable. for file read and first use, for scaling window, area moves.
Definition at line 784 of file screen_edit.cc.
References screen_refresh().
Referenced by ED_screens_init(), screen_change_update(), wm_debug_menu_exec(), and WM_window_open().
Definition at line 1474 of file screen_edit.cc.
References CTX_wm_window(), ED_area_prevspace(), ED_area_tag_redraw(), ED_screen_state_toggle(), SpaceLink::link_flag, SCREENMAXIMIZED, and SPACE_FLAG_TYPE_TEMPORARY.
Referenced by ED_screen_full_prevspace().
| void ED_screen_scene_change | ( | bContext * | C, |
| wmWindow * | win, | ||
| Scene * | scene, | ||
| const bool | refresh_toolsystem ) |
Definition at line 1381 of file screen_edit.cc.
References BKE_view_layer_active_object_get(), CTX_data_scene_set(), CTX_wm_window(), CTX_wm_workspace(), LISTBASE_FOREACH, WorkSpace::object_mode, scene, wmWindow::scene, screen_set_3dview_camera(), SPACE_VIEW3D, UNUSED_VARS, WM_toolsystem_refresh_screen_window(), WM_window_ensure_active_view_layer(), WM_window_get_active_screen(), and WM_window_get_active_view_layer().
Referenced by WM_window_open(), and WM_window_set_active_scene().
| Scene * ED_screen_scene_find | ( | const bScreen * | screen, |
| const wmWindowManager * | wm ) |
Definition at line 1994 of file screen_edit.cc.
References ED_screen_scene_find_with_window().
| Scene * ED_screen_scene_find_with_window | ( | const bScreen * | screen, |
| const wmWindowManager * | wm, | ||
| wmWindow ** | r_window ) |
Find the scene displayed in screen.
Definition at line 1956 of file screen_edit.cc.
References LISTBASE_FOREACH, wmWindowManager::windows, WM_window_get_active_scene(), and WM_window_get_active_screen().
Referenced by ED_screen_scene_find().
Called in wm_event_system.cc. sets state vars in screen, cursors. event type is mouse move.
Definition at line 1005 of file screen_edit.cc.
References BORDERPADDING, ED_area_azones_update(), ED_region_contains_xy(), ED_region_tag_redraw_no_rebuild(), ED_screen_areas_iter, ELEM, ARegion::gizmo_map, LISTBASE_FOREACH, region_cursor_set_ex(), RGN_TYPE_HEADER, RGN_TYPE_TOOL_HEADER, screen_cursor_set(), ARegion::type, UI_screen_free_active_but_highlight(), UNUSED_VARS, WM_cursor_test_motion_and_update(), WM_gizmo_highlight_set(), WM_window_get_active_screen(), WM_window_status_area_tag_redraw(), and xy.
Referenced by ED_screens_init(), and wm_event_do_handlers().
Create a new temporary screen with a maximized, empty area. This can be closed with ED_screen_state_toggle().
Use this to just create a new maximized screen/area, rather than maximizing an existing one. Otherwise, maximize with ED_screen_state_toggle().
Definition at line 1599 of file screen_edit.cc.
References CTX_wm_window(), screen_state_to_nonnormal(), and SCREENMAXIMIZED.
Referenced by ED_screen_full_newspace().
This function toggles: if area is maximized/full then the parent will be restored.
Use ED_screen_state_maximized_create() if you do not want the toggle behavior when changing to a maximized area. I.e. if you just want to open a new maximized screen/area, not maximize a specific area. In the former case, space data of the maximized and non-maximized area should be independent, in the latter it should be the same.
Definition at line 1604 of file screen_edit.cc.
References bScreen::animtimer, bScreen::areabase, ScrAreaMap::areabase, BKE_workspace_layout_remove(), BKE_workspace_layout_screen_get(), BLI_assert, CTX_data_main(), CTX_wm_area(), CTX_wm_area_set(), CTX_wm_manager(), CTX_wm_screen(), ED_area_data_swap(), ED_area_status_text(), ED_area_tag_refresh(), ED_screen_change(), ED_workspace_status_text(), ListBase::first, bScreen::flag, ScrArea::full, ScrArea::global, wmWindow::global_areas, LISTBASE_FOREACH, screen_state_to_nonnormal(), SCREENFULL, SCREENNORMAL, state, UI_blocklist_free(), WM_event_timer_remove(), WM_window_get_active_layout(), WM_window_get_active_screen(), and WM_window_get_active_workspace().
Referenced by ED_screen_full_restore(), ED_screen_restore_temp_type(), render_view_cancel_exec(), and screen_maximize_area_exec().
Definition at line 1880 of file screen_edit.cc.
References BKE_image_is_stereo(), View3D::camera, SpaceSeq::draw_flag, ED_node_is_compositor(), ELEM, ImageUser::flag, SpaceNode::flag, IMA_SHOW_STEREO, SpaceImage::image, SpaceImage::iuser, LISTBASE_FOREACH, RegionView3D::persp, R_MULTIVIEW, RGN_TYPE_WINDOW, RV3D_CAMOB, SEQ_DRAW_BACKDROP, SEQ_VIEW_PREVIEW, SEQ_VIEW_SEQUENCE_PREVIEW, SNODE_BACKDRAW, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, View3D::stereo3d_camera, STEREO_3D_ID, and SpaceSeq::view.
Referenced by WM_stereo3d_enabled().
| ScrArea * ED_screen_temp_space_open | ( | bContext * | C, |
| const char * | title, | ||
| const rcti * | rect_unscaled, | ||
| eSpace_Type | space_type, | ||
| int | display_type, | ||
| bool | dialog ) |
Definition at line 1711 of file screen_edit.cc.
References AREA_FLAG_STACKED_FULLSCREEN, CTX_wm_area(), ED_area_newspace(), ED_screen_full_newspace(), ScrArea::full, SPACE_FLAG_TYPE_TEMPORARY, USER_TEMP_SPACE_DISPLAY_FULLSCREEN, USER_TEMP_SPACE_DISPLAY_WINDOW, WIN_ALIGN_LOCATION_CENTER, and WM_window_open().
| wmWindow * ED_screen_window_find | ( | const bScreen * | screen, |
| const wmWindowManager * | wm ) |
Definition at line 1999 of file screen_edit.cc.
References LISTBASE_FOREACH, wmWindowManager::windows, and WM_window_get_active_screen().
| void ED_screens_init | ( | bContext * | C, |
| Main * | bmain, | ||
| wmWindowManager * | wm ) |
File read, set all screens, ....
Definition at line 789 of file screen_edit.cc.
References BKE_screen_header_alignment_reset(), BKE_workspace_active_get(), BKE_workspace_active_set(), ED_screen_refresh(), ED_screen_set_active_region(), ListBase::first, LISTBASE_FOREACH, Main::screens, USER_HEADER_FROM_PREF, wmWindowManager::windows, and Main::workspaces.
Referenced by WM_check().
| void ED_update_for_newframe | ( | Main * | bmain, |
| Depsgraph * | depsgraph ) |
Results in fully updated anim system.
Definition at line 1856 of file screen_edit.cc.
References BKE_scene_graph_update_for_newframe(), BKE_screen_view3d_scene_sync(), camera, DEG_get_input_scene(), DEG_id_tag_update(), DEG_time_tag_update(), depsgraph, ED_clip_update_frame(), ID_RECALC_SYNC_TO_EVAL, LISTBASE_FOREACH, and Main::screens.
Referenced by bc_update_scene(), dynamicPaint_bakeImageSequence(), ED_scene_change_update(), fluid_bake_sequence(), fluid_free_startjob(), render_endjob(), screen_animation_step_invoke(), screen_render_exec(), wm_event_do_handlers(), and wm_event_do_notifiers().
|
static |
Definition at line 622 of file screen_edit.cc.
References ED_screen_areas_iter, LISTBASE_FOREACH, region_cursor_set_ex(), and WM_window_get_active_screen().
Referenced by ED_screen_do_listen().
|
static |
Definition at line 613 of file screen_edit.cc.
References BLI_assert, ED_region_cursor_set(), wmWindow::tag_cursor_refresh, and WM_window_get_active_screen().
Referenced by ED_screen_set_active_region(), and region_cursor_set().
|
static |
Definition at line 664 of file screen_edit.cc.
Referenced by screen_regions_poll().
Empty screen, with 1 dummy area without space-data. Uses window size.
Definition at line 193 of file screen_edit.cc.
References BKE_libblock_alloc(), bScreen::do_refresh, ID_SCR, screen_addarea(), screen_geom_edge_add(), screen_geom_vertex_add(), SPACE_EMPTY, TIME_ALL_3D_WIN, TIME_ALL_ANIM_WIN, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by ED_workspace_layout_add().
|
static |
Definition at line 73 of file screen_edit.cc.
References AREAMAP_FROM_SCREEN, and screen_addarea_ex().
Referenced by area_split(), and screen_add().
|
static |
Definition at line 54 of file screen_edit.cc.
References ScrAreaMap::areabase, BLI_addtail(), MEM_callocN, and ScrArea::v1.
Referenced by screen_addarea(), and screen_area_create_with_geometry().
Close a screen area, allowing most-aligned neighbor to take its place.
Definition at line 567 of file screen_edit.cc.
References area_getorientation(), float, LISTBASE_FOREACH, screen_area_join_ex(), SCREEN_DIR_IS_VERTICAL, and SCREEN_DIR_NONE.
Referenced by area_close_exec(), area_docking_apply(), area_join_modal(), and screen_area_join_ex().
|
static |
Add an area and geometry (screen-edges and -vertices) for it to area_map, with coordinates/dimensions matching rect.
Definition at line 1133 of file screen_edit.cc.
References screen_addarea_ex(), screen_geom_edge_add_ex(), screen_geom_vertex_add_ex(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by screen_global_area_refresh().
Join any two neighboring areas. Might involve complex changes.
Definition at line 562 of file screen_edit.cc.
References screen_area_join_ex().
Referenced by area_docking_apply(), area_join_apply(), and area_split_cancel().
|
static |
Definition at line 462 of file screen_edit.cc.
References area_getorientation(), BKE_icon_changed(), BKE_screen_remove_double_scrverts(), screen_areas_align(), screen_delarea(), SCREEN_DIR_E, SCREEN_DIR_N, SCREEN_DIR_S, SCREEN_DIR_W, screen_geom_edge_add(), ScrArea::v1, ScrArea::v2, ScrArea::v3, and ScrArea::v4.
Referenced by screen_area_join_ex().
|
static |
Definition at line 531 of file screen_edit.cc.
References area_getoffsets(), area_getorientation(), BKE_icon_changed(), screen_area_close(), screen_area_join_aligned(), screen_area_trim(), and SCREEN_DIR_NONE.
Referenced by screen_area_close(), and screen_area_join().
Definition at line 1150 of file screen_edit.cc.
References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by screen_global_area_refresh().
| void screen_area_spacelink_add | ( | const Scene * | scene, |
| ScrArea * | area, | ||
| eSpace_Type | space_type ) |
Definition at line 599 of file screen_edit.cc.
References BKE_spacetype_from_id(), BLI_addhead(), BLI_listbase_clear(), SpaceType::create, and SpaceLink::regionbase.
Referenced by area_init_type_fallback(), ED_area_offscreen_create(), and screen_global_area_refresh().
|
static |
Definition at line 505 of file screen_edit.cc.
References abs(), area_split(), AREAJOINTOLERANCEX, AREAJOINTOLERANCEY, CTX_wm_window(), float, SCREEN_AXIS_H, SCREEN_AXIS_V, and SCREEN_DIR_IS_VERTICAL.
Referenced by screen_area_join_ex().
|
static |
Definition at line 422 of file screen_edit.cc.
References CTX_wm_window(), screen_areas_can_align(), SCREEN_DIR_IS_HORIZONTAL, screen_verts_halign(), screen_verts_valign(), ScrArea::v1, ScrArea::v2, ScrArea::v3, ScrArea::v4, ScrVert::vec, vec2s::x, and vec2s::y.
Referenced by screen_area_join_aligned().
|
static |
Definition at line 369 of file screen_edit.cc.
References abs(), area_getoffsets(), AREAJOINTOLERANCEX, AREAJOINTOLERANCEY, ELEM, LISTBASE_FOREACH, RPT_ERROR, SCREEN_DIR_IS_HORIZONTAL, SCREEN_DIR_IS_VERTICAL, SCREEN_DIR_NONE, ScrArea::v1, ScrArea::v3, ScrVert::vec, WM_report(), vec2s::x, and vec2s::y.
Referenced by screen_areas_align().
| void screen_change_prepare | ( | bScreen * | screen_old, |
| bScreen * | screen_new, | ||
| Main * | bmain, | ||
| bContext * | C, | ||
| wmWindow * | win ) |
Definition at line 1274 of file screen_edit.cc.
References bScreen::animtimer, bScreen::areabase, BLI_assert, BLI_findindex(), CTX_wm_manager(), ED_screen_exit(), LISTBASE_FOREACH, wmWindow::modalhandlers, Main::screens, UNUSED_VARS_NDEBUG, WM_event_remove_area_handler(), and WM_event_timer_sleep().
Referenced by ED_screen_change(), and ED_workspace_change().
Definition at line 1302 of file screen_edit.cc.
References BKE_screen_view3d_scene_sync(), BKE_workspace_active_get(), BKE_workspace_layout_find(), CTX_wm_manager(), CTX_wm_window_set(), ED_screen_refresh(), NC_SCREEN, NC_WINDOW, ND_LAYOUTSET, WM_event_add_mousemove(), WM_event_add_notifier(), WM_window_get_active_scene(), and wmWindow::workspace_hook.
Referenced by ED_screen_change(), and ED_workspace_change().
Definition at line 959 of file screen_edit.cc.
References AE_LEFT_TO_TOPRIGHT, AE_RIGHT_TO_TOPLEFT, AZONE_AREA, AZONE_REGION, AZONE_REGION_SCROLL, ED_area_actionzone_find_xy(), AZone::edge, ELEM, LISTBASE_FOREACH, screen_geom_edge_is_horizontal(), screen_geom_find_active_scredge(), AZone::type, WM_CURSOR_DEFAULT, WM_CURSOR_EDIT, WM_cursor_set(), WM_CURSOR_X_MOVE, WM_CURSOR_Y_MOVE, WM_window_get_active_screen(), and xy.
Referenced by ED_screen_set_active_region().
Definition at line 215 of file screen_edit.cc.
References BKE_screen_free_data(), BKE_screen_sort_scrvert(), BLI_duplicatelist(), BLI_listbase_clear(), ED_area_data_copy(), LISTBASE_FOREACH, ScrVert::newv, ScrArea::next, ScrVert::next, and ScrArea::v1.
Referenced by ED_workspace_layout_duplicate().
Definition at line 84 of file screen_edit.cc.
References BKE_screen_area_free(), BLI_remlink(), ED_area_exit(), and MEM_freeN().
Referenced by screen_area_join_aligned().
|
static |
Definition at line 1162 of file screen_edit.cc.
References ScrAreaMap::areabase, wmWindow::global_areas, LISTBASE_FOREACH, MEM_callocN, screen_area_create_with_geometry(), screen_area_set_geometry_rect(), screen_area_spacelink_add(), SCREENFULL, ScrGlobalAreaData::size_max, and WM_window_get_active_scene().
Referenced by screen_global_statusbar_area_refresh(), and screen_global_topbar_area_refresh().
|
static |
Definition at line 1205 of file screen_edit.cc.
References ceilf, ED_area_headersize(), int, and UI_SCALE_FAC.
Referenced by screen_global_statusbar_area_refresh(), and screen_global_topbar_area_refresh().
Definition at line 1223 of file screen_edit.cc.
References BLI_rcti_init(), GLOBAL_AREA_ALIGN_BOTTOM, SCREEN_COLLAPSE_STATUSBAR, screen_global_area_refresh(), screen_global_header_size(), SPACE_STATUSBAR, WM_window_native_pixel_size(), rcti::ymax, and rcti::ymin.
Referenced by ED_screen_global_areas_refresh().
Definition at line 1210 of file screen_edit.cc.
References BLI_rcti_init(), GLOBAL_AREA_ALIGN_TOP, screen_global_area_refresh(), screen_global_header_size(), size(), SPACE_TOPBAR, WM_window_native_pixel_size(), rcti::ymax, and rcti::ymin.
Referenced by ED_screen_global_areas_refresh().
Prepare a newly created screen for initializing it as active screen.
Definition at line 263 of file screen_edit.cc.
References bScreen::do_draw, bScreen::do_refresh, bScreen::winid, and wmWindow::winid.
|
static |
| force_full_refresh | If false, a full refresh will only be performed if the screen is tagged for refresh (bScreen.do_refresh), or region polling changes require a refresh. |
Definition at line 732 of file screen_edit.cc.
References ED_area_init(), ED_screen_areas_iter, ed_screen_context(), ED_screen_global_areas_refresh(), G, G_DEBUG_EVENTS, wmWindow::ghostwin, printf, screen_geom_vertices_scale(), screen_regions_poll(), wmWindow::winid, WM_event_timer_sleep(), WM_window_get_active_screen(), and WM_window_set_dpi().
Referenced by ED_screen_ensure_updated(), and ED_screen_refresh().
Definition at line 686 of file screen_edit.cc.
References CTX_wm_area(), CTX_wm_area_set(), CTX_wm_region(), CTX_wm_region_set(), CTX_wm_window(), CTX_wm_window_set(), ED_region_visibility_change_update(), ED_screen_areas_iter, LISTBASE_FOREACH, region_poll(), and RGN_FLAG_POLL_FAILED.
Referenced by screen_refresh().
|
static |
Definition at line 1346 of file screen_edit.cc.
References BKE_screen_view3d_sync(), BKE_view_layer_base_find(), BKE_view_layer_camera_find(), BKE_view_layer_synced_ensure(), View3D::camera, LISTBASE_FOREACH, RegionView3D::persp, View3D::regionbase, RGN_TYPE_WINDOW, RV3D_CAMOB, and RV3D_PERSP.
Referenced by ED_screen_scene_change().
|
static |
| toggle_area | If this is set, its space data will be swapped with the one of the new empty area, when toggling back it can be swapped back again. |
Definition at line 1524 of file screen_edit.cc.
References bScreen::animtimer, ScrAreaMap::areabase, BKE_workspace_layout_screen_get(), BLI_assert, CTX_data_main(), ED_area_data_swap(), ED_area_tag_refresh(), ED_workspace_layout_add(), ELEM, bScreen::flag, ScrArea::flag, ScrArea::full, GLOBAL_AREA_IS_HIDDEN, wmWindow::global_areas, bScreen::id, LISTBASE_FOREACH, MAX_ID_NAME, ID::name, bScreen::redraws_flag, ScrArea::regionbase, RGN_FLAG_HIDDEN, RGN_TYPE_ASSET_SHELF, RGN_TYPE_ASSET_SHELF_HEADER, RGN_TYPE_EXECUTE, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_NAV_BAR, RGN_TYPE_TOOL_HEADER, RGN_TYPE_TOOLS, RGN_TYPE_UI, SCREENFULL, SCREENMAXIMIZED, SNPRINTF, bScreen::state, state, bScreen::temp, WM_window_get_active_screen(), and WM_window_get_active_workspace().
Referenced by ED_screen_state_maximized_create(), and ED_screen_state_toggle().
|
static |
Definition at line 341 of file screen_edit.cc.
References ED_screen_verts_iter.
Referenced by screen_areas_align().
|
static |
Definition at line 355 of file screen_edit.cc.
References ED_screen_verts_iter.
Referenced by screen_areas_align().
Definition at line 1821 of file screen_edit.cc.
References LISTBASE_FOREACH, min, RGN_TYPE_WINDOW, SPACE_VIEW3D, ARegion::winrct, and rcti::xmin.
Referenced by ED_screen_animation_timer_update().