Blender  V3.3
Functions
workspace_layout_edit.c File Reference
#include <stdlib.h>
#include "BLI_listbase.h"
#include "BLI_utildefines.h"
#include "DNA_screen_types.h"
#include "DNA_workspace_types.h"
#include "BKE_context.h"
#include "BKE_main.h"
#include "BKE_screen.h"
#include "BKE_workspace.h"
#include "WM_api.h"
#include "ED_screen.h"
#include "screen_intern.h"

Go to the source code of this file.

Functions

WorkSpaceLayoutED_workspace_layout_add (Main *bmain, WorkSpace *workspace, wmWindow *win, const char *name)
 
WorkSpaceLayoutED_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)
 
bool workspace_layout_set_poll (const WorkSpaceLayout *layout)
 
static WorkSpaceLayoutworkspace_layout_delete_find_new (const WorkSpaceLayout *layout_old)
 
bool ED_workspace_layout_delete (WorkSpace *workspace, WorkSpaceLayout *layout_old, bContext *C)
 
static bool workspace_change_find_new_layout_cb (const WorkSpaceLayout *layout, void *UNUSED(arg))
 
static bScreenscreen_fullscreen_find_associated_normal_screen (const Main *bmain, bScreen *screen)
 
static bool screen_is_used_by_other_window (const wmWindow *win, const bScreen *screen)
 
WorkSpaceLayoutED_workspace_screen_change_ensure_unused_layout (Main *bmain, WorkSpace *workspace, WorkSpaceLayout *layout_new, const WorkSpaceLayout *layout_fallback_base, wmWindow *win)
 
static bool workspace_layout_cycle_iter_cb (const WorkSpaceLayout *layout, void *UNUSED(arg))
 
bool ED_workspace_layout_cycle (WorkSpace *workspace, const short direction, bContext *C)
 

Function Documentation

◆ ED_workspace_layout_add()

WorkSpaceLayout* ED_workspace_layout_add ( struct Main bmain,
struct WorkSpace workspace,
struct wmWindow win,
const char *  name 
)

Empty screen, with 1 dummy area without space-data. Uses window size.

Definition at line 26 of file workspace_layout_edit.c.

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().

◆ ED_workspace_layout_cycle()

bool ED_workspace_layout_cycle ( WorkSpace workspace,
const short  direction,
bContext C 
)

◆ ED_workspace_layout_delete()

bool ED_workspace_layout_delete ( struct WorkSpace workspace,
struct WorkSpaceLayout layout_old,
struct bContext C 
)
Warning
Only call outside of area/region loops!
Returns
true if succeeded.

Definition at line 115 of file workspace_layout_edit.c.

References BKE_screen_is_fullscreen_area(), BKE_workspace_layout_screen_get(), BLI_assert, BLI_findindex(), C, WorkSpace::layouts, workspace_layout_delete_doit(), and workspace_layout_delete_find_new().

Referenced by wm_event_do_notifiers().

◆ ED_workspace_layout_duplicate()

WorkSpaceLayout* ED_workspace_layout_duplicate ( Main bmain,
WorkSpace workspace,
const WorkSpaceLayout layout_old,
wmWindow win 
)

◆ ED_workspace_screen_change_ensure_unused_layout()

WorkSpaceLayout* ED_workspace_screen_change_ensure_unused_layout ( Main bmain,
WorkSpace workspace,
WorkSpaceLayout layout_new,
const WorkSpaceLayout layout_fallback_base,
wmWindow win 
)

◆ screen_fullscreen_find_associated_normal_screen()

static bScreen* screen_fullscreen_find_associated_normal_screen ( const Main bmain,
bScreen screen 
)
static

◆ screen_is_used_by_other_window()

static bool screen_is_used_by_other_window ( const wmWindow win,
const bScreen screen 
)
static

◆ workspace_change_find_new_layout_cb()

static bool workspace_change_find_new_layout_cb ( const WorkSpaceLayout layout,
void UNUSEDarg 
)
static

◆ workspace_layout_cycle_iter_cb()

static bool workspace_layout_cycle_iter_cb ( const WorkSpaceLayout layout,
void UNUSEDarg 
)
static

Definition at line 193 of file workspace_layout_edit.c.

References workspace_layout_set_poll().

Referenced by ED_workspace_layout_cycle().

◆ workspace_layout_delete_doit()

static bool workspace_layout_delete_doit ( WorkSpace workspace,
WorkSpaceLayout layout_old,
WorkSpaceLayout layout_new,
bContext C 
)
static

◆ workspace_layout_delete_find_new()

static WorkSpaceLayout* workspace_layout_delete_find_new ( const WorkSpaceLayout layout_old)
static

◆ workspace_layout_set_poll()

bool workspace_layout_set_poll ( const WorkSpaceLayout layout)