35 screen =
screen_add(bmain, name, &screen_rect);
215 (direction == -1) ?
true :
218 if (new_layout && (old_layout != new_layout)) {
struct ScrArea * CTX_wm_area(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
bool BKE_screen_is_used(const struct bScreen *screen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
bool BKE_screen_is_fullscreen_area(const struct bScreen *screen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_workspace_layout_remove(struct Main *bmain, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) ATTR_NONNULL()
struct WorkSpaceLayout * BKE_workspace_layout_add(struct Main *bmain, struct WorkSpace *workspace, struct bScreen *screen, const char *name) ATTR_NONNULL()
struct WorkSpaceLayout struct WorkSpaceLayout * BKE_workspace_layout_iter_circular(const struct WorkSpace *workspace, struct WorkSpaceLayout *start, bool(*callback)(const struct WorkSpaceLayout *layout, void *arg), void *arg, bool iter_backward)
const char * BKE_workspace_layout_name_get(const struct WorkSpaceLayout *layout) GETTER_ATTRS
struct WorkSpaceLayout * BKE_workspace_active_layout_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
struct bScreen * BKE_workspace_layout_screen_get(const struct WorkSpaceLayout *layout) GETTER_ATTRS
struct WorkSpaceLayout * BKE_workspace_layout_find(const struct WorkSpace *workspace, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
#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(struct bContext *C, ScrArea *area)
bool ED_screen_change(struct bContext *C, struct bScreen *screen)
Change the active screen.
void ED_area_data_copy(ScrArea *area_dst, ScrArea *area_src, const bool do_free)
static void area(int d1, int d2, int e1, int e2, float weights[2])
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 *UNUSED(arg))
bool workspace_layout_set_poll(const WorkSpaceLayout *layout)
static bScreen * screen_fullscreen_find_associated_normal_screen(const Main *bmain, bScreen *screen)
static bool workspace_layout_delete_doit(WorkSpace *workspace, WorkSpaceLayout *layout_old, WorkSpaceLayout *layout_new, bContext *C)
WorkSpaceLayout * ED_workspace_layout_duplicate(Main *bmain, WorkSpace *workspace, const WorkSpaceLayout *layout_old, wmWindow *win)
static bool workspace_change_find_new_layout_cb(const WorkSpaceLayout *layout, void *UNUSED(arg))
bool ED_workspace_layout_cycle(WorkSpace *workspace, const short direction, bContext *C)
WorkSpaceLayout * ED_workspace_layout_add(Main *bmain, WorkSpace *workspace, wmWindow *win, const char *name)
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)
static WorkSpaceLayout * workspace_layout_delete_find_new(const WorkSpaceLayout *layout_old)
WorkSpaceLayout * ED_workspace_screen_change_ensure_unused_layout(Main *bmain, WorkSpace *workspace, WorkSpaceLayout *layout_new, const WorkSpaceLayout *layout_fallback_base, wmWindow *win)