75 area->v1 = bottom_left;
78 area->v4 = bottom_right;
79 area->spacetype = spacetype;
239 for (
ScrVert *s1 =
from->vertbase.first; s1; s1 = s1->next, s2 = s2->
next) {
244 se->v1 = se->v1->newv;
245 se->v2 = se->v2->newv;
263 from_area = from_area->
next;
307 else if (saTL->
vec.
y == sbBL->
vec.
y &&
338 if (
v1->vec.x == from_x) {
352 if (
v1->vec.y == from_y) {
365 if (
ELEM(dir, 0, 2)) {
522 printf(
"%s: set screen\n", __func__);
540 if (win->eventstate) {
609 if (
area->type &&
area->type->exit) {
722 if (screen ==
NULL) {
758 bool do_draw =
false;
762 if (region == region_prev && area_iter->
type->deactivate) {
763 area_iter->type->deactivate(area_iter);
766 if (region == region_prev && region != screen->
active_region) {
816 if (win && screen &&
area) {
850 return screen_addarea_ex(area_map, bottom_left, top_left, top_right, bottom_right, spacetype);
870 const short height_cur,
871 const short height_min,
872 const short height_max)
881 if (area_iter->spacetype == space_type) {
902 area->global->size_max = height_max;
903 area->global->size_min = height_min;
904 area->global->align = align;
907 if (
area->global->cur_fixed_height != height_cur) {
909 area->global->cur_fixed_height = height_cur;
933 const short size_min = 1;
954 if (
area->global->cur_fixed_height ==
area->global->size_min) {
991 if (screen_old != screen_new) {
1050 bmain, workspace, layout, layout, win);
1055 if (screen_old != screen_new) {
1080 if (v3d ==
area->spacedata.first) {
1081 regionbase = &
area->regionbase;
1117 if (view_layer_old) {
1246 BLI_snprintf(newname,
sizeof(newname),
"%s-%s", oldscreen->
id.
name + 2,
"nonnormal");
1275 region->flagfullscreen = region->flag;
1277 if (
ELEM(region->regiontype,
1291 toggle_area->
full = oldscreen;
1293 newa->
full = oldscreen;
1336 if (region->regiontimer) {
1338 region->regiontimer =
NULL;
1350 screen =
area->full;
1363 if (old->full && !fullsa) {
1380 region->flag = region->flagfullscreen;
1408 if (!toggle_area || toggle_area->
global) {
1450 switch (display_type) {
1468 if (ctx_area !=
NULL && ctx_area->
full) {
1498 "refresh_viewport_fps fps_info");
1562 char spacetype = -1;
1565 spacetype =
area->spacetype;
1590 if (region->winrct.xmin - region->winrct.ymin <
min) {
1591 region_top_left = region;
1592 min = region->winrct.xmin - region->winrct.ymin;
1599 return region_top_left;
1623 #ifdef DURIAN_CAMERA_SWITCH
1624 void *camera = BKE_scene_camera_switch_find(
scene);
1649 switch (
area->spacetype) {
1653 if (!is_multiview) {
1657 v3d =
area->spacedata.first;
1675 sima =
area->spacedata.first;
1685 if (!is_multiview) {
1689 snode =
area->spacedata.first;
1698 if (!is_multiview) {
1702 sseq =
area->spacedata.first;
1743 const bool only_visible)
1747 if (
area->spacedata.first == sl) {
struct WorkSpace * CTX_wm_workspace(const bContext *C)
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
void CTX_wm_region_set(bContext *C, struct ARegion *region)
void CTX_data_scene_set(bContext *C, struct Scene *scene)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct bScreen * CTX_wm_screen(const bContext *C)
void CTX_wm_window_set(bContext *C, struct wmWindow *win)
struct ARegion * CTX_wm_region(const bContext *C)
struct Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
void CTX_wm_area_set(bContext *C, struct ScrArea *area)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
void BKE_icon_changed(const int icon_id)
bool BKE_image_is_stereo(struct Image *ima)
struct Object * BKE_view_layer_camera_find(struct ViewLayer *view_layer)
struct Base * BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Object *ob)
void * BKE_libblock_alloc(struct Main *bmain, short type, const char *name, const int flag) ATTR_WARN_UNUSED_RESULT
void BKE_scene_graph_update_for_newframe(struct Depsgraph *depsgraph)
void BKE_screen_area_free(struct ScrArea *area)
void BKE_screen_view3d_sync(struct View3D *v3d, struct Scene *scene)
void BKE_screen_area_map_free(struct ScrAreaMap *area_map) ATTR_NONNULL()
void BKE_screen_remove_double_scredges(struct bScreen *screen)
void BKE_screen_remove_unused_scredges(struct bScreen *screen)
void BKE_area_region_free(struct SpaceType *st, struct ARegion *region)
void BKE_screen_view3d_scene_sync(struct bScreen *screen, struct Scene *scene)
void BKE_screen_free(struct bScreen *screen)
void BKE_screen_sort_scrvert(struct ScrVert **v1, struct ScrVert **v2)
struct SpaceType * BKE_spacetype_from_id(int spaceid)
void BKE_screen_header_alignment_reset(struct bScreen *screen)
void BKE_screen_remove_double_scrverts(struct bScreen *screen)
void BKE_sound_stop_scene(struct Scene *scene)
void BKE_workspace_layout_remove(struct Main *bmain, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) ATTR_NONNULL()
struct WorkSpace * BKE_workspace_active_get(struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
struct bScreen * BKE_workspace_active_screen_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
void BKE_workspace_active_set(struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace) SETTER_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
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void void void void BLI_duplicatelist(struct ListBase *dst, const struct ListBase *src) ATTR_NONNULL(1
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define UNUSED_VARS_NDEBUG(...)
struct Depsgraph Depsgraph
void DEG_time_tag_update(struct Main *bmain)
void DEG_id_tag_update(struct ID *id, int flag)
struct Scene * DEG_get_input_scene(const Depsgraph *graph)
struct ID * DEG_get_evaluated_id(const struct Depsgraph *depsgraph, struct ID *id)
@ ID_RECALC_COPY_ON_WRITE
Object is a sort of wrapper for general info.
#define OBACT(_view_layer)
#define AREAMAP_FROM_SCREEN(screen)
@ AREA_FLAG_STACKED_FULLSCREEN
@ SCREEN_COLLAPSE_STATUSBAR
@ GLOBAL_AREA_ALIGN_BOTTOM
@ SEQ_VIEW_SEQUENCE_PREVIEW
@ SPACE_FLAG_TYPE_WAS_ACTIVE
@ SPACE_FLAG_TYPE_TEMPORARY
@ USER_TEMP_SPACE_DISPLAY_FULLSCREEN
@ USER_TEMP_SPACE_DISPLAY_WINDOW
void ED_clip_update_frame(const struct Main *mainp, int cfra)
bool ED_node_is_compositor(struct SpaceNode *snode)
void ED_area_tag_redraw(ScrArea *area)
struct WorkSpaceLayout * ED_workspace_layout_add(struct Main *bmain, struct WorkSpace *workspace, struct wmWindow *win, const char *name) ATTR_NONNULL()
void ED_region_cursor_set(struct wmWindow *win, struct ScrArea *area, struct ARegion *region)
#define ED_screen_verts_iter(win, screen, vert_name)
#define ED_screen_areas_iter(win, screen, area_name)
void ED_area_status_text(ScrArea *area, const char *str)
void ED_area_prevspace(struct bContext *C, ScrArea *area)
struct WorkSpaceLayout * ED_workspace_screen_change_ensure_unused_layout(struct Main *bmain, struct WorkSpace *workspace, struct WorkSpaceLayout *layout_new, const struct WorkSpaceLayout *layout_fallback_base, struct wmWindow *win) ATTR_NONNULL()
int ED_area_headersize(void)
void ED_region_tag_redraw_no_rebuild(struct ARegion *region)
void ED_area_newspace(struct bContext *C, ScrArea *area, int type, const bool skip_region_exit)
bScreen * ED_screen_animation_playing(const struct wmWindowManager *wm)
void ED_area_tag_refresh(ScrArea *area)
void ED_area_init(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *area)
bool ED_region_contains_xy(const struct ARegion *region, const int event_xy[2])
void ED_workspace_status_text(struct bContext *C, const char *str)
struct AZone * ED_area_azones_update(ScrArea *area, const int mouse_xy[])
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble right
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble top
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble v1
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble bottom
Read Guarded memory(de)allocation.
void UI_blocklist_free(const struct bContext *C, struct ListBase *lb)
void UI_screen_free_active_but(const struct bContext *C, struct bScreen *screen)
@ WIN_ALIGN_LOCATION_CENTER
void ED_area_data_copy(ScrArea *area_dst, ScrArea *area_src, const bool do_free)
void ED_area_data_swap(ScrArea *area_dst, ScrArea *area_src)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
const Depsgraph * depsgraph
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
void split(const std::string &s, const char delim, std::vector< std::string > &tokens)
int ed_screen_context(const bContext *C, const char *member, bContextDataResult *result)
Scene * ED_screen_scene_find_with_window(const bScreen *screen, const wmWindowManager *wm, struct wmWindow **r_window)
Scene * ED_screen_scene_find(const bScreen *screen, const wmWindowManager *wm)
static bScreen * screen_state_to_nonnormal(bContext *C, wmWindow *win, ScrArea *toggle_area, int state)
void ED_screen_global_areas_sync(wmWindow *win)
int ED_screen_area_active(const bContext *C)
bool ED_screen_stereo3d_required(const bScreen *screen, const Scene *scene)
static ScrArea * screen_addarea(bScreen *screen, ScrVert *left_bottom, ScrVert *left_top, ScrVert *right_top, ScrVert *right_bottom, short spacetype)
static void screen_set_3dview_camera(Scene *scene, ViewLayer *view_layer, ScrArea *area, View3D *v3d)
ScrArea * ED_screen_area_find_with_spacedata(const bScreen *screen, const SpaceLink *sl, const bool only_visible)
ScrArea * ED_screen_temp_space_open(bContext *C, const char *title, int x, int y, int sizex, int sizey, eSpace_Type space_type, int display_type, bool dialog)
static void screen_areas_align(bContext *C, bScreen *screen, ScrArea *sa1, ScrArea *sa2, const int dir)
static void screen_area_set_geometry_rect(ScrArea *area, const rcti *rect)
void screen_change_prepare(bScreen *screen_old, bScreen *screen_new, Main *bmain, bContext *C, wmWindow *win)
ScrArea * ED_screen_state_maximized_create(bContext *C)
static int screen_global_header_size(void)
void screen_new_activate_prepare(const wmWindow *win, bScreen *screen_new)
static ScrArea * screen_area_create_with_geometry(ScrAreaMap *area_map, const rcti *rect, short spacetype)
int area_getorientation(ScrArea *area, ScrArea *sb)
static void region_cursor_set(wmWindow *win, bool swin_changed)
void ED_screen_full_restore(bContext *C, ScrArea *area)
static void screen_verts_halign(const wmWindow *win, const bScreen *screen, const short from_x, const short to_x)
void ED_refresh_viewport_fps(bContext *C)
static void screen_global_area_refresh(wmWindow *win, bScreen *screen, eSpace_Type space_type, GlobalAreaAlign align, const rcti *rect, const short height_cur, const short height_min, const short height_max)
ScrArea * ED_screen_full_newspace(bContext *C, ScrArea *area, int type)
static void screen_global_statusbar_area_refresh(wmWindow *win, bScreen *screen)
int screen_area_join(bContext *C, bScreen *screen, ScrArea *sa1, ScrArea *sa2)
wmWindow * ED_screen_window_find(const bScreen *screen, const wmWindowManager *wm)
void ED_screen_do_listen(bContext *C, wmNotifier *note)
static void screen_delarea(bContext *C, bScreen *screen, ScrArea *area)
void ED_screen_global_areas_refresh(wmWindow *win)
void ED_screen_refresh(wmWindowManager *wm, wmWindow *win)
bool ED_screen_change(bContext *C, bScreen *screen)
Change the active screen.
void ED_screen_animation_timer(bContext *C, int redraws, int sync, int enable)
void ED_screen_restore_temp_type(bContext *C, ScrArea *area)
static ScrArea * screen_addarea_ex(ScrAreaMap *area_map, ScrVert *bottom_left, ScrVert *top_left, ScrVert *top_right, ScrVert *bottom_right, short spacetype)
void screen_change_update(bContext *C, wmWindow *win, bScreen *screen)
ScrArea * ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *area, const short state)
void ED_screen_scene_change(bContext *C, wmWindow *win, Scene *scene)
static void screen_verts_valign(const wmWindow *win, const bScreen *screen, const short from_y, const short to_y)
void ED_screen_exit(bContext *C, wmWindow *window, bScreen *screen)
void ED_screen_ensure_updated(wmWindowManager *wm, wmWindow *win, bScreen *screen)
void ED_area_exit(bContext *C, ScrArea *area)
static void screen_global_topbar_area_refresh(wmWindow *win, bScreen *screen)
void ED_screens_init(Main *bmain, wmWindowManager *wm)
void ED_screen_animation_timer_update(bScreen *screen, int redraws)
void ED_screen_set_active_region(bContext *C, wmWindow *win, const int xy[2])
ScrArea * area_split(const wmWindow *win, bScreen *screen, ScrArea *area, char dir, float fac, int merge)
void ED_update_for_newframe(Main *bmain, Depsgraph *depsgraph)
static void screen_cursor_set(wmWindow *win, const int xy[2])
void screen_data_copy(bScreen *to, bScreen *from)
bScreen * screen_add(Main *bmain, const char *name, const rcti *rect)
static ARegion * time_top_left_3dwindow(bScreen *screen)
void ED_region_remove(bContext *C, ScrArea *area, ARegion *region)
void ED_region_exit(bContext *C, ARegion *region)
static void region_cursor_set_ex(wmWindow *win, ScrArea *area, ARegion *region, bool swin_changed)
void ED_screen_full_prevspace(bContext *C, ScrArea *area)
short screen_geom_find_area_split_point(const ScrArea *area, const rcti *window_rect, char dir, float fac)
bool screen_geom_edge_is_horizontal(ScrEdge *se)
ScrEdge * screen_geom_find_active_scredge(const wmWindow *win, const bScreen *screen, const int mx, const int my)
ScrEdge * screen_geom_edge_add(bScreen *screen, ScrVert *v1, ScrVert *v2)
ScrVert * screen_geom_vertex_add(bScreen *screen, short x, short y)
ScrEdge * screen_geom_edge_add_ex(ScrAreaMap *area_map, ScrVert *v1, ScrVert *v2)
ScrVert * screen_geom_vertex_add_ex(ScrAreaMap *area_map, short x, short y)
void screen_geom_vertices_scale(const wmWindow *win, bScreen *screen)
Main screen-layout calculation function.
struct AZone * ED_area_actionzone_find_xy(ScrArea *area, const int xy[2])
#define AREAJOINTOLERANCE
void(* exit)(struct wmWindowManager *wm, struct ARegion *region)
struct wmTimer * regiontimer
struct wmGizmoMap * gizmo_map
struct ARegionType * type
ScrGlobalAreaData * global
struct SpaceLink *(* create)(const struct ScrArea *area, const struct Scene *scene)
struct wmTimer * animtimer
struct ARegion * active_region
struct wmMsgBus * message_bus
struct wmEvent * eventstate
struct WorkSpaceInstanceHook * workspace_hook
__forceinline const avxi abs(const avxi &a)
__forceinline BoundBox merge(const BoundBox &bbox, const float3 &pt)
void WM_cursor_set(wmWindow *win, int curs)
void WM_draw_region_free(ARegion *region, bool hide)
void WM_event_remove_area_handler(ListBase *handlers, void *area)
void WM_event_modal_handler_region_replace(wmWindow *win, const ARegion *old_region, ARegion *new_region)
void WM_event_modal_handler_area_replace(wmWindow *win, const ScrArea *old_area, ScrArea *new_area)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void WM_event_remove_handlers(bContext *C, ListBase *handlers)
void WM_event_add_mousemove(wmWindow *win)
bool WM_gizmo_highlight_set(wmGizmoMap *gzmap, wmGizmo *gz)
void WM_msgbus_clear_by_owner(struct wmMsgBus *mbus, void *owner)
void WM_event_remove_timer(wmWindowManager *wm, wmWindow *UNUSED(win), wmTimer *timer)
void WM_window_ensure_active_view_layer(wmWindow *win)
int WM_window_pixels_y(const wmWindow *win)
WorkSpaceLayout * WM_window_get_active_layout(const wmWindow *win)
void WM_window_set_active_screen(wmWindow *win, WorkSpace *workspace, bScreen *screen)
void WM_window_set_dpi(const wmWindow *win)
void WM_event_timer_sleep(wmWindowManager *wm, wmWindow *UNUSED(win), wmTimer *timer, bool do_sleep)
bScreen * WM_window_get_active_screen(const wmWindow *win)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
WorkSpace * WM_window_get_active_workspace(const wmWindow *win)
bool WM_window_is_temp_screen(const wmWindow *win)
void WM_window_rect_calc(const wmWindow *win, rcti *r_rect)
int WM_window_pixels_x(const wmWindow *win)
wmWindow * WM_window_open(bContext *C, const char *title, int x, int y, int sizex, int sizey, int space_type, bool dialog, bool temp, WindowAlignment alignment)
Scene * WM_window_get_active_scene(const wmWindow *win)
wmTimer * WM_event_add_timer(wmWindowManager *wm, wmWindow *win, int event_type, double timestep)