Blender  V2.93
Macros | Functions | Variables
screen_intern.h File Reference

Go to the source code of this file.

Macros

#define AZONESPOTW   UI_HEADER_OFFSET /* width of corner #AZone - max */
 
#define AZONESPOTH   (0.6f * U.widget_unit) /* height of corner #AZone */
 
#define AZONEFADEIN   (5.0f * U.widget_unit) /* when #AZone is totally visible */
 
#define AZONEFADEOUT   (6.5f * U.widget_unit) /* when we start seeing the #AZone */
 
#define AREAJOINTOLERANCE   (1.0f * U.widget_unit) /* Edges must be close to allow joining. */
 
#define BORDERPADDING   (U.dpi_fac + U.pixelsize)
 

Functions

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)
 
void region_toggle_hidden (struct bContext *C, ARegion *region, const bool do_fade)
 
bScreenscreen_add (struct Main *bmain, const char *name, const rcti *rect)
 
void screen_data_copy (bScreen *to, bScreen *from)
 
void screen_new_activate_prepare (const wmWindow *win, bScreen *screen_new)
 
void screen_change_update (struct bContext *C, wmWindow *win, bScreen *screen)
 
void screen_change_prepare (bScreen *screen_old, bScreen *screen_new, struct Main *bmain, struct bContext *C, wmWindow *win)
 
ScrAreaarea_split (const wmWindow *win, bScreen *screen, ScrArea *area, char dir, float fac, int merge)
 
int screen_area_join (struct bContext *C, bScreen *screen, ScrArea *sa1, ScrArea *sa2)
 
int area_getorientation (ScrArea *area, ScrArea *sb)
 
struct AZoneED_area_actionzone_find_xy (ScrArea *area, const int xy[2])
 
int screen_geom_area_height (const ScrArea *area)
 
int screen_geom_area_width (const ScrArea *area)
 
ScrVertscreen_geom_vertex_add_ex (ScrAreaMap *area_map, short x, short y)
 
ScrVertscreen_geom_vertex_add (bScreen *screen, short x, short y)
 
ScrEdgescreen_geom_edge_add_ex (ScrAreaMap *area_map, ScrVert *v1, ScrVert *v2)
 
ScrEdgescreen_geom_edge_add (bScreen *screen, ScrVert *v1, ScrVert *v2)
 
bool screen_geom_edge_is_horizontal (ScrEdge *se)
 
ScrEdgescreen_geom_area_map_find_active_scredge (const struct ScrAreaMap *area_map, const rcti *bounds_rect, const int mx, const int my)
 
ScrEdgescreen_geom_find_active_scredge (const wmWindow *win, const bScreen *screen, const int mx, const int my)
 
void screen_geom_vertices_scale (const wmWindow *win, bScreen *screen)
 Main screen-layout calculation function. More...
 
short screen_geom_find_area_split_point (const ScrArea *area, const rcti *window_rect, char dir, float fac)
 
void screen_geom_select_connected_edge (const wmWindow *win, ScrEdge *edge)
 
int ed_screen_context (const struct bContext *C, const char *member, struct bContextDataResult *result)
 
void SCREEN_OT_screenshot (struct wmOperatorType *ot)
 
bool workspace_layout_set_poll (const struct WorkSpaceLayout *layout)
 

Variables

const char * screen_context_dir []
 

Macro Definition Documentation

◆ AREAJOINTOLERANCE

#define AREAJOINTOLERANCE   (1.0f * U.widget_unit) /* Edges must be close to allow joining. */

Definition at line 37 of file screen_intern.h.

◆ AZONEFADEIN

#define AZONEFADEIN   (5.0f * U.widget_unit) /* when #AZone is totally visible */

Definition at line 34 of file screen_intern.h.

◆ AZONEFADEOUT

#define AZONEFADEOUT   (6.5f * U.widget_unit) /* when we start seeing the #AZone */

Definition at line 35 of file screen_intern.h.

◆ AZONESPOTH

#define AZONESPOTH   (0.6f * U.widget_unit) /* height of corner #AZone */

Definition at line 33 of file screen_intern.h.

◆ AZONESPOTW

#define AZONESPOTW   UI_HEADER_OFFSET /* width of corner #AZone - max */

Definition at line 32 of file screen_intern.h.

◆ BORDERPADDING

#define BORDERPADDING   (U.dpi_fac + U.pixelsize)

Definition at line 40 of file screen_intern.h.

Function Documentation

◆ area_getorientation()

int area_getorientation ( ScrArea area,
ScrArea sb 
)

◆ area_split()

ScrArea* area_split ( const wmWindow win,
bScreen screen,
ScrArea area,
char  dir,
float  fac,
int  merge 
)

◆ ED_area_actionzone_find_xy()

struct AZone* ED_area_actionzone_find_xy ( ScrArea area,
const int  xy[2] 
)

◆ ED_area_data_copy()

void ED_area_data_copy ( ScrArea area_dst,
ScrArea area_src,
const bool  do_free 
)

◆ ED_area_data_swap()

void ED_area_data_swap ( ScrArea area_dst,
ScrArea area_src 
)

◆ ed_screen_context()

int ed_screen_context ( const struct bContext C,
const char *  member,
struct bContextDataResult result 
)

