|
Blender V4.3
|
#include <cstdlib>#include "BLI_listbase.h"#include "BLI_utildefines.h"#include "DNA_screen_types.h"#include "DNA_workspace_types.h"#include "BKE_context.hh"#include "BKE_main.hh"#include "BKE_screen.hh"#include "BKE_workspace.hh"#include "WM_api.hh"#include "ED_screen.hh"#include "screen_intern.hh"Go to the source code of this file.
| WorkSpaceLayout * ED_workspace_layout_add | ( | Main * | bmain, |
| WorkSpace * | workspace, | ||
| wmWindow * | win, | ||
| const char * | name ) |
Empty screen, with 1 dummy area without space-data. Uses window size.
Definition at line 28 of file workspace_layout_edit.cc.
References BKE_workspace_layout_add(), screen_add(), and WM_window_screen_rect_calc().
Referenced by ED_workspace_layout_duplicate(), screen_state_to_nonnormal(), and WM_window_open().
Definition at line 201 of file workspace_layout_edit.cc.
References BKE_workspace_active_layout_get(), BKE_workspace_layout_iter_circular(), BKE_workspace_layout_screen_get(), BLI_assert, CTX_wm_area(), CTX_wm_window(), ED_screen_change(), ED_screen_full_restore(), ELEM, bScreen::temp, wmWindow::workspace_hook, and workspace_layout_cycle_iter_cb().
Referenced by screen_set_exec().
| bool ED_workspace_layout_delete | ( | WorkSpace * | workspace, |
| WorkSpaceLayout * | layout_old, | ||
| bContext * | C ) |
Definition at line 117 of file workspace_layout_edit.cc.
References BKE_screen_is_fullscreen_area(), BKE_workspace_layout_screen_get(), BLI_assert, BLI_findindex(), WorkSpace::layouts, workspace_layout_delete_doit(), and workspace_layout_delete_find_new().
Referenced by wm_event_do_notifiers().
| WorkSpaceLayout * ED_workspace_layout_duplicate | ( | Main * | bmain, |
| WorkSpace * | workspace, | ||
| const WorkSpaceLayout * | layout_old, | ||
| wmWindow * | win ) |
Definition at line 42 of file workspace_layout_edit.cc.
References bScreen::areabase, BKE_screen_is_fullscreen_area(), BKE_workspace_layout_name_get(), BKE_workspace_layout_screen_get(), ED_area_data_copy(), ED_area_tag_redraw(), ED_workspace_layout_add(), ListBase::first, LISTBASE_FOREACH, and screen_data_copy().
Referenced by ED_workspace_duplicate(), ED_workspace_screen_change_ensure_unused_layout(), screen_new_exec(), wm_file_read_setup_wm_keep_old(), and wm_window_copy().
| WorkSpaceLayout * ED_workspace_screen_change_ensure_unused_layout | ( | Main * | bmain, |
| WorkSpace * | workspace, | ||
| WorkSpaceLayout * | layout_new, | ||
| const WorkSpaceLayout * | layout_fallback_base, | ||
| wmWindow * | win ) |
Make sure there is a non-full-screen layout to switch to that isn't used yet by an other window. Needed for workspace or screen switching to ensure valid screens.
| layout_fallback_base | As last resort, this layout is duplicated and returned. |
Definition at line 167 of file workspace_layout_edit.cc.
References BKE_workspace_layout_find(), BKE_workspace_layout_iter_circular(), BKE_workspace_layout_screen_get(), ED_workspace_layout_duplicate(), screen_fullscreen_find_associated_normal_screen(), screen_is_used_by_other_window(), and workspace_change_find_new_layout_cb().
Referenced by ED_screen_change(), and workspace_change_get_new_layout().
|
static |
Definition at line 148 of file workspace_layout_edit.cc.
References ELEM, LISTBASE_FOREACH, SCREENFULL, SCREENMAXIMIZED, and Main::screens.
Referenced by ED_workspace_screen_change_ensure_unused_layout().
Definition at line 162 of file workspace_layout_edit.cc.
References BKE_screen_is_used(), and wmWindow::winid.
Referenced by ED_workspace_screen_change_ensure_unused_layout().
|
static |
Definition at line 142 of file workspace_layout_edit.cc.
References false, and workspace_layout_set_poll().
Referenced by ED_workspace_screen_change_ensure_unused_layout().
|
static |
Definition at line 195 of file workspace_layout_edit.cc.
References workspace_layout_set_poll().
Referenced by ED_workspace_layout_cycle().
|
static |
Definition at line 70 of file workspace_layout_edit.cc.
References BKE_workspace_active_layout_get(), BKE_workspace_layout_remove(), BKE_workspace_layout_screen_get(), CTX_data_main(), CTX_wm_window(), ED_screen_change(), and wmWindow::workspace_hook.
Referenced by ED_workspace_layout_delete().
|
static |
Definition at line 100 of file workspace_layout_edit.cc.
References WorkSpaceLayout::next, WorkSpaceLayout::prev, and workspace_layout_set_poll().
Referenced by ED_workspace_layout_delete().
| bool workspace_layout_set_poll | ( | const WorkSpaceLayout * | layout | ) |
Definition at line 89 of file workspace_layout_edit.cc.
References BKE_screen_is_fullscreen_area(), BKE_screen_is_used(), BKE_workspace_layout_screen_get(), and USER_HIDE_DOT.
Referenced by workspace_change_find_new_layout_cb(), workspace_layout_cycle_iter_cb(), and workspace_layout_delete_find_new().