37 screen =
screen_add(bmain, name, &screen_rect);
102 for (
WorkSpaceLayout *layout_new = layout_old->
prev; layout_new; layout_new = layout_new->next) {
108 for (
WorkSpaceLayout *layout_new = layout_old->
next; layout_new; layout_new = layout_new->next) {
152 ScrArea *area =
static_cast<ScrArea *
>(screen_iter->areabase.first);
153 if (area && area->full == screen) {
208 if (old_screen->
temp || (area && area->full && area->full->temp)) {
217 (direction == -1) ?
true :
220 if (new_layout && (old_layout != new_layout)) {
223 if (area && area->full) {
ScrArea * CTX_wm_area(const bContext *C)
wmWindow * CTX_wm_window(const bContext *C)
Main * CTX_data_main(const bContext *C)
bool BKE_screen_is_used(const bScreen *screen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
bool BKE_screen_is_fullscreen_area(const bScreen *screen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
WorkSpaceLayout * BKE_workspace_layout_find(const WorkSpace *workspace, const bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
const char * BKE_workspace_layout_name_get(const WorkSpaceLayout *layout) GETTER_ATTRS
bScreen * BKE_workspace_layout_screen_get(const WorkSpaceLayout *layout) GETTER_ATTRS
void BKE_workspace_layout_remove(Main *bmain, WorkSpace *workspace, WorkSpaceLayout *layout) ATTR_NONNULL()
WorkSpaceLayout WorkSpaceLayout * BKE_workspace_layout_iter_circular(const WorkSpace *workspace, WorkSpaceLayout *start, bool(*callback)(const WorkSpaceLayout *layout, void *arg), void *arg, bool iter_backward)
WorkSpaceLayout * BKE_workspace_layout_add(Main *bmain, WorkSpace *workspace, bScreen *screen, const char *name) ATTR_NONNULL()
WorkSpaceLayout * BKE_workspace_active_layout_get(const WorkSpaceInstanceHook *hook) GETTER_ATTRS
#define LISTBASE_FOREACH(type, var, list)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void ED_area_tag_redraw(ScrArea *area)
void ED_screen_full_restore(bContext *C, ScrArea *area)
bool ED_screen_change(bContext *C, bScreen *screen)
Change the active screen.
void ED_area_data_copy(ScrArea *area_dst, ScrArea *area_src, const bool do_free)
void screen_data_copy(bScreen *to, bScreen *from)
bScreen * screen_add(Main *bmain, const char *name, const rcti *rect)
struct WorkSpaceLayout * next
struct WorkSpaceLayout * prev
struct WorkSpaceInstanceHook * workspace_hook
void WM_window_screen_rect_calc(const wmWindow *win, rcti *r_rect)
static bool workspace_layout_cycle_iter_cb(const WorkSpaceLayout *layout, void *)
WorkSpaceLayout * ED_workspace_layout_add(Main *bmain, WorkSpace *workspace, wmWindow *win, const char *name)
bool workspace_layout_set_poll(const WorkSpaceLayout *layout)
static bool workspace_change_find_new_layout_cb(const WorkSpaceLayout *layout, void *)
WorkSpaceLayout * ED_workspace_layout_duplicate(Main *bmain, WorkSpace *workspace, const WorkSpaceLayout *layout_old, wmWindow *win)
static bool workspace_layout_delete_doit(WorkSpace *workspace, WorkSpaceLayout *layout_old, WorkSpaceLayout *layout_new, bContext *C)
WorkSpaceLayout * ED_workspace_screen_change_ensure_unused_layout(Main *bmain, WorkSpace *workspace, WorkSpaceLayout *layout_new, const WorkSpaceLayout *layout_fallback_base, wmWindow *win)
static bScreen * screen_fullscreen_find_associated_normal_screen(const Main *bmain, bScreen *screen)
static WorkSpaceLayout * workspace_layout_delete_find_new(const WorkSpaceLayout *layout_old)
bool ED_workspace_layout_cycle(WorkSpace *workspace, const short direction, bContext *C)
bool ED_workspace_layout_delete(WorkSpace *workspace, WorkSpaceLayout *layout_old, bContext *C)
static bool screen_is_used_by_other_window(const wmWindow *win, const bScreen *screen)