◆ region_toggle_hidden()

void region_toggle_hidden ( struct bContext C,
ARegion region,
const bool  do_fade 
)

◆ screen_add()

bScreen* screen_add ( Main bmain,
const char *  name,
const rcti rect 
)

◆ screen_area_join()

int screen_area_join ( struct bContext C,
bScreen screen,
ScrArea sa1,
ScrArea sa2 
)

◆ screen_change_prepare()

void screen_change_prepare ( bScreen screen_old,
bScreen screen_new,
Main bmain,
bContext C,
wmWindow win 
)

◆ screen_change_update()

void screen_change_update ( struct bContext C,
wmWindow win,
bScreen screen 
)

◆ screen_data_copy()

void screen_data_copy ( bScreen to,
bScreen from 
)

◆ screen_geom_area_height()

int screen_geom_area_height ( const ScrArea area)

◆ screen_geom_area_map_find_active_scredge()

ScrEdge* screen_geom_area_map_find_active_scredge ( const struct ScrAreaMap area_map,
const rcti bounds_rect,
const int  mx,
const int  my 
)

◆ screen_geom_area_width()

int screen_geom_area_width ( const ScrArea area)

◆ screen_geom_edge_add()

ScrEdge* screen_geom_edge_add ( bScreen screen,
ScrVert v1,
ScrVert v2 
)

Definition at line 76 of file screen_geometry.c.

References AREAMAP_FROM_SCREEN, screen_geom_edge_add_ex(), v1, and v2.

Referenced by area_split(), screen_add(), and screen_area_join().

◆ screen_geom_edge_add_ex()

ScrEdge* screen_geom_edge_add_ex ( ScrAreaMap area_map,
ScrVert v1,
ScrVert v2 
)

◆ screen_geom_edge_is_horizontal()

bool screen_geom_edge_is_horizontal ( ScrEdge se)

◆ screen_geom_find_active_scredge()

ScrEdge* screen_geom_find_active_scredge ( const wmWindow win,
const bScreen screen,
const int  mx,
const int  my 
)

◆ screen_geom_find_area_split_point()

short screen_geom_find_area_split_point ( const ScrArea area,
const rcti window_rect,
char  dir,
float  fac 
)
Returns
0 if no split is possible, otherwise the screen-coordinate at which to split.

Definition at line 305 of file screen_geometry.c.

References blender::compositor::area(), AREAMINX, CLAMP, ED_area_headersize(), round_fl_to_short(), screen_geom_area_height(), screen_geom_area_width(), x, rcti::xmax, rcti::xmin, y, rcti::ymax, and rcti::ymin.

Referenced by area_split().

◆ screen_geom_select_connected_edge()

void screen_geom_select_connected_edge ( const wmWindow win,
ScrEdge edge 
)

Select all edges that are directly or indirectly connected to edge.

Definition at line 372 of file screen_geometry.c.

References ED_screen_verts_iter, bScreen::edgebase, ScrVert::flag, LISTBASE_FOREACH, ScrEdge::v1, ScrEdge::v2, ScrVert::vec, WM_window_get_active_screen(), and vec2s::x.

Referenced by area_move_init(), and screen_geom_vertices_scale_pass().

◆ screen_geom_vertex_add()

ScrVert* screen_geom_vertex_add ( bScreen screen,
short  x,
short  y 
)

Definition at line 60 of file screen_geometry.c.

References AREAMAP_FROM_SCREEN, screen_geom_vertex_add_ex(), x, and y.

Referenced by area_split(), and screen_add().

◆ screen_geom_vertex_add_ex()

ScrVert* screen_geom_vertex_add_ex ( ScrAreaMap area_map,
short  x,
short  y 
)

◆ screen_geom_vertices_scale()

void screen_geom_vertices_scale ( const wmWindow win,
bScreen screen 
)

Main screen-layout calculation function.

  • Scale areas nicely on window size and DPI changes.
  • Ensure areas have a minimum height.
  • Correctly set global areas to their fixed height.

Definition at line 255 of file screen_geometry.c.

References blender::compositor::area(), ScrAreaMap::areabase, ED_area_global_size_y(), GLOBAL_AREA_ALIGN_BOTTOM, GLOBAL_AREA_ALIGN_TOP, GLOBAL_AREA_IS_HIDDEN, wmWindow::global_areas, height, LISTBASE_FOREACH, screen_geom_vertices_scale_pass(), WM_window_rect_calc(), WM_window_screen_rect_calc(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by ED_screen_refresh().

◆ screen_new_activate_prepare()

void screen_new_activate_prepare ( const wmWindow win,
bScreen screen_new 
)

Prepare a newly created screen for initializing it as active screen.

Definition at line 275 of file screen_edit.c.

References bScreen::do_draw, bScreen::do_refresh, bScreen::winid, and wmWindow::winid.

◆ SCREEN_OT_screenshot()

void SCREEN_OT_screenshot ( struct wmOperatorType ot)

◆ workspace_layout_set_poll()

bool workspace_layout_set_poll ( const struct WorkSpaceLayout layout)

Variable Documentation

◆ screen_context_dir

const char* screen_context_dir[]
extern

Definition at line 65 of file screen_context.c.

Referenced by ed_screen_context().