Blender
V3.3
|
#include <math.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "DNA_workspace_types.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_icons.h"
#include "BKE_image.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_sound.h"
#include "BKE_workspace.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_clip.h"
#include "ED_node.h"
#include "ED_screen.h"
#include "ED_screen_types.h"
#include "UI_interface.h"
#include "WM_message.h"
#include "WM_toolsystem.h"
#include "DEG_depsgraph_query.h"
#include "screen_intern.h"
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 305 of file screen_edit.c.
References BLI_assert, NULL, 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 screen_area_join_aligned(), screen_area_join_ex(), 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 265 of file screen_edit.c.
References AREAJOINTOLERANCEX, AREAJOINTOLERANCEY, MAX2, MIN2, NULL, SCREEN_DIR_NONE, ScrArea::v1, ScrArea::v2, ScrArea::v3, ScrArea::v4, ScrVert::vec, vec2s::x, and vec2s::y.
Referenced by area_close_poll(), area_join_modal(), ED_area_has_shared_border(), screen_area_close(), screen_area_join_aligned(), screen_area_join_ex(), screen_area_options_invoke(), and screen_draw_join_highlight().
ScrArea* area_split | ( | const wmWindow * | win, |
bScreen * | screen, | ||
ScrArea * | area, | ||
const eScreenAxis | dir_axis, | ||
const float | fac, | ||
const bool | merge | ||
) |
Definition at line 92 of file screen_edit.c.
References blender::compositor::area(), BKE_screen_remove_double_scredges(), BKE_screen_remove_double_scrverts(), BKE_screen_remove_unused_scredges(), ED_area_data_copy(), merge(), NULL, screen_addarea(), SCREEN_AXIS_H, screen_geom_edge_add(), screen_geom_find_area_split_point(), screen_geom_vertex_add(), blender::io::alembic::split(), and WM_window_rect_calc().
Referenced by area_split_apply(), and screen_area_trim().
Definition at line 714 of file screen_edit.c.
References blender::compositor::area(), C, CTX_wm_area(), CTX_wm_area_set(), CTX_wm_manager(), CTX_wm_window(), ED_region_exit(), LISTBASE_FOREACH, NULL, 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().
Update frame rate info for viewport drawing.
Definition at line 1570 of file screen_edit.c.
References bScreen::animtimer, C, CTX_data_scene(), CTX_wm_screen(), Scene::fps_info, ScreenFrameRateInfo::lredrawtime, wmTimer::ltime, MEM_callocN, MEM_SAFE_FREE, NULL, ScreenFrameRateInfo::redrawtime, scene, and USER_SHOW_FPS.
Referenced by screen_animation_step_invoke().
Definition at line 686 of file screen_edit.c.
References C, CTX_wm_manager(), CTX_wm_region(), CTX_wm_region_set(), CTX_wm_window(), ARegionType::exit, ARegion::handlers, ARegion::headerstr, MEM_SAFE_FREE, wmWindowManager::message_bus, NULL, ARegion::regiontimer, ARegion::type, WM_draw_region_free(), WM_event_modal_handler_region_replace(), WM_event_remove_handlers(), WM_event_remove_timer(), 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 677 of file screen_edit.c.
References blender::compositor::area(), BKE_area_region_free(), BLI_freelinkN(), C, and ED_region_exit().
Referenced by file_ensure_valid_region_state(), and region_quadview_exec().
redraws: uses defines from stime->redraws
enable | 1 - forward on, -1 - backwards on, 0 - off. |
Definition at line 1595 of file screen_edit.c.
References ANIMPLAY_FLAG_NO_SYNC, ANIMPLAY_FLAG_REVERSE, ANIMPLAY_FLAG_SYNC, bScreen::animtimer, blender::compositor::area(), C, RenderData::cfra, CTX_data_scene(), CTX_wm_area(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_screen(), CTX_wm_window(), wmTimer::customdata, DEG_id_tag_update(), ED_screen_animation_playing(), ELEM, ScreenAnimData::flag, FPS, ScreenAnimData::from_anim_edit, Scene::id, ID_RECALC_FRAME_CHANGE, MEM_callocN, NC_SCREEN, ND_ANIMPLAY, NULL, PRVRANGEON, RenderData::psfra, Scene::r, ScreenAnimData::redraws, ScreenAnimData::region, scene, ScreenAnimData::sfra, RenderData::sfra, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, TIMER0, WM_event_add_notifier(), WM_event_add_timer(), and WM_event_remove_timer().
Referenced by ED_screen_animation_play().
Definition at line 1680 of file screen_edit.c.
References bScreen::animtimer, wmTimer::customdata, NULL, ScreenAnimData::redraws, ScreenAnimData::region, TIME_REGION, and time_top_left_3dwindow().
int ED_screen_area_active | ( | const bContext * | C | ) |
Definition at line 924 of file screen_edit.c.
References bScreen::active_region, blender::compositor::area(), AZONE_REGION, C, CTX_wm_area(), CTX_wm_screen(), CTX_wm_window(), ED_area_actionzone_find_xy(), wmWindow::eventstate, LISTBASE_FOREACH, AZone::type, and wmEvent::xy.
ScrArea* ED_screen_area_find_with_spacedata | ( | const bScreen * | screen, |
const SpaceLink * | sl, | ||
const bool | only_visible | ||
) |
Definition at line 1810 of file screen_edit.c.
References blender::compositor::area(), bScreen::areabase, BLI_findindex(), LISTBASE_FOREACH, and NULL.
Change the active screen.
Operator call, WM + Window + screen already existed before
Definition at line 1135 of file screen_edit.c.
References BKE_workspace_active_get(), BKE_workspace_layout_find(), BKE_workspace_layout_screen_get(), C, 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, |
wmNotifier * | note | ||
) |
Definition at line 583 of file screen_edit.c.
References wmNotifier::action, C, wmNotifier::category, CTX_wm_screen(), CTX_wm_window(), wmNotifier::data, bScreen::do_draw, bScreen::do_refresh, 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 | ( | wmWindowManager * | wm, |
wmWindow * | win, | ||
bScreen * | screen | ||
) |
Definition at line 670 of file screen_edit.c.
References bScreen::do_refresh, and ED_screen_refresh().
Referenced by wm_draw_update().
Definition at line 736 of file screen_edit.c.
References bScreen::active_region, bScreen::animtimer, blender::compositor::area(), bScreen::areabase, ScrAreaMap::areabase, BKE_sound_stop_scene(), C, 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, Scene::id, LISTBASE_FOREACH, NULL, bScreen::regionbase, scene, bScreen::scrubbing, bScreen::winid, WM_event_remove_timer(), WM_window_get_active_scene(), and WM_window_is_temp_screen().
Referenced by screen_change_prepare(), WM_exit_ex(), wm_window_close(), and wm_window_match_init().
Definition at line 1242 of file screen_edit.c.
References blender::compositor::area(), bScreen::areabase, BLI_assert, C, ED_area_newspace(), ED_screen_change(), ED_screen_state_maximized_create(), ListBase::first, SpaceLink::link_flag, NULL, SPACE_EMPTY, SPACE_FLAG_TYPE_TEMPORARY, SPACE_FLAG_TYPE_WAS_ACTIVE, ScrArea::spacedata, ScrArea::spacetype, and type.
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 1275 of file screen_edit.c.
References blender::compositor::area(), AREA_FLAG_STACKED_FULLSCREEN, BLI_assert, C, 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 1304 of file screen_edit.c.
References blender::compositor::area(), C, CTX_wm_screen(), CTX_wm_window(), ED_screen_full_prevspace(), ED_screen_state_toggle(), SpaceLink::link_flag, SpaceLink::next, SCREENMAXIMIZED, SPACE_FLAG_TYPE_TEMPORARY, state, and bScreen::state.
Referenced by ED_workspace_layout_cycle().
Definition at line 1070 of file screen_edit.c.
References ScrAreaMap::areabase, BKE_screen_area_map_free(), BKE_workspace_active_screen_get(), bScreen::do_refresh, ListBase::first, wmWindow::global_areas, NULL, wmWindow::parent, screen_global_statusbar_area_refresh(), screen_global_topbar_area_refresh(), bScreen::temp, and wmWindow::workspace_hook.
Referenced by ED_screen_refresh(), and wm_window_ghostwindow_ensure().
Definition at line 1053 of file screen_edit.c.
References blender::compositor::area(), ScrAreaMap::areabase, BKE_workspace_active_screen_get(), bScreen::flag, wmWindow::global_areas, LISTBASE_FOREACH, SCREEN_COLLAPSE_STATUSBAR, SPACE_STATUSBAR, and wmWindow::workspace_hook.
Referenced by area_move_apply_do().
void ED_screen_refresh | ( | struct wmWindowManager * | wm, |
struct wmWindow * | win | ||
) |
Make this screen usable. for file read and first use, for scaling window, area moves.
Definition at line 611 of file screen_edit.c.
References bScreen::animtimer, blender::compositor::area(), bScreen::context, bScreen::do_refresh, ED_area_init(), ED_screen_areas_iter, ed_screen_context(), ED_screen_global_areas_refresh(), G, G_DEBUG_EVENTS, wmWindow::ghostwin, screen_geom_vertices_scale(), bScreen::winid, wmWindow::winid, WM_event_timer_sleep(), WM_window_get_active_screen(), and WM_window_set_dpi().
Referenced by ED_screen_ensure_updated(), ED_screens_init(), screen_change_update(), wm_debug_menu_exec(), and WM_window_open().
Definition at line 1288 of file screen_edit.c.
References blender::compositor::area(), C, 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 1195 of file screen_edit.c.
References blender::compositor::area(), bScreen::areabase, C, CTX_data_scene_set(), CTX_wm_window(), CTX_wm_workspace(), LISTBASE_FOREACH, OBACT, 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 1831 of file screen_edit.c.
References ED_screen_scene_find_with_window(), and NULL.
Scene* ED_screen_scene_find_with_window | ( | const bScreen * | screen, |
const wmWindowManager * | wm, | ||
struct wmWindow ** | r_window | ||
) |
Definition at line 1793 of file screen_edit.c.
References LISTBASE_FOREACH, NULL, wmWindowManager::windows, WM_window_get_active_scene(), and WM_window_get_active_screen().
Referenced by ED_screen_scene_find().
Called in wm_event_system.c. sets state vars in screen, cursors. event type is mouse move.
Definition at line 829 of file screen_edit.c.
References bScreen::active_region, blender::compositor::area(), BORDERPADDING, C, ED_area_azones_update(), ED_region_contains_xy(), ED_region_tag_redraw_no_rebuild(), ED_screen_areas_iter, ELEM, ARegion::gizmo_map, LISTBASE_FOREACH, NULL, 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(), 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 1410 of file screen_edit.c.
References C, CTX_wm_window(), NULL, screen_state_to_nonnormal(), and SCREENMAXIMIZED.
Referenced by ED_screen_full_newspace().
ScrArea* ED_screen_state_toggle | ( | struct bContext * | C, |
struct wmWindow * | win, | ||
struct ScrArea * | area, | ||
short | state | ||
) |
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 1415 of file screen_edit.c.
References bScreen::animtimer, blender::compositor::area(), bScreen::areabase, ScrAreaMap::areabase, BKE_workspace_layout_remove(), BKE_workspace_layout_screen_get(), BLI_assert, C, 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, GLOBAL_AREA_IS_HIDDEN, wmWindow::global_areas, LISTBASE_FOREACH, NULL, screen_state_to_nonnormal(), SCREENFULL, SCREENNORMAL, bScreen::skip_handling, state, bScreen::state, UI_blocklist_free(), WM_event_remove_timer(), 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 1718 of file screen_edit.c.
References blender::compositor::area(), bScreen::areabase, 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, Scene::r, R_MULTIVIEW, RGN_TYPE_WINDOW, RV3D_CAMOB, RenderData::scemode, scene, 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.
ScrArea* ED_screen_temp_space_open | ( | struct bContext * | C, |
const char * | title, | ||
int | x, | ||
int | y, | ||
int | sizex, | ||
int | sizey, | ||
eSpace_Type | space_type, | ||
int | display_type, | ||
bool | dialog | ||
) |
Wrapper to open a temporary space either as fullscreen space, or as separate window, as defined by display_type.
title | Title to set for the window, if a window is spawned. |
x,y | Position of the window, if a window is spawned. |
sizex,sizey | Dimensions of the window, if a window is spawned. |
Definition at line 1522 of file screen_edit.c.
References blender::compositor::area(), AREA_FLAG_STACKED_FULLSCREEN, C, CTX_wm_area(), ED_area_newspace(), ED_screen_full_newspace(), ScrArea::full, NULL, SPACE_FLAG_TYPE_TEMPORARY, USER_TEMP_SPACE_DISPLAY_FULLSCREEN, USER_TEMP_SPACE_DISPLAY_WINDOW, WIN_ALIGN_LOCATION_CENTER, WM_window_open(), x, and y.
Referenced by wm_handler_fileselect_do().
wmWindow* ED_screen_window_find | ( | const bScreen * | screen, |
const wmWindowManager * | wm | ||
) |
Definition at line 1836 of file screen_edit.c.
References LISTBASE_FOREACH, NULL, wmWindowManager::windows, and WM_window_get_active_screen().
void ED_screens_init | ( | struct Main * | bmain, |
struct wmWindowManager * | wm | ||
) |
File read, set all screens, ....
Definition at line 650 of file screen_edit.c.
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, NULL, Main::screens, USER_HEADER_FROM_PREF, wmWindowManager::windows, and Main::workspaces.
Referenced by WM_check().
Results in fully updated anim system.
Definition at line 1694 of file screen_edit.c.
References BKE_scene_graph_update_for_newframe(), BKE_screen_view3d_scene_sync(), Scene::camera, camera, RenderData::cfra, DEG_get_input_scene(), DEG_id_tag_update(), DEG_time_tag_update(), depsgraph, ED_clip_update_frame(), Scene::id, ID_RECALC_COPY_ON_WRITE, LISTBASE_FOREACH, Scene::r, scene, and Main::screens.
Referenced by bc_update_scene(), dynamicPaint_bakeImageSequence(), ED_scene_change_update(), fluid_bake_sequence(), fluid_free_startjob(), light_cache_bake_exec(), render_endjob(), screen_animation_step_invoke(), screen_render_exec(), wm_event_do_handlers(), and wm_event_do_notifiers().
Definition at line 569 of file screen_edit.c.
References bScreen::active_region, blender::compositor::area(), 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 560 of file screen_edit.c.
References blender::compositor::area(), BLI_assert, ED_region_cursor_set(), ARegionType::event_cursor, wmWindow::tag_cursor_refresh, ARegion::type, and WM_window_get_active_screen().
Referenced by ED_screen_set_active_region(), and region_cursor_set().
Empty screen, with 1 dummy area without space-data. Uses window size.
Definition at line 190 of file screen_edit.c.
References BKE_libblock_alloc(), bScreen::do_refresh, ID_SCR, bScreen::redraws_flag, 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 70 of file screen_edit.c.
References AREAMAP_FROM_SCREEN, and screen_addarea_ex().
Referenced by area_split(), and screen_add().
|
static |
Definition at line 51 of file screen_edit.c.
References blender::compositor::area(), ScrAreaMap::areabase, BLI_addtail(), and MEM_callocN.
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 514 of file screen_edit.c.
References blender::compositor::area(), area_getorientation(), bScreen::areabase, C, float(), LISTBASE_FOREACH, MAX2, MIN2, NULL, screen_area_join_ex(), SCREEN_DIR_IS_VERTICAL, and SCREEN_DIR_NONE.
Referenced by area_close_exec(), 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 950 of file screen_edit.c.
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 509 of file screen_edit.c.
References C, and screen_area_join_ex().
Referenced by area_join_apply(), and area_split_cancel().
|
static |
Definition at line 399 of file screen_edit.c.
References blender::math::abs(), area_getoffsets(), area_getorientation(), AREAJOINTOLERANCEX, AREAJOINTOLERANCEY, BKE_icon_changed(), BKE_screen_remove_double_scrverts(), C, ID::icon_id, bScreen::id, screen_areas_align(), screen_delarea(), SCREEN_DIR_E, SCREEN_DIR_IS_HORIZONTAL, SCREEN_DIR_N, SCREEN_DIR_NONE, 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 478 of file screen_edit.c.
References area_getoffsets(), area_getorientation(), BKE_icon_changed(), C, ID::icon_id, bScreen::id, 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 967 of file screen_edit.c.
References blender::compositor::area(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by screen_global_area_refresh().
void screen_area_spacelink_add | ( | Scene * | scene, |
ScrArea * | area, | ||
eSpace_Type | space_type | ||
) |
Definition at line 546 of file screen_edit.c.
References blender::compositor::area(), BKE_spacetype_from_id(), BLI_addhead(), BLI_listbase_clear(), SpaceType::create, SpaceLink::regionbase, and scene.
Referenced by ED_area_offscreen_create(), and screen_global_area_refresh().
|
static |
Definition at line 452 of file screen_edit.c.
References blender::math::abs(), blender::compositor::area(), area_split(), AREAJOINTOLERANCEX, AREAJOINTOLERANCEY, C, CTX_wm_window(), float(), NULL, SCREEN_AXIS_H, SCREEN_AXIS_V, SCREEN_DIR_IS_VERTICAL, and size().
Referenced by screen_area_join_ex().
|
static |
Definition at line 365 of file screen_edit.c.
References bottom, C, CTX_wm_window(), left, right, SCREEN_DIR_IS_HORIZONTAL, screen_verts_halign(), screen_verts_valign(), top, ScrArea::v1, ScrArea::v2, ScrArea::v3, ScrArea::v4, ScrVert::vec, vec2s::x, and vec2s::y.
Referenced by screen_area_join_aligned().
void screen_change_prepare | ( | bScreen * | screen_old, |
bScreen * | screen_new, | ||
struct Main * | bmain, | ||
struct bContext * | C, | ||
wmWindow * | win | ||
) |
Definition at line 1089 of file screen_edit.c.
References bScreen::animtimer, blender::compositor::area(), bScreen::areabase, BLI_assert, BLI_findindex(), C, CTX_wm_manager(), ED_screen_exit(), LISTBASE_FOREACH, wmWindow::modalhandlers, NULL, 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 1117 of file screen_edit.c.
References BKE_screen_view3d_scene_sync(), BKE_workspace_active_get(), BKE_workspace_layout_find(), C, CTX_wm_manager(), CTX_wm_window_set(), ED_screen_refresh(), NC_SCREEN, NC_WINDOW, ND_LAYOUTSET, NULL, scene, 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 783 of file screen_edit.c.
References AE_LEFT_TO_TOPRIGHT, AE_RIGHT_TO_TOPLEFT, blender::compositor::area(), bScreen::areabase, AZONE_AREA, AZONE_REGION, AZONE_REGION_SCROLL, ED_area_actionzone_find_xy(), AZone::edge, ELEM, LISTBASE_FOREACH, NULL, 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 212 of file screen_edit.c.
References blender::compositor::area(), bScreen::areabase, BKE_screen_free_data(), BKE_screen_sort_scrvert(), BLI_duplicatelist(), BLI_listbase_clear(), ED_area_data_copy(), bScreen::edgebase, ListBase::first, bScreen::flag, from, LISTBASE_FOREACH, ScrVert::next, ScrArea::next, NULL, bScreen::regionbase, and bScreen::vertbase.
Referenced by ED_workspace_layout_duplicate().
Definition at line 81 of file screen_edit.c.
References blender::compositor::area(), bScreen::areabase, BKE_screen_area_free(), BLI_remlink(), C, ED_area_exit(), and MEM_freeN.
Referenced by screen_area_join_aligned().
|
static |
Definition at line 979 of file screen_edit.c.
References blender::compositor::area(), ScrAreaMap::areabase, bScreen::do_refresh, wmWindow::global_areas, LISTBASE_FOREACH, MEM_callocN, NULL, screen_area_create_with_geometry(), screen_area_set_geometry_rect(), screen_area_spacelink_add(), SCREENFULL, bScreen::state, and WM_window_get_active_scene().
Referenced by screen_global_statusbar_area_refresh(), and screen_global_topbar_area_refresh().
|
static |
Definition at line 1022 of file screen_edit.c.
References ceilf, ED_area_headersize(), and UI_DPI_FAC.
Referenced by screen_global_statusbar_area_refresh(), and screen_global_topbar_area_refresh().
Definition at line 1039 of file screen_edit.c.
References BLI_rcti_init(), bScreen::flag, GLOBAL_AREA_ALIGN_BOTTOM, SCREEN_COLLAPSE_STATUSBAR, screen_global_area_refresh(), screen_global_header_size(), size(), SPACE_STATUSBAR, WM_window_pixels_x(), WM_window_pixels_y(), rcti::ymax, and rcti::ymin.
Referenced by ED_screen_global_areas_refresh().
Definition at line 1027 of file screen_edit.c.
References BLI_rcti_init(), GLOBAL_AREA_ALIGN_TOP, screen_global_area_refresh(), screen_global_header_size(), size(), SPACE_TOPBAR, WM_window_pixels_x(), WM_window_pixels_y(), 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 258 of file screen_edit.c.
References bScreen::do_draw, bScreen::do_refresh, bScreen::winid, and wmWindow::winid.
|
static |
Definition at line 1161 of file screen_edit.c.
References blender::compositor::area(), BKE_screen_view3d_sync(), BKE_view_layer_base_find(), BKE_view_layer_camera_find(), View3D::camera, LISTBASE_FOREACH, RegionView3D::persp, View3D::regionbase, RGN_TYPE_WINDOW, RV3D_CAMOB, RV3D_PERSP, and scene.
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 1338 of file screen_edit.c.
References bScreen::animtimer, bScreen::areabase, ScrAreaMap::areabase, BKE_workspace_layout_screen_get(), BLI_assert, BLI_snprintf(), C, CTX_data_main(), ED_area_data_swap(), ED_area_tag_refresh(), ED_workspace_layout_add(), ELEM, ListBase::first, bScreen::flag, ScrArea::flag, ScrArea::full, GLOBAL_AREA_IS_HIDDEN, wmWindow::global_areas, bScreen::id, if(), LISTBASE_FOREACH, MAX_ID_NAME, ID::name, NULL, bScreen::redraws_flag, ScrArea::regionbase, RGN_FLAG_HIDDEN, 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, state, bScreen::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 336 of file screen_edit.c.
References ED_screen_verts_iter, and v1.
Referenced by screen_areas_align().
|
static |
Definition at line 350 of file screen_edit.c.
References ED_screen_verts_iter, and v1.
Referenced by screen_areas_align().
Definition at line 1659 of file screen_edit.c.
References blender::compositor::area(), bScreen::areabase, LISTBASE_FOREACH, min, NULL, RGN_TYPE_WINDOW, and SPACE_VIEW3D.
Referenced by ED_screen_animation_timer_update().