|
Blender V4.5
|
#include <fmt/format.h>#include <cmath>#include <cstdio>#include <cstring>#include "MEM_guardedalloc.h"#include "DNA_defaults.h"#include "DNA_scene_types.h"#include "DNA_screen_types.h"#include "DNA_space_types.h"#include "DNA_userdef_types.h"#include "DNA_view3d_types.h"#include "BLI_listbase.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "BKE_idprop.hh"#include "BKE_idtype.hh"#include "BKE_lib_id.hh"#include "BKE_lib_query.hh"#include "BKE_preview_image.hh"#include "BKE_screen.hh"#include "BLO_read_write.hh"#include "../editors/asset/ED_asset_shelf.hh"#include "WM_types.hh"Go to the source code of this file.
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
ID Type Implementation | |
| IDTypeInfo | IDType_ID_SCR |
| static void | screen_free_data (ID *id) |
| void | BKE_screen_foreach_id_screen_area (LibraryForeachIDData *data, ScrArea *area) |
| static void | screen_foreach_id (ID *id, LibraryForeachIDData *data) |
| static void | screen_blend_write (BlendWriter *writer, ID *id, const void *id_address) |
| bool | BKE_screen_blend_read_data (BlendDataReader *reader, bScreen *screen) |
| static void | screen_blend_read_after_liblink (BlendLibReader *reader, ID *id) |
|
static |
Definition at line 571 of file screen.cc.
References area_region_panels_free_recursive(), BKE_panel_free(), Panel::children, and LISTBASE_FOREACH_MUTABLE.
Referenced by area_region_panels_free_recursive(), and BKE_area_region_panels_free().
Definition at line 853 of file screen.cc.
References BKE_area_find_region_active_win(), BKE_area_find_region_type(), BLI_findlink(), ScrArea::region_active_win, ScrArea::regionbase, ARegion::regiontype, and RGN_TYPE_WINDOW.
Referenced by BKE_area_find_region_active_win(), ED_undo_operator_repeat(), ED_view3d_context_activate(), ED_view3d_context_rv3d(), texture_paint_image_from_view_exec(), and wm_operator_call_internal().
Find a region of type region_type in the currently active space of area.
Definition at line 840 of file screen.cc.
References BKE_area_find_region_type(), LISTBASE_FOREACH, and ScrArea::regionbase.
Referenced by blender::ed::asset::shelf::active_shelf_from_area(), ANIM_deselect_keys_in_animation_editors(), ANIM_frame_channel_y_extents(), animchannels_select_filter_invoke(), BKE_area_find_region_active_win(), BKE_area_find_region_type(), BKE_spacedata_find_region_type(), blend_file_thumb_from_camera(), blo_do_versions_260(), blo_do_versions_430(), blender::ui::bonedropper_set_draw_callback_region(), buttons_start_filter_exec(), blender::ed::vse::channel_draw_context_init(), clip_refresh(), console_clear_exec(), console_clear_line_exec(), console_delete_exec(), console_history_append_exec(), console_history_cycle_exec(), console_indent_exec(), console_insert_exec(), console_modal_select_apply(), console_move_exec(), console_paste_exec(), console_scrollback_append_exec(), console_select_set_invoke(), console_selectword_invoke(), console_unindent_exec(), context_find_graph_editor(), datadropper_set_draw_callback_region(), do_version_area_change_space_to_space_action(), do_versions_area_ensure_tool_region(), ED_area_type_hud_ensure(), ED_drivers_editor_init(), ed_markers_poll_markers_exist_visible(), ED_screens_header_tools_menu_create(), ED_text_activate_in_screen(), ED_view3d_gizmo_ruler_remove_by_gpencil_layer(), blender::ed::animrig::ensure_asset_ui_visible(), file_refresh(), file_smoothscroll_invoke(), graphkeys_channel_view_pick_invoke(), graphkeys_view_selected_channels_exec(), hud_panel_operator_redo_poll(), hud_region_add(), menu_items_from_ui_create(), blender::ed::space_node::node_area_listener(), blender::ed::outliner::outliner_deactivate(), blender::ed::outliner::outliner_start_filter_exec(), blender::ed::space_node::viewer_linking::position_viewer_node(), region_scale_toggle_hidden(), region_toggle_exec(), blender::ed::asset::screenshot_preview_exec(), blender::ed::space_node::snode_set_context(), space_text_scroll_to_cursor_with_area(), blender::ed::spreadsheet::spreadsheet_main_region_draw(), text_autocomplete_modal(), text_has_properties_region(), UI_view2d_fromcontext_rwin(), userpref_execute_region_poll(), userpref_show_exec(), v3d_cursor_snap_draw_fn(), v3d_cursor_snap_poll_fn(), wm_handler_fileselect_do(), wm_keymap_item_find_props(), wm_operator_call_internal(), and WM_window_cursor_keymap_status_refresh().
Definition at line 869 of file screen.cc.
References BKE_area_find_region_xy(), BLI_rcti_isect_pt_v(), ELEM, LISTBASE_FOREACH, ScrArea::regionbase, and RGN_TYPE_ANY.
Referenced by annotation_draw_modal(), BKE_area_find_region_xy(), BKE_screen_find_main_region_at_xy(), blender::ui::bonedropper_sample_pt(), datadropper_id_sample_pt(), depthdropper_depth_sample_pt(), eyedropper_color_sample_fl(), eyedropper_cryptomatte_sample_fl(), eyedropper_get_property_button_under_mouse(), blender::ed::sculpt_paint::dyntopo::sample_detail(), v3d_cursor_snap_draw_fn(), wm_dropbox_active(), and wm_handler_op_context_get_if_valid().
Definition at line 344 of file screen.cc.
References BKE_area_region_copy(), BKE_regiontype_from_id(), BLI_duplicatelist(), BLI_listbase_clear(), ARegionType::duplicate, ARegion::flag, MEM_dupallocN(), ARegion::next, panel_list_copy(), ARegion::panels, ARegion::panels_category_active, ARegion::prev, ARegion::regiondata, ARegion::regiontype, RGN_FLAG_TEMP_REGIONDATA, ARegion::runtime, ARegion::ui_lists, ARegion::ui_previews, and ARegion::view_states.
Referenced by BKE_area_region_copy(), ED_area_data_copy(), property_search_all_tabs(), region_copylist(), and region_quadview_exec().
Doesn't free the region itself.
Definition at line 591 of file screen.cc.
References BKE_area_region_free(), BKE_area_region_panels_free(), BKE_regiontype_from_id(), BLI_freelistN(), ARegion::flag, ARegionType::free, IDP_FreeProperty(), LISTBASE_FOREACH, MEM_SAFE_FREE, ARegion::panels, ARegion::panels_category_active, printf, region_free_gizmomap_callback, ARegion::regiondata, ARegion::regiontype, RGN_FLAG_TEMP_REGIONDATA, ARegion::runtime, ARegion::ui_lists, ARegion::ui_previews, and ARegion::view_states.
Referenced by BKE_area_region_free(), BKE_screen_area_blend_read_after_liblink(), BKE_screen_area_free(), BKE_spacedata_freelist(), blo_do_versions_250(), blo_do_versions_270(), blo_do_versions_280(), do_version_area_change_space_to_space_action(), ED_area_data_copy(), ED_region_remove(), property_search_all_tabs(), regions_remove_invalid(), screen_free_data(), and ui_region_temp_remove().
| ARegion * BKE_area_region_new | ( | ) |
Definition at line 381 of file screen.cc.
References BKE_area_region_new(), MEM_callocN(), and ARegion::runtime.
Referenced by action_create(), area_add_header_region(), area_add_window_regions(), BKE_area_region_new(), blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_280(), buttons_create(), clip_create(), console_create(), do_version_action_editor_properties_region(), do_versions_add_region(), do_versions_add_region_if_not_found(), do_versions_ensure_region(), file_create(), graph_create(), hud_region_add(), image_create(), info_create(), nla_create(), blender::ed::space_node::node_create(), blender::ed::outliner::outliner_create(), script_create(), blender::ed::vse::sequencer_create(), blender::ed::spreadsheet::spreadsheet_create(), statusbar_create(), text_create(), text_has_properties_region(), topbar_create(), ui_region_temp_add(), userpref_create(), and view3d_create().
| void BKE_area_region_panels_free | ( | ListBase * | panels | ) |
Definition at line 579 of file screen.cc.
References area_region_panels_free_recursive(), BKE_area_region_panels_free(), BLI_listbase_clear(), and LISTBASE_FOREACH_MUTABLE.
Referenced by BKE_area_region_free(), BKE_area_region_panels_free(), blo_update_defaults_screen(), and ED_region_property_search().
| void BKE_panel_free | ( | Panel * | panel | ) |
Definition at line 557 of file screen.cc.
References Panel::activedata, BKE_panel_free(), BLI_remlink(), Panel::drawname, layout_panel_state_delete(), Panel::layout_panel_states, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), MEM_SAFE_FREE, Panel::runtime, and state.
Referenced by area_region_panels_free_recursive(), BKE_panel_free(), panel_delete(), ui_paneltype_draw_impl(), and ui_popup_block_free().
| LayoutPanelState * BKE_panel_layout_panel_state_ensure | ( | Panel * | panel, |
| blender::StringRef | idname, | ||
| bool | default_closed ) |
Get the layout panel state for the given idname. If it does not exist yet, initialize a new panel state with the given default value.
Definition at line 514 of file screen.cc.
References BKE_panel_layout_panel_state_ensure(), BLI_addtail(), BLI_strdupn(), blender::StringRefBase::data(), LAYOUT_PANEL_STATE_FLAG_OPEN, Panel::layout_panel_states, Panel::layout_panel_states_clock, LISTBASE_FOREACH, MEM_callocN(), SET_FLAG_FROM_TEST, blender::StringRefBase::size(), and state.
Referenced by BKE_panel_layout_panel_state_ensure(), blender::nodes::draw_geometry_nodes_operator_redo_ui(), uiLayout::panel(), and blender::panel_draw().
Create and free panels.
Definition at line 540 of file screen.cc.
References BKE_panel_new(), PanelType::idname, MEM_callocN(), Panel::panelname, Panel::runtime, STRNCPY(), and Panel::type.
Referenced by BKE_panel_new(), panel_add_instanced(), panel_list_copy(), UI_panel_begin(), ui_paneltype_draw_impl(), and UI_popup_dummy_panel_set().
| void BKE_region_callback_free_gizmomap_set | ( | void(* | callback )(wmGizmoMap *) | ) |
Gizmo-maps of a region need to be freed with the region. Uses callback to avoid low-level call.
Definition at line 509 of file screen.cc.
References BKE_region_callback_free_gizmomap_set(), and region_free_gizmomap_callback.
Referenced by BKE_region_callback_free_gizmomap_set(), and WM_init().
| void BKE_region_callback_refresh_tag_gizmomap_set | ( | void(* | callback )(wmGizmoMap *) | ) |
Definition at line 476 of file screen.cc.
References BKE_region_callback_refresh_tag_gizmomap_set(), and region_refresh_tag_gizmomap_callback.
Referenced by BKE_region_callback_refresh_tag_gizmomap_set(), and WM_init().
| ARegion * BKE_region_find_in_listbase_by_type | ( | const ListBase * | regionbase, |
| const int | region_type ) |
Find a region of type region_type in provided regionbase.
Definition at line 829 of file screen.cc.
References BKE_region_find_in_listbase_by_type(), and LISTBASE_FOREACH.
Referenced by BKE_region_find_in_listbase_by_type(), blo_do_versions_300(), and do_versions_after_linking_300().
| ARegionType * BKE_regiontype_from_id | ( | const SpaceType * | st, |
| int | regionid ) |
Definition at line 261 of file screen.cc.
References BKE_regiontype_from_id(), LISTBASE_FOREACH, and SpaceType::regiontypes.
Referenced by area_offscreen_init(), BKE_area_region_copy(), BKE_area_region_free(), BKE_regiontype_from_id(), blender::ui::bonedropper_init(), blender::ui::bonedropper_set_draw_callback_region(), datadropper_init(), datadropper_set_draw_callback_region(), depthdropper_init(), drw_callbacks_post_scene(), ED_area_and_region_types_init(), ED_area_type_hud_ensure(), ED_view3d_buttons_region_layout_ex(), pyrna_callback_classmethod_add(), pyrna_callback_classmethod_remove(), regions_remove_invalid(), uiItemPopoverPanelFromGroup(), wm_xr_raycast_init(), and wm_xr_raycast_uninit().
| void BKE_screen_area_blend_read_after_liblink | ( | BlendLibReader * | reader, |
| ID * | parent_id, | ||
| ScrArea * | area ) |
Called after lib linking process is done, to perform some validation on the read data, or some complex specific reading process that requires the data to be fully read and ID pointers to be valid.
Definition at line 1458 of file screen.cc.
References BKE_area_region_free(), BKE_screen_area_blend_read_after_liblink(), BKE_spacetype_from_id(), SpaceType::blend_read_after_liblink, BLI_freelinkN(), ListBase::first, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, ScrArea::regionbase, regions_remove_invalid(), and ScrArea::spacedata.
Referenced by BKE_screen_area_blend_read_after_liblink(), BKE_screen_find_area_xy(), screen_blend_read_after_liblink(), and window_manager_blend_read_after_liblink().
| void BKE_screen_area_free | ( | ScrArea * | area | ) |
Doesn't free the area itself.
Definition at line 632 of file screen.cc.
References ScrArea::actionzones, BKE_area_region_free(), BKE_screen_area_free(), BKE_spacedata_freelist(), BKE_spacetype_from_id(), BLI_freelistN(), ScrArea::global, LISTBASE_FOREACH, MEM_SAFE_FREE, ScrArea::regionbase, ScrArea::spacedata, and ScrArea::spacetype.
Referenced by BKE_screen_area_free(), BKE_screen_area_map_free(), blo_do_versions_280(), ED_area_offscreen_free(), ED_area_swapspace(), and screen_delarea().
| bool BKE_screen_area_map_blend_read_data | ( | BlendDataReader * | reader, |
| ScrAreaMap * | area_map ) |
Definition at line 1412 of file screen.cc.
References ScrAreaMap::areabase, BKE_screen_area_map_blend_read_data(), BKE_screen_sort_scrvert(), BLI_remlink(), BLO_read_struct, BLO_read_struct_list, direct_link_area(), ScrAreaMap::edgebase, LISTBASE_FOREACH, and ScrAreaMap::vertbase.
Referenced by BKE_screen_area_map_blend_read_data(), BKE_screen_blend_read_data(), BKE_screen_find_area_xy(), and window_manager_blend_read_data().
| void BKE_screen_area_map_blend_write | ( | BlendWriter * | writer, |
| ScrAreaMap * | area_map ) |
Definition at line 1191 of file screen.cc.
References ScrAreaMap::areabase, BKE_screen_area_map_blend_write(), BLO_write_struct, BLO_write_struct_list, ScrArea::butspacetype, ScrAreaMap::edgebase, ScrArea::global, LISTBASE_FOREACH, SPACE_EMPTY, ScrArea::spacetype, ScrAreaMap::vertbase, and write_area().
Referenced by BKE_screen_area_map_blend_write(), BKE_screen_find_area_xy(), screen_blend_write(), and window_manager_blend_write().
| ScrArea * BKE_screen_area_map_find_area_xy | ( | const ScrAreaMap * | areamap, |
| const int | spacetype, | ||
| const int | xy[2] ) |
Definition at line 958 of file screen.cc.
References ScrAreaMap::areabase, BKE_screen_area_map_find_area_xy(), ELEM, LISTBASE_FOREACH, SPACE_TYPE_ANY, ScrArea::spacetype, ScrArea::v1, ScrArea::v2, ScrArea::v4, ScrVert::vec, vec2s::x, and vec2s::y.
| void BKE_screen_area_map_free | ( | ScrAreaMap * | area_map | ) |
Definition at line 648 of file screen.cc.
References ScrAreaMap::areabase, BKE_screen_area_free(), BKE_screen_area_map_free(), BLI_freelistN(), ScrAreaMap::edgebase, LISTBASE_FOREACH_MUTABLE, and ScrAreaMap::vertbase.
Referenced by BKE_screen_area_map_free(), BKE_screen_find_area_xy(), ED_screen_global_areas_refresh(), screen_free_data(), and wm_window_free().
| bool BKE_screen_blend_read_data | ( | BlendDataReader * | reader, |
| bScreen * | screen ) |
Cannot use IDTypeInfo callback yet, because of the return value.
Definition at line 136 of file screen.cc.
References bScreen::active_region, bScreen::animtimer, AREAMAP_FROM_SCREEN, BKE_previewimg_blend_read(), BKE_screen_area_map_blend_read_data(), BKE_screen_blend_read_data(), BLO_read_struct, bScreen::context, ListBase::first, bScreen::id, ListBase::last, ID::name, bScreen::preview, printf, bScreen::regionbase, bScreen::scrubbing, and bScreen::tool_tip.
Referenced by BKE_screen_blend_read_data(), BKE_screen_find_area_xy(), and direct_link_id().
Definition at line 907 of file screen.cc.
References bScreen::areabase, BKE_screen_find_area_from_space(), BLI_findindex(), LISTBASE_FOREACH, and ScrArea::spacedata.
Definition at line 975 of file screen.cc.
References AREAMAP_FROM_SCREEN, BKE_screen_area_map_find_area_xy(), and BKE_screen_find_area_xy().
Definition at line 938 of file screen.cc.
References bScreen::areabase, BKE_screen_find_big_area(), ELEM, LISTBASE_FOREACH, min, SPACE_TYPE_ANY, ScrArea::spacetype, ScrArea::winx, and ScrArea::winy.
Referenced by blender::ed::object::bake_init_api_data(), BKE_screen_find_area_from_space(), BKE_screen_find_big_area(), blend_file_thumb_from_camera(), ED_text_activate_in_screen(), ED_view3d_context_activate(), render_view_open(), texture_paint_image_from_view_exec(), texture_paint_image_from_view_poll(), wm_file_write(), and wm_window_new_exec().
Definition at line 670 of file screen.cc.
References BKE_screen_find_edge(), BKE_screen_sort_scrvert(), bScreen::edgebase, LISTBASE_FOREACH, and v2.
Referenced by area_findsharededge(), BKE_screen_find_area_xy(), BKE_screen_find_edge(), BKE_screen_remove_unused_scredges(), and screen_geom_vertices_scale_pass().
| ARegion * BKE_screen_find_main_region_at_xy | ( | const bScreen * | screen, |
| const int | space_type, | ||
| const int | xy[2] ) |
Definition at line 1017 of file screen.cc.
References BKE_area_find_region_xy(), BKE_screen_find_area_xy(), BKE_screen_find_main_region_at_xy(), and RGN_TYPE_WINDOW.
Definition at line 885 of file screen.cc.
References BKE_screen_find_region_type(), LISTBASE_FOREACH, and bScreen::regionbase.
Referenced by BKE_screen_find_region_type(), and blender::ed::sculpt_paint::paint_update_mouse_cursor().
| ARegion * BKE_screen_find_region_xy | ( | const bScreen * | screen, |
| const int | regiontype, | ||
| const int | xy[2] ) |
Definition at line 895 of file screen.cc.
References BKE_screen_find_region_xy(), BLI_rcti_isect_pt_v(), ELEM, LISTBASE_FOREACH, bScreen::regionbase, and RGN_TYPE_ANY.
| void BKE_screen_foreach_id_screen_area | ( | LibraryForeachIDData * | data, |
| ScrArea * | area ) |
Callback used by lib_query to walk over all ID usages (mimics foreach_id callback of IDTypeInfo structure).
Definition at line 92 of file screen.cc.
References BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_screen_foreach_id_screen_area(), BKE_spacetype_from_id(), data, SpaceType::foreach_id, ScrArea::full, IDWALK_CB_NOP, LISTBASE_FOREACH, and ScrArea::spacedata.
Referenced by BKE_screen_find_area_xy(), BKE_screen_foreach_id_screen_area(), screen_foreach_id(), and window_manager_foreach_id().
| void BKE_screen_free_data | ( | bScreen * | screen | ) |
Free (or release) any data used by this screen (does not free the screen itself).
Definition at line 659 of file screen.cc.
References BKE_screen_free_data(), bScreen::id, and screen_free_data().
Referenced by BKE_screen_find_area_xy(), BKE_screen_free_data(), and screen_data_copy().
| void BKE_screen_gizmo_tag_refresh | ( | bScreen * | screen | ) |
Definition at line 481 of file screen.cc.
References bScreen::areabase, BKE_screen_gizmo_tag_refresh(), LISTBASE_FOREACH, region_refresh_tag_gizmomap_callback, and ScrArea::regionbase.
Referenced by BKE_screen_find_area_xy(), BKE_screen_gizmo_tag_refresh(), and setup_app_data().
| void BKE_screen_header_alignment_reset | ( | bScreen * | screen | ) |
Definition at line 1053 of file screen.cc.
References bScreen::areabase, BKE_screen_header_alignment_reset(), bScreen::do_refresh, ELEM, LISTBASE_FOREACH, ScrArea::regionbase, RGN_ALIGN_BOTTOM, RGN_ALIGN_TOP, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_TOOL_HEADER, SPACE_FILE, SPACE_OUTLINER, SPACE_PROPERTIES, SPACE_USERPREF, ScrArea::spacetype, U, and USER_HEADER_BOTTOM.
Referenced by BKE_screen_find_area_xy(), BKE_screen_header_alignment_reset(), and ED_screens_init().
| bool BKE_screen_is_fullscreen_area | ( | const bScreen * | screen | ) |
Definition at line 1043 of file screen.cc.
References BKE_screen_is_fullscreen_area(), ELEM, SCREENFULL, SCREENMAXIMIZED, and bScreen::state.
Referenced by BKE_screen_find_area_xy(), BKE_screen_is_fullscreen_area(), ED_workspace_layout_delete(), ED_workspace_layout_duplicate(), wm_check_screen_switch_supported(), and workspace_layout_set_poll().
| bool BKE_screen_is_used | ( | const bScreen * | screen | ) |
Definition at line 1048 of file screen.cc.
References BKE_screen_is_used(), and bScreen::winid.
Referenced by BKE_screen_find_area_xy(), BKE_screen_is_used(), screen_is_used_by_other_window(), and workspace_layout_set_poll().
| std::optional< std::string > BKE_screen_path_from_screen_to_space | ( | const PointerRNA * | ptr | ) |
Definition at line 918 of file screen.cc.
References bScreen::areabase, BKE_screen_path_from_screen_to_space(), BLI_assert_unreachable, BLI_findindex(), PointerRNA::data, GS, ID_SCR, LISTBASE_FOREACH_INDEX, ID::name, PointerRNA::owner_id, and ScrArea::spacedata.
Referenced by BKE_screen_find_area_from_space(), and BKE_screen_path_from_screen_to_space().
| void BKE_screen_remove_double_scredges | ( | bScreen * | screen | ) |
Definition at line 743 of file screen.cc.
References BKE_screen_remove_double_scredges(), BLI_remlink(), bScreen::edgebase, LISTBASE_FOREACH, MEM_freeN(), ScrEdge::next, ScrEdge::v1, and ScrEdge::v2.
Referenced by area_join_exit(), area_move_exit(), area_split(), area_split_exit(), BKE_screen_find_area_xy(), BKE_screen_remove_double_scredges(), and blo_do_versions_280().
| void BKE_screen_remove_double_scrverts | ( | bScreen * | screen | ) |
Definition at line 691 of file screen.cc.
References bScreen::areabase, BKE_screen_remove_double_scrverts(), BKE_screen_sort_scrvert(), BLI_remlink(), bScreen::edgebase, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), ScrVert::newv, ScrVert::next, ScrArea::v1, ScrArea::v2, ScrArea::v3, ScrArea::v4, ScrVert::vec, bScreen::vertbase, vec2s::x, and vec2s::y.
Referenced by area_move_exit(), area_split(), area_split_exit(), BKE_screen_find_area_xy(), BKE_screen_remove_double_scrverts(), and screen_area_join_aligned().
| void BKE_screen_remove_unused_scredges | ( | bScreen * | screen | ) |
Definition at line 759 of file screen.cc.
References bScreen::areabase, BKE_screen_find_edge(), BKE_screen_remove_unused_scredges(), BLI_remlink(), bScreen::edgebase, ScrEdge::flag, LISTBASE_FOREACH_INDEX, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), printf, ScrArea::v1, ScrArea::v2, ScrArea::v3, and ScrArea::v4.
Referenced by area_join_exit(), area_split(), BKE_screen_find_area_xy(), BKE_screen_remove_unused_scredges(), and blo_do_versions_280().
| void BKE_screen_remove_unused_scrverts | ( | bScreen * | screen | ) |
Definition at line 804 of file screen.cc.
References BKE_screen_remove_unused_scrverts(), BLI_remlink(), bScreen::edgebase, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), and bScreen::vertbase.
Referenced by area_join_exit(), BKE_screen_find_area_xy(), BKE_screen_remove_unused_scrverts(), and blo_do_versions_280().
| void BKE_screen_runtime_refresh_for_blendfile | ( | bScreen * | screen | ) |
Refresh any screen data that should be set on file-load with "Load UI" disabled.
Definition at line 496 of file screen.cc.
References bScreen::areabase, BKE_screen_runtime_refresh_for_blendfile(), ScrArea_Runtime::is_tool_set, LISTBASE_FOREACH, ScrArea::runtime, and ScrArea_Runtime::tool.
Referenced by BKE_screen_find_area_xy(), BKE_screen_runtime_refresh_for_blendfile(), and setup_app_data().
Definition at line 682 of file screen.cc.
References BKE_screen_sort_scrvert(), and v2.
Referenced by BKE_screen_area_map_blend_read_data(), BKE_screen_find_area_xy(), BKE_screen_find_edge(), BKE_screen_remove_double_scrverts(), BKE_screen_sort_scrvert(), screen_data_copy(), and screen_geom_edge_add_ex().
And as patch for 2.48 and older. For the saved 2.50 files without regiondata.
Definition at line 1318 of file screen.cc.
References BKE_screen_view3d_do_versions_250(), copy_qt_qt(), copy_v3_v3(), RegionView3D::dist, View3D::gridsubdiv, LISTBASE_FOREACH, MEM_callocN(), RegionView3D::ofs, RegionView3D::persp, RGN_TYPE_WINDOW, RegionView3D::view, and RegionView3D::viewquat.
Referenced by area_add_window_regions(), BKE_screen_find_area_xy(), BKE_screen_view3d_do_versions_250(), direct_link_area(), and view3d_space_blend_read_data().
Definition at line 998 of file screen.cc.
References bScreen::areabase, BKE_screen_view3d_scene_sync(), BKE_screen_view3d_sync(), LISTBASE_FOREACH, SPACE_VIEW3D, and ScrArea::spacedata.
Referenced by BKE_screen_find_area_xy(), BKE_screen_view3d_scene_sync(), ed_marker_camera_bind_exec(), ed_marker_move_apply(), ED_update_for_newframe(), ED_workspace_scene_data_sync(), screen_change_update(), and setup_app_data().
| void BKE_screen_view3d_shading_blend_read_data | ( | BlendDataReader * | reader, |
| View3DShading * | shading ) |
Definition at line 1090 of file screen.cc.
References BKE_screen_view3d_shading_blend_read_data(), BLO_read_struct, IDP_BlendDataRead, and View3DShading::prop.
Referenced by BKE_screen_find_area_xy(), BKE_screen_view3d_shading_blend_read_data(), direct_link_wm_xr_data(), scene_blend_read_data(), and view3d_space_blend_read_data().
| void BKE_screen_view3d_shading_blend_write | ( | BlendWriter * | writer, |
| View3DShading * | shading ) |
Definition at line 1083 of file screen.cc.
References BKE_screen_view3d_shading_blend_write(), IDP_BlendWrite(), and View3DShading::prop.
Referenced by BKE_screen_find_area_xy(), BKE_screen_view3d_shading_blend_write(), scene_blend_write(), view3d_space_blend_write(), and write_wm_xr_data().
| void BKE_screen_view3d_shading_init | ( | View3DShading * | shading | ) |
Definition at line 1011 of file screen.cc.
References BKE_screen_view3d_shading_init(), and DNA_struct_default_get.
Referenced by BKE_screen_find_area_xy(), BKE_screen_view3d_shading_init(), blo_do_versions_280(), and object_preview_render().
Definition at line 980 of file screen.cc.
References BKE_screen_view3d_sync(), Scene::camera, View3D::camera, LISTBASE_FOREACH, View3D::localvd, RegionView3D::persp, View3D::regionbase, RGN_TYPE_WINDOW, RV3D_CAMOB, RV3D_PERSP, and View3D::scenelock.
Referenced by BKE_screen_find_area_xy(), BKE_screen_view3d_scene_sync(), BKE_screen_view3d_sync(), screen_set_3dview_camera(), and view3d_main_region_listener().
| float BKE_screen_view3d_zoom_from_fac | ( | float | zoomfac | ) |
Definition at line 1038 of file screen.cc.
References BKE_screen_view3d_zoom_from_fac(), M_SQRT2, and sqrtf.
Referenced by BKE_screen_find_area_xy(), BKE_screen_view3d_zoom_from_fac(), ED_view3d_camera_view_zoom_scale(), view3d_center_camera_exec(), view3d_set_1_to_1_viewborder(), and view_zoom_to_window_xy_camera().
| float BKE_screen_view3d_zoom_to_fac | ( | float | camzoom | ) |
Definition at line 1033 of file screen.cc.
References BKE_screen_view3d_zoom_to_fac(), M_SQRT2, and powf.
Referenced by BKE_camera_params_from_view3d(), BKE_screen_find_area_xy(), BKE_screen_view3d_zoom_to_fac(), ED_view3d_camera_view_pan(), ED_view3d_camera_view_zoom_scale(), ED_view3d_win_to_3d(), ED_view3d_win_to_3d_with_shift(), view_zoom_to_window_xy_camera(), and viewzoom_apply_camera().
Definition at line 459 of file screen.cc.
References BKE_spacedata_callback_id_remap_set(), and spacedata_id_remap_cb.
Referenced by BKE_spacedata_callback_id_remap_set(), and WM_init().
| lb_dst | should be empty (will be cleared). |
Definition at line 400 of file screen.cc.
References BKE_spacedata_copylist(), BKE_spacetype_from_id(), BLI_addtail(), BLI_listbase_clear(), SpaceType::duplicate, LISTBASE_FOREACH, region_copylist(), and SpaceLink::regionbase.
Referenced by BKE_spacedata_copylist(), and ED_area_data_copy().
| void BKE_spacedata_draw_locks | ( | ARegionDrawLockFlags | lock_flags | ) |
Facility to set locks for drawing to survive (render) threads accessing drawing data.
Definition at line 417 of file screen.cc.
References BKE_spacedata_draw_locks(), get_space_types(), and LISTBASE_FOREACH.
Referenced by BKE_spacedata_draw_locks(), dpaint_bake_startjob(), fluid_bake_startjob(), fluid_free_startjob(), lineart_bake_startjob(), render_drawlock(), and WM_set_locked_interface_with_flags().
| ARegion * BKE_spacedata_find_region_type | ( | const SpaceLink * | slink, |
| const ScrArea * | area, | ||
| int | region_type ) |
Version of BKE_area_find_region_type that also works if slink is not the active space of area.
Definition at line 431 of file screen.cc.
References BKE_area_find_region_type(), BKE_spacedata_find_region_type(), BLI_assert, BLI_findindex(), ListBase::first, LISTBASE_FOREACH, ScrArea::regionbase, SpaceLink::regionbase, and ScrArea::spacedata.
Referenced by BKE_spacedata_find_region_type(), and blo_do_versions_280().
| void BKE_spacedata_freelist | ( | ListBase * | lb | ) |
Definition at line 299 of file screen.cc.
References BKE_area_region_free(), BKE_spacedata_freelist(), BKE_spacetype_from_id(), BLI_freelistN(), SpaceType::free, and LISTBASE_FOREACH.
Referenced by BKE_screen_area_free(), BKE_spacedata_freelist(), ED_area_data_copy(), and spacedata_cleanup_exec().
Currently unused!
Definition at line 464 of file screen.cc.
References BKE_spacedata_id_unref(), and spacedata_id_remap_cb.
Referenced by BKE_spacedata_id_unref().
| bool BKE_spacetype_exists | ( | int | spaceid | ) |
Definition at line 288 of file screen.cc.
References BKE_spacetype_exists(), and BKE_spacetype_from_id().
Referenced by BKE_spacetype_exists(), and direct_link_area().
| SpaceType * BKE_spacetype_from_id | ( | int | spaceid | ) |
Definition at line 251 of file screen.cc.
References BKE_spacetype_from_id(), and get_space_types().
Referenced by area_init_type_fallback(), area_offscreen_init(), BKE_screen_area_blend_read_after_liblink(), BKE_screen_area_free(), BKE_screen_foreach_id_screen_area(), BKE_spacedata_copylist(), BKE_spacedata_freelist(), BKE_spacetype_exists(), BKE_spacetype_from_id(), BKE_spacetype_register(), blo_do_versions_250(), blo_do_versions_280(), blender::ui::bonedropper_init(), datadropper_init(), depthdropper_init(), direct_link_area(), do_version_area_change_space_to_space_action(), drw_callbacks_post_scene(), ED_area_and_region_types_init(), ED_area_data_copy(), ED_area_newspace(), ED_spacedata_id_remap(), ED_spacedata_id_remap_single(), ED_view3d_buttons_region_layout_ex(), pyrna_callback_classmethod_add(), pyrna_callback_classmethod_remove(), screen_area_spacelink_add(), uiItemPopoverPanelFromGroup(), wm_xr_raycast_init(), wm_xr_raycast_uninit(), and write_area().
| void BKE_spacetype_register | ( | std::unique_ptr< SpaceType > | st | ) |
Definition at line 276 of file screen.cc.
References BKE_spacetype_from_id(), BKE_spacetype_register(), get_space_types(), SpaceType::name, and printf.
Referenced by BKE_spacetype_register(), ED_spacetype_action(), ED_spacetype_buttons(), ED_spacetype_clip(), ED_spacetype_console(), ED_spacetype_file(), ED_spacetype_image(), ED_spacetype_info(), ED_spacetype_ipo(), ED_spacetype_nla(), ED_spacetype_node(), ED_spacetype_outliner(), ED_spacetype_script(), blender::ed::vse::ED_spacetype_sequencer(), ED_spacetype_statusbar(), ED_spacetype_text(), ED_spacetype_topbar(), ED_spacetype_userpref(), ED_spacetype_view3d(), and blender::ed::spreadsheet::register_spacetype().
| void BKE_spacetypes_free | ( | ) |
Only for quitting blender.
Definition at line 246 of file screen.cc.
References BKE_spacetypes_free(), and get_space_types().
Referenced by BKE_blender_free(), and BKE_spacetypes_free().
Definition at line 271 of file screen.cc.
References BKE_spacetypes_list(), and get_space_types().
Referenced by BKE_spacetypes_list(), ED_spacemacros_init(), ED_spacetypes_init(), and ED_spacetypes_keymap().
|
static |
Definition at line 1340 of file screen.cc.
References ScrArea::actionzones, AREA_FLAG_ACTIVE_TOOL_UPDATE, BKE_screen_view3d_do_versions_250(), BKE_spacetype_exists(), BKE_spacetype_from_id(), SpaceType::blend_read_data, BLI_addtail(), BLI_listbase_clear(), BLO_read_struct, BLO_read_struct_list, ScrArea::butspacetype, direct_link_area(), direct_link_region(), ListBase::first, ScrArea::flag, ScrArea::global, ScrArea::handlers, LISTBASE_FOREACH, MEM_callocN(), ScrArea::region_active_win, ScrArea::regionbase, ScrArea::runtime, SPACE_EMPTY, SPACE_INFO, SPACE_VIEW3D, ScrArea::spacedata, ScrArea::spacetype, SpaceInfo::spacetype, ScrArea::type, ScrArea::v1, ScrArea::v2, ScrArea::v3, and ScrArea::v4.
Referenced by BKE_screen_area_map_blend_read_data(), and direct_link_area().
|
static |
Definition at line 1228 of file screen.cc.
References BLO_read_string(), BLO_read_struct_list, direct_link_panel_list(), LISTBASE_FOREACH, remove_least_recently_used_panel_states(), and state.
Referenced by direct_link_panel_list(), and direct_link_region().
|
static |
Definition at line 1251 of file screen.cc.
References View2D::alpha_hor, View2D::alpha_vert, BLO_read_struct, BLO_read_struct_list, RegionView3D::clipbb, direct_link_panel_list(), direct_link_region(), ARegion::flag, IDP_BlendDataRead, LISTBASE_FOREACH, RegionView3D::localvd, MAIN_ID_SESSION_UID_UNSET, MEM_callocN(), ARegion::panels, ARegion::panels_category_active, blender::ed::asset::shelf::region_blend_read_data(), ARegion::regiondata, ARegion::regiontype, RegionView3D::rflag, RGN_FLAG_POLL_FAILED, RGN_FLAG_SEARCH_FILTER_ACTIVE, RGN_FLAG_TEMP_REGIONDATA, RGN_TYPE_ASSET_SHELF, RGN_TYPE_WINDOW, ARegion::runtime, RegionView3D::runtime_viewlock, RV3D_NAVIGATING, RV3D_PAINTING, RegionView3D::smooth_timer, RegionView3D::sms, View2D::sms, SPACE_EMPTY, SPACE_VIEW3D, ARegion::ui_lists, ARegion::ui_previews, ARegion::v2d, RegionView3D::view_render, and ARegion::view_states.
Referenced by direct_link_area(), and direct_link_region().
Keep global; this has to be accessible outside of window-manager.
Definition at line 210 of file screen.cc.
References get_space_types().
Referenced by BKE_spacedata_draw_locks(), BKE_spacetype_from_id(), BKE_spacetype_register(), BKE_spacetypes_free(), BKE_spacetypes_list(), and get_space_types().
|
static |
Definition at line 551 of file screen.cc.
References layout_panel_state_delete(), MEM_freeN(), and state.
Referenced by BKE_panel_free(), layout_panel_state_delete(), and remove_least_recently_used_panel_states().
Definition at line 319 of file screen.cc.
References Panel::activedata, BKE_panel_new(), BLI_addtail(), BLI_listbase_clear(), BLI_strdup(), Panel::children, Panel::drawname, LayoutPanelState::idname, Panel::layout_panel_states, Panel::layout_panel_states_clock, LISTBASE_FOREACH, MEM_dupallocN(), panel_list_copy(), and Panel::runtime.
Referenced by BKE_area_region_copy(), and panel_list_copy().
Definition at line 389 of file screen.cc.
References BKE_area_region_copy(), BLI_addtail(), BLI_listbase_clear(), LISTBASE_FOREACH, and region_copylist().
Referenced by BKE_spacedata_copylist(), and region_copylist().
Removes all regions whose type cannot be reconstructed. For example files from new versions may be stored with a newly introduced region type that this version cannot handle.
Definition at line 1441 of file screen.cc.
References BKE_area_region_free(), BKE_regiontype_from_id(), BLI_freelinkN(), LISTBASE_FOREACH_MUTABLE, SpaceType::name, printf, regions_remove_invalid(), and SpaceType::spaceid.
Referenced by BKE_screen_area_blend_read_after_liblink(), and regions_remove_invalid().
Definition at line 1208 of file screen.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), b, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), BLI_remlink(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), layout_panel_state_delete(), Panel::layout_panel_states, LISTBASE_FOREACH, remove_least_recently_used_panel_states(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and state.
Referenced by direct_link_panel_list(), and remove_least_recently_used_panel_states().
|
static |
Definition at line 160 of file screen.cc.
References bScreen::areabase, BKE_screen_area_blend_read_after_liblink(), bScreen::id, LISTBASE_FOREACH, and screen_blend_read_after_liblink().
Referenced by screen_blend_read_after_liblink().
|
static |
Definition at line 121 of file screen.cc.
References AREAMAP_FROM_SCREEN, BKE_id_blend_write(), BKE_previewimg_blend_write(), BKE_screen_area_map_blend_write(), BLO_write_struct_at_address_with_filecode, bScreen::id, ID_SCRN, bScreen::preview, and screen_blend_write().
Referenced by screen_blend_write().
|
static |
Definition at line 105 of file screen.cc.
References bScreen::areabase, BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_lib_query_foreachid_process_flags_get(), BKE_screen_foreach_id_screen_area(), data, IDWALK_CB_NOP, IDWALK_DO_DEPRECATED_POINTERS, IDWALK_INCLUDE_UI, LISTBASE_FOREACH, and screen_foreach_id().
Referenced by screen_foreach_id().
|
static |
Definition at line 67 of file screen.cc.
References AREAMAP_FROM_SCREEN, BKE_area_region_free(), BKE_previewimg_free(), BKE_screen_area_map_free(), BLI_freelistN(), LISTBASE_FOREACH, MEM_freeN(), bScreen::preview, bScreen::regionbase, screen_free_data(), and bScreen::tool_tip.
Referenced by BKE_screen_free_data(), and screen_free_data().
|
static |
Definition at line 1156 of file screen.cc.
References BKE_spacetype_from_id(), SpaceType::blend_write, BLO_write_struct, LISTBASE_FOREACH, ScrArea::regionbase, ScrArea::spacedata, ScrArea::spacetype, write_area(), write_panel_list(), write_region(), and write_uilist().
Referenced by BKE_screen_area_map_blend_write(), and write_area().
|
static |
Definition at line 1144 of file screen.cc.
References BLO_write_string(), BLO_write_struct, BLO_write_struct_list, LISTBASE_FOREACH, state, and write_panel_list().
Referenced by write_area(), and write_panel_list().
|
static |
Definition at line 1098 of file screen.cc.
References BLO_write_struct, RegionView3D::clipbb, ARegion::flag, RegionView3D::localvd, printf, blender::ed::asset::shelf::region_blend_write(), ARegion::regiondata, ARegion::regiontype, RGN_FLAG_TEMP_REGIONDATA, RGN_TYPE_ASSET_SHELF, RGN_TYPE_WINDOW, SPACE_VIEW3D, and write_region().
Referenced by write_area(), and write_region().
|
static |
Definition at line 1135 of file screen.cc.
References BLO_write_struct, IDP_BlendWrite(), uiList::properties, and write_uilist().
Referenced by write_area(), and write_uilist().
| IDTypeInfo IDType_ID_SCR |
|
static |
Avoid bad-level calls to #WM_gizmomap_delete.
Definition at line 507 of file screen.cc.
Referenced by BKE_area_region_free(), and BKE_region_callback_free_gizmomap_set().
|
static |
Avoid bad-level calls to WM_gizmomap_tag_refresh.
Definition at line 474 of file screen.cc.
Referenced by BKE_region_callback_refresh_tag_gizmomap_set(), and BKE_screen_gizmo_tag_refresh().