40#define SCREEN_DIR_IS_VERTICAL(dir) (ELEM(dir, SCREEN_DIR_N, SCREEN_DIR_S))
41#define SCREEN_DIR_IS_HORIZONTAL(dir) (ELEM(dir, SCREEN_DIR_W, SCREEN_DIR_E))
59#define AZONESPOTW UI_HEADER_OFFSET
60#define AZONESPOTH (0.6f * U.widget_unit)
61#define AZONEFADEIN (5.0f * U.widget_unit)
62#define AZONEFADEOUT (6.5f * U.widget_unit)
65#define AREAJOINTOLERANCEX (AREAMINX * UI_SCALE_FAC)
66#define AREAJOINTOLERANCEY (HEADERY * UI_SCALE_FAC)
71#define BORDERPADDING ((3.0f * UI_SCALE_FAC) + U.pixelsize)
157 const rcti *bounds_rect,
179 const rcti *window_rect,
ATTR_WARN_UNUSED_RESULT const BMVert * v2
OrientationBounds merge(const OrientationBounds &cone_a, const OrientationBounds &cone_b)
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)
const char * screen_context_dir[]
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)
void screen_draw_dock_preview(ScrArea *source, ScrArea *target, AreaDockTarget dock_target, float factor, int x, int y)
void screen_new_activate_prepare(const wmWindow *win, bScreen *screen_new)
void screen_geom_select_connected_edge(const wmWindow *win, ScrEdge *edge)
bool screen_geom_edge_is_horizontal(ScrEdge *se)
eScreenDir area_getorientation(ScrArea *sa_a, ScrArea *sa_b)
int screen_area_join(bContext *C, bScreen *screen, ScrArea *sa1, ScrArea *sa2)
ScrEdge * screen_geom_find_active_scredge(const wmWindow *win, const bScreen *screen, int mx, int my)
bool workspace_layout_set_poll(const WorkSpaceLayout *layout)
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)
bool screen_area_close(bContext *C, bScreen *screen, ScrArea *area)
void ED_area_data_swap(ScrArea *area_dst, ScrArea *area_src)
void screen_draw_move_highlight(bScreen *screen, eScreenAxis dir_axis)
int ed_screen_context(const bContext *C, const char *member, bContextDataResult *result)
int screen_geom_area_height(const ScrArea *area)
void screen_draw_join_highlight(const wmWindow *win, ScrArea *sa1, ScrArea *sa2, eScreenDir dir)
void screen_data_copy(bScreen *to, bScreen *from)
ScrEdge * screen_geom_area_map_find_active_scredge(const ScrAreaMap *area_map, const rcti *bounds_rect, int mx, int my)
void area_getoffsets(ScrArea *sa_a, ScrArea *sa_b, eScreenDir dir, int *r_offset1, int *r_offset2)
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.
void screen_area_spacelink_add(const Scene *scene, ScrArea *area, eSpace_Type space_type)