44#define SCREEN_DIR_IS_VERTICAL(dir) (ELEM(dir, SCREEN_DIR_N, SCREEN_DIR_S))
45#define SCREEN_DIR_IS_HORIZONTAL(dir) (ELEM(dir, SCREEN_DIR_W, SCREEN_DIR_E))
63#define AZONEFADEIN (5.0f * U.widget_unit)
64#define AZONEFADEOUT (6.5f * U.widget_unit)
67#define AREAJOINTOLERANCEX (AREAMINX * UI_SCALE_FAC)
68#define AREAJOINTOLERANCEY (HEADERY * UI_SCALE_FAC)
73#define BORDERPADDING (U.border_width * UI_SCALE_FAC + 3.0f * UI_SCALE_FAC)
78#define EDITORRADIUS (6.0f * UI_SCALE_FAC)
81#define BORDERPADDING_GLOBAL (3.0f * UI_SCALE_FAC)
83#define AREA_CLOSE_FADEOUT 0.15f
84#define AREA_DOCK_FADEOUT 0.15f
85#define AREA_DOCK_FADEIN 0.15f
86#define AREA_JOIN_FADEOUT 0.15f
87#define AREA_SPLIT_FADEOUT 0.15f
88#define AREA_MOVE_LINE_FADEIN 0.1f
89#define AREA_MOVE_LINE_FADEOUT 0.15f
200 const rcti *bounds_rect,
223 const rcti *window_rect,
ATTR_WARN_UNUSED_RESULT const BMVert * v2
OrientationBounds merge(const OrientationBounds &cone_a, const OrientationBounds &cone_b)
const char * screen_context_dir[]
ScrVert * screen_geom_vertex_add(bScreen *screen, short x, short y)
short screen_geom_find_area_split_point(const ScrArea *area, const rcti *window_rect, eScreenAxis dir_axis, float fac)
ScrArea * area_split(const wmWindow *win, bScreen *screen, ScrArea *area, eScreenAxis dir_axis, float fac, bool merge)
void ED_area_data_copy(ScrArea *area_dst, ScrArea *area_src, bool do_free)
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_OT_screenshot(wmOperatorType *ot)
void screen_draw_split_preview(ScrArea *area, eScreenAxis dir_axis, float factor)
void screen_draw_region_scale_highlight(ARegion *region)
AZone * ED_area_actionzone_find_xy(ScrArea *area, const int xy[2])
ScrEdge * screen_geom_edge_add(bScreen *screen, ScrVert *v1, ScrVert *v2)
void screen_change_prepare(bScreen *screen_old, bScreen *screen_new, Main *bmain, bContext *C, wmWindow *win)
bool area_regions_poll(bContext *C, const bScreen *screen, ScrArea *area)
void screen_new_activate_prepare(const wmWindow *win, bScreen *screen_new)
void screen_geom_select_connected_edge(const wmWindow *win, ScrEdge *edge)
ScrEdge * screen_geom_area_map_find_active_scredge(const ScrAreaMap *area_map, const rcti *bounds_rect, int mx, int my, int safety=BORDERPADDING)
bool screen_geom_edge_is_horizontal(ScrEdge *se)
eScreenDir area_getorientation(ScrArea *sa_a, ScrArea *sa_b)
ScrEdge * screen_geom_find_active_scredge(const wmWindow *win, const bScreen *screen, int mx, int my)
bool workspace_layout_set_poll(const WorkSpaceLayout *layout)
bool screen_area_close(bContext *C, ReportList *reports, bScreen *screen, ScrArea *area)
void screen_draw_move_highlight(const wmWindow *win, bScreen *screen, eScreenAxis dir_axis, float anim_factor)
void SCREEN_OT_screenshot_area(wmOperatorType *ot)
void screen_change_update(bContext *C, wmWindow *win, bScreen *screen)
int screen_geom_area_width(const ScrArea *area)
void ED_area_data_swap(ScrArea *area_dst, ScrArea *area_src)
int ed_screen_context(const bContext *C, const char *member, bContextDataResult *result)
void screen_draw_dock_preview(const wmWindow *win, ScrArea *source, ScrArea *target, AreaDockTarget dock_target, float factor, int x, int y, float anim_factor)
int screen_geom_area_height(const ScrArea *area)
void screen_data_copy(bScreen *to, bScreen *from)
void area_getoffsets(ScrArea *sa_a, ScrArea *sa_b, eScreenDir dir, int *r_offset1, int *r_offset2)
void screen_animate_area_highlight(wmWindow *win, bScreen *screen, const rcti *rect, float inner[4], float outline[4], float seconds)
void screen_draw_join_highlight(const wmWindow *win, ScrArea *sa1, ScrArea *sa2, eScreenDir dir, float anim_factor)
void region_toggle_hidden(bContext *C, ARegion *region, bool do_fade)
bScreen * screen_add(Main *bmain, const char *name, const rcti *rect)
void screen_geom_vertices_scale(const wmWindow *win, bScreen *screen)
Main screen-layout calculation function.
int screen_area_join(bContext *C, ReportList *reports, bScreen *screen, ScrArea *sa1, ScrArea *sa2)
void screen_area_spacelink_add(const Scene *scene, ScrArea *area, eSpace_Type space_type)