Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions
area.c File Reference
#include <stdio.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_userdef_types.h"
#include "BLI_blenlib.h"
#include "BLI_linklist_stack.h"
#include "BLI_math.h"
#include "BLI_rand.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_screen.h"
#include "BKE_workspace.h"
#include "RNA_access.h"
#include "RNA_types.h"
#include "WM_api.h"
#include "WM_message.h"
#include "WM_toolsystem.h"
#include "WM_types.h"
#include "ED_buttons.h"
#include "ED_screen.h"
#include "ED_screen_types.h"
#include "ED_space_api.h"
#include "ED_time_scrub_ui.h"
#include "GPU_framebuffer.h"
#include "GPU_immediate.h"
#include "GPU_immediate_util.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
#include "BLF_api.h"
#include "IMB_imbuf_types.h"
#include "IMB_metadata.h"
#include "UI_interface.h"
#include "UI_interface_icons.h"
#include "UI_resources.h"
#include "UI_view2d.h"
#include "screen_intern.h"

Go to the source code of this file.

Classes

struct  RegionTypeAlignInfo
 
struct  MetadataPanelDrawContext
 

Macros

#define AZONEPAD_EDGE   (0.1f * U.widget_unit)
 
#define AZONEPAD_ICON   (0.45f * U.widget_unit)
 

Typedefs

typedef struct MetadataPanelDrawContext MetadataPanelDrawContext
 

Enumerations

enum  RegionEmbossSide {
  REGION_EMBOSS_LEFT = (1 << 0) , REGION_EMBOSS_TOP = (1 << 1) , REGION_EMBOSS_BOTTOM = (1 << 2) , REGION_EMBOSS_RIGHT = (1 << 3) ,
  REGION_EMBOSS_ALL
}
 

Functions

static void region_draw_emboss (const ARegion *region, const rcti *scirct, int sides)
 
void ED_region_pixelspace (const ARegion *region)
 
void ED_region_do_listen (wmRegionListenerParams *params)
 
void ED_area_do_listen (wmSpaceTypeListenerParams *params)
 
void ED_area_do_refresh (bContext *C, ScrArea *area)
 
static void area_draw_azone_fullscreen (short UNUSED(x1), short UNUSED(y1), short x2, short y2, float alpha)
 Corner widget use for quitting fullscreen. More...
 
static void area_draw_azone (short UNUSED(x1), short UNUSED(y1), short UNUSED(x2), short UNUSED(y2))
 Corner widgets use for dragging and splitting the view. More...
 
static void draw_azone_arrow (float x1, float y1, float x2, float y2, AZEdge edge)
 Edge widgets to show hidden panels such as the toolbar and headers. More...
 
static void region_draw_azone_tab_arrow (ScrArea *area, ARegion *region, AZone *az)
 
static void area_azone_tag_update (ScrArea *area)
 
static void region_draw_azones (ScrArea *area, ARegion *region)
 
static void region_draw_status_text (ScrArea *area, ARegion *region)
 
void ED_region_do_msg_notify_tag_redraw (bContext *UNUSED(C), wmMsgSubscribeKey *UNUSED(msg_key), wmMsgSubscribeValue *msg_val)
 
void ED_area_do_msg_notify_tag_refresh (bContext *UNUSED(C), wmMsgSubscribeKey *UNUSED(msg_key), wmMsgSubscribeValue *msg_val)
 
void ED_area_do_mgs_subscribe_for_tool_header (const wmRegionMessageSubscribeParams *params)
 
void ED_area_do_mgs_subscribe_for_tool_ui (const wmRegionMessageSubscribeParams *params)
 
static bool area_is_pseudo_minimized (const ScrArea *area)
 
void ED_region_do_layout (bContext *C, ARegion *region)
 
void ED_region_do_draw (bContext *C, ARegion *region)
 
void ED_region_tag_redraw (ARegion *region)
 
void ED_region_tag_redraw_cursor (ARegion *region)
 
void ED_region_tag_redraw_no_rebuild (ARegion *region)
 
void ED_region_tag_refresh_ui (ARegion *region)
 
void ED_region_tag_redraw_editor_overlays (struct ARegion *region)
 
void ED_region_tag_redraw_partial (ARegion *region, const rcti *rct, bool rebuild)
 
void ED_area_tag_redraw (ScrArea *area)
 
void ED_area_tag_redraw_no_rebuild (ScrArea *area)
 
void ED_area_tag_redraw_regiontype (ScrArea *area, int regiontype)
 
void ED_area_tag_refresh (ScrArea *area)
 
const char * ED_area_region_search_filter_get (const ScrArea *area, const ARegion *region)
 
void ED_region_search_filter_update (const ScrArea *area, ARegion *region)
 
void ED_area_status_text (ScrArea *area, const char *str)
 
void ED_workspace_status_text (bContext *C, const char *str)
 
static void area_azone_init (wmWindow *win, const bScreen *screen, ScrArea *area)
 
static void fullscreen_azone_init (ScrArea *area, ARegion *region)
 
static void region_azone_edge (AZone *az, ARegion *region)
 
static void region_azone_tab_plus (ScrArea *area, AZone *az, ARegion *region)
 
static bool region_azone_edge_poll (const ARegion *region, const bool is_fullscreen)
 
static void region_azone_edge_init (ScrArea *area, ARegion *region, AZEdge edge, const bool is_fullscreen)
 
static void region_azone_scrollbar_init (ScrArea *area, ARegion *region, AZScrollDirection direction)
 
static void region_azones_scrollbars_init (ScrArea *area, ARegion *region)
 
static void region_azones_add_edge (ScrArea *area, ARegion *region, const int alignment, const bool is_fullscreen)
 
static void region_azones_add (const bScreen *screen, ScrArea *area, ARegion *region)
 
static int rct_fits (const rcti *rect, const eScreenAxis dir_axis, int size)
 
static void region_overlap_fix (ScrArea *area, ARegion *region)
 
bool ED_region_is_overlap (int spacetype, int regiontype)
 
static void region_rect_recursive (ScrArea *area, ARegion *region, rcti *remainder, rcti *overlap_remainder, int quad)
 
static void area_calc_totrct (ScrArea *area, const rcti *window_rect)
 
static void region_subwindow (ARegion *region)
 
static bool event_in_markers_region (const ARegion *region, const wmEvent *event)
 
static void ed_default_handlers (wmWindowManager *wm, ScrArea *area, ARegion *region, ListBase *handlers, int flag)
 
void ED_area_update_region_sizes (wmWindowManager *wm, wmWindow *win, ScrArea *area)
 
bool ED_area_has_shared_border (struct ScrArea *a, struct ScrArea *b)
 
void ED_area_init (wmWindowManager *wm, wmWindow *win, ScrArea *area)
 
static void area_offscreen_init (ScrArea *area)
 
ScrAreaED_area_offscreen_create (wmWindow *win, eSpace_Type space_type)
 
static void area_offscreen_exit (wmWindowManager *wm, wmWindow *win, ScrArea *area)
 
void ED_area_offscreen_free (wmWindowManager *wm, wmWindow *win, ScrArea *area)
 
static void region_update_rect (ARegion *region)
 
void ED_region_update_rect (ARegion *region)
 
void ED_region_floating_init (ARegion *region)
 
void ED_region_cursor_set (wmWindow *win, ScrArea *area, ARegion *region)
 
void ED_region_visibility_change_update (bContext *C, ScrArea *area, ARegion *region)
 
void region_toggle_hidden (bContext *C, ARegion *region, const bool do_fade)
 
void ED_region_toggle_hidden (bContext *C, ARegion *region)
 
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 ED_area_swapspace (bContext *C, ScrArea *sa1, ScrArea *sa2)
 
void ED_area_newspace (bContext *C, ScrArea *area, int type, const bool skip_region_exit)
 
static SpaceLinkarea_get_prevspace (ScrArea *area)
 
void ED_area_prevspace (bContext *C, ScrArea *area)
 
int ED_area_header_switchbutton (const bContext *C, uiBlock *block, int yco)
 
static ThemeColorID region_background_color_id (const bContext *C, const ARegion *region)
 
static void region_clear_color (const bContext *C, const ARegion *region, ThemeColorID colorid)
 
BLI_INLINE bool streq_array_any (const char *s, const char *arr[])
 
static void ed_panel_draw (const bContext *C, ARegion *region, ListBase *lb, PanelType *pt, Panel *panel, int w, int em, char *unique_panel_str, const char *search_filter)
 
static bool panel_add_check (const bContext *C, const WorkSpace *workspace, const char *contexts[], const char *category_override, PanelType *panel_type)
 
static bool region_uses_category_tabs (const ScrArea *area, const ARegion *region)
 
static const char * region_panels_collect_categories (ARegion *region, LinkNode *panel_types_stack, bool *use_category_tabs)
 
static int panel_draw_width_from_max_width_get (const ARegion *region, const PanelType *panel_type, const int max_width)
 
void ED_region_panels_layout_ex (const bContext *C, ARegion *region, ListBase *paneltypes, const char *contexts[], const char *category_override)
 
void ED_region_panels_layout (const bContext *C, ARegion *region)
 
void ED_region_panels_draw (const bContext *C, ARegion *region)
 
void ED_region_panels_ex (const bContext *C, ARegion *region, const char *contexts[])
 
void ED_region_panels (const bContext *C, ARegion *region)
 
void ED_region_panels_init (wmWindowManager *wm, ARegion *region)
 
static bool panel_property_search (const bContext *C, ARegion *region, const uiStyle *style, Panel *panel, PanelType *panel_type, const char *search_filter)
 
bool ED_region_property_search (const bContext *C, ARegion *region, ListBase *paneltypes, const char *contexts[], const char *category_override)
 
void ED_region_header_layout (const bContext *C, ARegion *region)
 
void ED_region_header_draw (const bContext *C, ARegion *region)
 
void ED_region_header (const bContext *C, ARegion *region)
 
void ED_region_header_init (ARegion *region)
 
int ED_area_headersize (void)
 
int ED_area_footersize (void)
 
int ED_area_global_size_y (const ScrArea *area)
 
int ED_area_global_min_size_y (const ScrArea *area)
 
int ED_area_global_max_size_y (const ScrArea *area)
 
bool ED_area_is_global (const ScrArea *area)
 
ScrAreaED_area_find_under_cursor (const bContext *C, int spacetype, const int xy[2])
 
ScrAreaED_screen_areas_iter_first (const wmWindow *win, const bScreen *screen)
 
ScrAreaED_screen_areas_iter_next (const bScreen *screen, const ScrArea *area)
 
int ED_region_global_size_y (void)
 
void ED_region_info_draw_multiline (ARegion *region, const char *text_array[], float fill_color[4], const bool full_redraw)
 
void ED_region_info_draw (ARegion *region, const char *text, float fill_color[4], const bool full_redraw)
 
static void metadata_panel_draw_field (const char *field, const char *value, void *ctx_v)
 
void ED_region_image_metadata_panel_draw (ImBuf *ibuf, uiLayout *layout)
 
void ED_region_grid_draw (ARegion *region, float zoomx, float zoomy, float x0, float y0)
 
static void region_visible_rect_calc (ARegion *region, rcti *rect)
 
const rctiED_region_visible_rect (ARegion *region)
 
void ED_region_cache_draw_background (ARegion *region)
 
void ED_region_cache_draw_curfra_label (const int framenr, const float x, const float y)
 
void ED_region_cache_draw_cached_segments (ARegion *region, const int num_segments, const int *points, const int sfra, const int efra)
 
void ED_region_message_subscribe (wmRegionMessageSubscribeParams *params)
 
int ED_region_snap_size_test (const ARegion *region)
 
bool ED_region_snap_size_apply (ARegion *region, int snap_flag)
 
Region Alignment Syncing for Space Switching
static void region_align_info_from_area (ScrArea *area, struct RegionTypeAlignInfo *r_align_info)
 
static short region_alignment_from_header_and_tool_header_state (const struct RegionTypeAlignInfo *region_align_info, const short fallback)
 
static void region_align_info_to_area_for_headers (const struct RegionTypeAlignInfo *region_align_info_src, const struct RegionTypeAlignInfo *region_align_info_dst, ARegion *region_by_type[RGN_TYPE_NUM])
 
static void region_align_info_to_area (ScrArea *area, const struct RegionTypeAlignInfo region_align_info_src[RGN_TYPE_NUM])
 

Macro Definition Documentation

◆ AZONEPAD_EDGE

#define AZONEPAD_EDGE   (0.1f * U.widget_unit)

Definition at line 942 of file area.c.

◆ AZONEPAD_ICON

#define AZONEPAD_ICON   (0.45f * U.widget_unit)

Definition at line 943 of file area.c.

Typedef Documentation

◆ MetadataPanelDrawContext

Enumeration Type Documentation

◆ RegionEmbossSide

Enumerator
REGION_EMBOSS_LEFT 
REGION_EMBOSS_TOP 
REGION_EMBOSS_BOTTOM 
REGION_EMBOSS_RIGHT 
REGION_EMBOSS_ALL 

Definition at line 59 of file area.c.

Function Documentation

◆ area_azone_init()

static void area_azone_init ( wmWindow win,
const bScreen screen,
ScrArea area 
)
static

◆ area_azone_tag_update()

static void area_azone_tag_update ( ScrArea area)
static

Definition at line 298 of file area.c.

References blender::compositor::area(), and AREA_FLAG_ACTIONZONES_UPDATE.

Referenced by region_draw_azones().

◆ area_calc_totrct()

static void area_calc_totrct ( ScrArea area,
const rcti window_rect 
)
static

◆ area_draw_azone()

static void area_draw_azone ( short   UNUSEDx1,
short   UNUSEDy1,
short   UNUSEDx2,
short   UNUSEDy2 
)
static

Corner widgets use for dragging and splitting the view.

Definition at line 195 of file area.c.

Referenced by region_draw_azones().

◆ area_draw_azone_fullscreen()

static void area_draw_azone_fullscreen ( short   UNUSEDx1,
short   UNUSEDy1,
short  x2,
short  y2,
float  alpha 
)
static

Corner widget use for quitting fullscreen.

Definition at line 179 of file area.c.

References min_ff(), NULL, UI_icon_draw_ex(), and x2.

Referenced by region_draw_azones().

◆ area_get_prevspace()

static SpaceLink* area_get_prevspace ( ScrArea area)
static

◆ area_is_pseudo_minimized()

static bool area_is_pseudo_minimized ( const ScrArea area)
static

Although there's no general support for minimizing areas, the status-bar can be snapped to be only a few pixels high. A few pixels rather than 0 so it can be un-minimized again. We consider it pseudo-minimized and don't draw it then.

Definition at line 489 of file area.c.

References blender::compositor::area().

Referenced by ED_region_do_draw(), and ED_region_do_layout().

◆ area_offscreen_exit()

static void area_offscreen_exit ( wmWindowManager wm,
wmWindow win,
ScrArea area 
)
static

◆ area_offscreen_init()

static void area_offscreen_init ( ScrArea area)
static

◆ draw_azone_arrow()

static void draw_azone_arrow ( float  x1,
float  y1,
float  x2,
float  y2,
AZEdge  edge 
)
static

◆ ED_area_data_copy()

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

◆ ED_area_data_swap()

void ED_area_data_swap ( ScrArea area_dst,
ScrArea area_src 
)

◆ ED_area_do_listen()

void ED_area_do_listen ( struct wmSpaceTypeListenerParams params)

Only exported for WM.

Definition at line 159 of file area.c.

References params.

Referenced by wm_event_do_notifiers().

◆ ED_area_do_mgs_subscribe_for_tool_header()

void ED_area_do_mgs_subscribe_for_tool_header ( const wmRegionMessageSubscribeParams params)

◆ ED_area_do_mgs_subscribe_for_tool_ui()

void ED_area_do_mgs_subscribe_for_tool_ui ( const wmRegionMessageSubscribeParams params)

◆ ED_area_do_msg_notify_tag_refresh()

void ED_area_do_msg_notify_tag_refresh ( bContext UNUSEDC,
wmMsgSubscribeKey UNUSEDmsg_key,
wmMsgSubscribeValue msg_val 
)

◆ ED_area_do_refresh()

void ED_area_do_refresh ( struct bContext C,
ScrArea area 
)

Only exported for WM.

Definition at line 167 of file area.c.

References blender::compositor::area(), and C.

Referenced by wm_event_do_refresh_wm_and_depsgraph(), and wm_handler_fileselect_do().

◆ ED_area_find_under_cursor()

ScrArea* ED_area_find_under_cursor ( const bContext C,
int  spacetype,
const int  xy[2] 
)

◆ ED_area_footersize()

int ED_area_footersize ( void  )

Definition at line 3428 of file area.c.

References ED_area_headersize().

Referenced by region_rect_recursive().

◆ ED_area_global_max_size_y()

int ED_area_global_max_size_y ( const ScrArea area)

◆ ED_area_global_min_size_y()

int ED_area_global_min_size_y ( const ScrArea area)

◆ ED_area_global_size_y()

int ED_area_global_size_y ( const ScrArea area)
Returns
the final height of a global area, accounting for DPI.

Definition at line 3433 of file area.c.

References blender::compositor::area(), BLI_assert, ED_area_is_global(), round_fl_to_int(), and UI_DPI_FAC.

Referenced by screen_geom_vertices_scale(), and WM_window_screen_rect_calc().

◆ ED_area_has_shared_border()

bool ED_area_has_shared_border ( struct ScrArea a,
struct ScrArea b 
)

Definition at line 1897 of file area.c.

References Freestyle::a, area_getorientation(), and usdtokens::b().

Referenced by ED_buttons_should_sync_with_outliner().

◆ ED_area_header_switchbutton()

int ED_area_header_switchbutton ( const bContext C,
uiBlock block,
int  yco 
)

◆ ED_area_headersize()

int ED_area_headersize ( void  )

◆ ED_area_init()

void ED_area_init ( struct wmWindowManager wm,
struct wmWindow win,
struct ScrArea area 
)

◆ ED_area_is_global()

bool ED_area_is_global ( const ScrArea area)

◆ ED_area_newspace()

void ED_area_newspace ( struct bContext C,
ScrArea area,
int  type,
bool  skip_region_exit 
)

◆ ED_area_offscreen_create()

ScrArea* ED_area_offscreen_create ( wmWindow win,
eSpace_Type  space_type 
)

◆ ED_area_offscreen_free()

void ED_area_offscreen_free ( wmWindowManager wm,
wmWindow win,
ScrArea area 
)

◆ ED_area_prevspace()

void ED_area_prevspace ( bContext C,
ScrArea area 
)

◆ ED_area_region_search_filter_get()

const char* ED_area_region_search_filter_get ( const ScrArea area,
const ARegion region 
)

◆ ED_area_status_text()

void ED_area_status_text ( ScrArea area,
const char *  str 
)

Use NULL to disable it.

Definition at line 792 of file area.c.

References blender::compositor::area(), BLI_str_rstrip(), BLI_strncpy(), ED_region_tag_redraw(), LISTBASE_FOREACH, MEM_mallocN, MEM_SAFE_FREE, NULL, RGN_TYPE_HEADER, str, and UI_MAX_DRAW_STR.

Referenced by applyAlign(), applyBakeTime(), applyBevelWeight(), applyBoneEnvelope(), applyBoneRoll(), applyBoneSize(), applyCrease(), applyCurveShrinkFatten(), applyEdgeSlide(), applyGPOpacity(), applyGPShrinkFatten(), applyMaskShrinkFatten(), applyMirror(), applyNormalRotation(), applyPushPull(), applyResize(), applyRotation(), applySeqSlide(), applyShear(), applyShrinkFatten(), applySkinResize(), applyTilt(), applyTimeScale(), applyTimeSlide(), applyTimeTranslate(), applyToSphere(), applyTrackball(), applyTranslation(), applyVertSlide(), Bend(), ed_marker_move_exit(), ed_marker_move_update_header(), ED_screen_state_toggle(), ED_slider_destroy(), edbm_bevel_exit(), edbm_inset_exit(), edbm_inset_update_header(), gpencil_interpolate_exit(), gpencil_interpolate_modal(), gpencil_interpolate_status_indicators(), gpencil_uv_transform_exit(), gpencil_uv_transform_update_header(), graph_slider_exit(), interactive_value_exit(), interactive_value_update(), minimize_stretch_exit(), minimize_stretch_iteration(), point_normals_cancel(), point_normals_update_header(), pose_slide_draw_status(), pose_slide_modal(), poselib_blend_apply(), poselib_blend_cleanup(), poselib_preview_apply(), poselib_preview_cleanup(), radial_control_cancel(), radial_control_update_header(), sequencer_slip_modal(), sequencer_slip_update_header(), ui_handler_wait_for_input_remove(), viewRedrawPost(), and WM_operator_name_call_ptr_with_depends_on_cursor().

◆ ED_area_swapspace()

void ED_area_swapspace ( bContext C,
ScrArea sa1,
ScrArea sa2 
)

◆ ED_area_tag_redraw()

void ED_area_tag_redraw ( ScrArea area)

Definition at line 729 of file area.c.

References blender::compositor::area(), ED_region_tag_redraw(), and LISTBASE_FOREACH.

Referenced by action_listener(), action_refresh(), actkeys_viewall(), area_actionzone_refresh_xy(), area_dupli_invoke(), area_join_modal(), area_move_apply_do(), area_split_apply(), area_split_exit(), area_split_modal(), area_swap_modal(), bookmark_add_exec(), bookmark_cleanup_exec(), bookmark_delete_exec(), bookmark_move_exec(), box_select_exec(), buttons_area_listener(), buttons_area_redraw(), buttons_clear_filter_exec(), clip_listener(), clip_rebuild_proxy_exec(), clip_refresh(), console_clear_exec(), console_clear_line_exec(), console_delete_exec(), console_history_append_exec(), console_history_cycle_exec(), console_indent_exec(), console_insert_exec(), console_modal_select_apply(), console_move_exec(), console_paste_exec(), console_scrollback_append_exec(), console_selectword_invoke(), console_unindent_exec(), do_view3d_region_buttons(), ED_area_newspace(), ED_area_prevspace(), ED_area_swapspace(), ED_area_type_hud_clear(), ED_editors_init(), ED_imbuf_sample_exit(), ED_region_visibility_change_update(), ED_screen_restore_temp_type(), ED_spreadsheet_context_paths_set_geometry_node(), ED_view3d_quadview_update(), ED_workspace_layout_duplicate(), ED_workspace_status_text(), file_draw_check_ex(), file_filenum_exec(), file_highlight_invoke(), file_refresh(), file_rename_exec(), file_select_all_exec(), file_view_selected_exec(), gesture_modal_end(), graph_listener(), graph_refresh(), graphkeys_clear_ghostcurves_exec(), graphkeys_create_ghostcurves_exec(), header_toggle_menus_exec(), image_listener(), image_sample_apply(), image_sample_line_exec(), localview_exec(), nla_listener(), nlaedit_viewall(), blender::ed::space_node::node_area_listener(), outliner_id_remap(), blender::ed::space_node::pick_input_link_by_link_intersect(), previewrange_clear_exec(), proj_paint_add_slot(), redraw_timer_window_swap(), region_blend_end(), region_flip_exec(), region_quadview_exec(), region_scale_modal(), report_delete_exec(), report_replay_exec(), report_select_all_exec(), reset_exec(), reset_recent_exec(), blender::ed::space_node::sample_apply(), blender::ed::space_node::sample_exit(), scroll_exit(), select_report_pick_exec(), seq_build_proxy(), seq_proxy_build_job(), sequencer_listener(), sequencer_preview_add_sound(), sequencer_refresh(), sequencer_sample_apply(), sequencer_thumbnail_init_job(), sequencer_view_all_preview_exec(), template_texture_show(), text_autocomplete_invoke(), text_autocomplete_modal(), text_listener(), text_scroll_apply(), text_scroll_exec(), text_scroll_modal(), toggle_pin_exec(), toggle_xray_exec(), update_context_path_from_context(), update_pinned_context_path_if_outdated(), view_zoomdrag_apply(), view_zoomstep_apply_ex(), viewRedrawForce(), WM_window_cursor_keymap_status_refresh(), and WM_window_status_area_tag_redraw().

◆ ED_area_tag_redraw_no_rebuild()

void ED_area_tag_redraw_no_rebuild ( ScrArea area)

◆ ED_area_tag_redraw_regiontype()

void ED_area_tag_redraw_regiontype ( ScrArea area,
int  regiontype 
)

◆ ED_area_tag_refresh()

void ED_area_tag_refresh ( ScrArea area)

◆ ED_area_update_region_sizes()

void ED_area_update_region_sizes ( wmWindowManager wm,
wmWindow win,
ScrArea area 
)

◆ ed_default_handlers()

static void ed_default_handlers ( wmWindowManager wm,
ScrArea area,
ARegion region,
ListBase handlers,
int  flag 
)
static

◆ ed_panel_draw()

static void ed_panel_draw ( const bContext C,
ARegion region,
ListBase lb,
PanelType pt,
Panel panel,
int  w,
int  em,
char *  unique_panel_str,
const char *  search_filter 
)
static

◆ ED_region_cache_draw_background()

void ED_region_cache_draw_background ( ARegion region)

◆ ED_region_cache_draw_cached_segments()

void ED_region_cache_draw_cached_segments ( ARegion region,
const int  num_segments,
const int *  points,
const int  sfra,
const int  efra 
)

◆ ED_region_cache_draw_curfra_label()

void ED_region_cache_draw_curfra_label ( const int  framenr,
const float  x,
const float  y 
)

◆ ED_region_cursor_set()

void ED_region_cursor_set ( wmWindow win,
ScrArea area,
ARegion region 
)

◆ ED_region_do_draw()

void ED_region_do_draw ( struct bContext C,
struct ARegion region 
)

Only exported for WM.

Definition at line 517 of file area.c.

References ARegion::alignment, blender::compositor::area(), area_is_pseudo_minimized(), BLI_thread_frand(), C, color, wmRegionMessageSubscribeParams::context, CTX_data_scene(), CTX_wm_area(), CTX_wm_manager(), CTX_wm_window(), CTX_wm_workspace(), ARegion::do_draw, ARegionType::do_lock, ARegionType::draw, ARegion::drawrct, ED_area_is_global(), ED_region_do_msg_notify_tag_redraw(), ED_region_draw_cb_draw(), ED_region_message_subscribe(), ED_region_pixelspace(), ELEM, fb(), G, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_framebuffer_active_get(), GPU_framebuffer_bind(), GPU_line_width(), GPU_SHADER_2D_UNIFORM_COLOR, GPU_vertformat_attr_add(), ARegion::headerstr, bScreen::id, imm_draw_box_wire_2d(), immBindBuiltinProgram(), immRectf(), immUnbindProgram(), immUniformColor4f(), immUniformColor4fv(), immVertexFormat(), wmWindowManager::message_bus, NULL, wmMsgSubscribeValue::owner, pos, ptr, region_draw_azones(), region_draw_emboss(), REGION_DRAW_POST_PIXEL, region_draw_status_text(), REGION_EMBOSS_LEFT, REGION_EMBOSS_RIGHT, ARegionType::regionid, ARegion::regiontype, RGN_ALIGN_QSPLIT, RGN_DRAWING, RGN_TYPE_CHANNELS, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, RNA_pointer_create(), scene, SCREENFULL, bScreen::state, TH_EDITOR_OUTLINE, ARegion::type, UI_blocklist_free_inactive(), UI_GetThemeColor3fv(), UI_SetTheme(), UI_ThemeClearColor(), ARegion::winrct, WM_msg_subscribe_rna(), WM_msgbus_clear_by_owner(), WM_window_get_active_screen(), wmOrtho2_region_pixelspace(), wmPartialViewport(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by ui_region_redraw_immediately(), wm_draw_region_test(), and wm_draw_window_offscreen().

◆ ED_region_do_layout()

void ED_region_do_layout ( struct bContext C,
struct ARegion region 
)

◆ ED_region_do_listen()

void ED_region_do_listen ( struct wmRegionListenerParams params)

◆ ED_region_do_msg_notify_tag_redraw()

void ED_region_do_msg_notify_tag_redraw ( bContext UNUSEDC,
wmMsgSubscribeKey UNUSEDmsg_key,
wmMsgSubscribeValue msg_val 
)

◆ ED_region_floating_init()

void ED_region_floating_init ( struct ARegion region)

◆ ED_region_global_size_y()

int ED_region_global_size_y ( void  )

For now we just assume all global areas are made up out of horizontal bars with the same size. A fixed size could be stored in ARegion instead if needed.

Returns
the DPI aware height of a single bar/region in global areas.

Definition at line 3513 of file area.c.

References ED_area_headersize().

Referenced by region_rect_recursive().

◆ ED_region_grid_draw()

void ED_region_grid_draw ( ARegion region,
float  zoomx,
float  zoomy,
float  x0,
float  y0 
)

◆ ED_region_header()

void ED_region_header ( const bContext C,
ARegion region 
)

Definition at line 3410 of file area.c.

References C, ED_region_header_draw(), and ED_region_header_layout().

◆ ED_region_header_draw()

void ED_region_header_draw ( const bContext C,
ARegion region 
)

◆ ED_region_header_init()

void ED_region_header_init ( ARegion region)

◆ ED_region_header_layout()

void ED_region_header_layout ( const bContext C,
ARegion region 
)

◆ ED_region_image_metadata_panel_draw()

void ED_region_image_metadata_panel_draw ( ImBuf ibuf,
uiLayout layout 
)

◆ ED_region_info_draw()

void ED_region_info_draw ( ARegion region,
const char *  text,
float  fill_color[4],
const bool  full_redraw 
)

Definition at line 3591 of file area.c.

References ED_region_info_draw_multiline(), and NULL.

Referenced by draw_movieclip_notes(), and draw_render_info().

◆ ED_region_info_draw_multiline()

void ED_region_info_draw_multiline ( ARegion region,
const char *  text_array[],
float  fill_color[4],
const bool  full_redraw 
)

◆ ED_region_is_overlap()

bool ED_region_is_overlap ( int  spacetype,
int  regiontype 
)

◆ ED_region_message_subscribe()

void ED_region_message_subscribe ( struct wmRegionMessageSubscribeParams params)

◆ ED_region_panels()

void ED_region_panels ( const bContext C,
ARegion region 
)

Definition at line 3146 of file area.c.

References C, ED_region_panels_draw(), and ED_region_panels_layout().

◆ ED_region_panels_draw()

void ED_region_panels_draw ( const bContext C,
ARegion region 
)

◆ ED_region_panels_ex()

void ED_region_panels_ex ( const bContext C,
ARegion region,
const char *  contexts[] 
)

◆ ED_region_panels_init()

void ED_region_panels_init ( wmWindowManager wm,
ARegion region 
)

◆ ED_region_panels_layout()

void ED_region_panels_layout ( const bContext C,
ARegion region 
)

Definition at line 3088 of file area.c.

References C, ED_region_panels_layout_ex(), NULL, ARegionType::paneltypes, and ARegion::type.

Referenced by ED_region_panels().

◆ ED_region_panels_layout_ex()

void ED_region_panels_layout_ex ( const bContext C,
ARegion region,
ListBase paneltypes,
const char *  contexts[],
const char *  category_override 
)

◆ ED_region_pixelspace()

void ED_region_pixelspace ( const ARegion region)

Definition at line 121 of file area.c.

References GPU_matrix_identity_set(), and wmOrtho2_region_pixelspace().

Referenced by ED_region_do_draw().

◆ ED_region_property_search()

bool ED_region_property_search ( const bContext C,
ARegion region,
ListBase paneltypes,
const char *  contexts[],
const char *  category_override 
)

◆ ED_region_search_filter_update()

void ED_region_search_filter_update ( const ScrArea area,
ARegion region 
)

◆ ED_region_snap_size_apply()

bool ED_region_snap_size_apply ( ARegion region,
int  snap_flag 
)

◆ ED_region_snap_size_test()

int ED_region_snap_size_test ( const ARegion region)

Definition at line 3857 of file area.c.

References NULL, ARegion::sizex, ARegion::sizey, ARegionType::snap_size, and ARegion::type.

◆ ED_region_tag_redraw()

void ED_region_tag_redraw ( ARegion region)

Definition at line 655 of file area.c.

References ARegion::do_draw, ARegion::drawrct, RGN_DRAW, RGN_DRAW_EDITOR_OVERLAYS, RGN_DRAW_NO_REBUILD, RGN_DRAW_PARTIAL, and RGN_DRAWING.

Referenced by action_channel_region_listener(), action_header_region_listener(), action_main_region_listener(), action_refresh(), action_region_listener(), animchannels_select_filter_invoke(), annotation_draw_apply_event(), annotation_draw_modal(), asset_view_listener(), axis_set_view(), blender::ed::space_node::backimage_fit_exec(), blender::ed::space_node::backimage_zoom_exec(), buttons_main_region_listener(), center_current_frame_exec(), clip_header_region_listener(), clip_main_region_listener(), clip_properties_region_listener(), clip_props_region_listener(), colorband_tools_dofunc(), console_main_region_listener(), curve_draw_event_add(), curve_draw_modal(), curvemap_buttons_redraw(), curvemap_buttons_zoom_in(), curvemap_buttons_zoom_out(), curvemap_tools_dofunc(), CurveProfile_buttons_zoom_in(), CurveProfile_buttons_zoom_out(), CurveProfile_presets_dofunc(), CurveProfile_tools_dofunc(), datadropper_id_sample_pt(), datadropper_set_draw_callback_region(), depthdropper_depth_sample_pt(), do_item_rename(), dopesheet_view_all_exec(), drop_color_invoke(), dyntopo_detail_size_edit_invoke(), dyntopo_detail_size_edit_modal(), ED_area_status_text(), ED_area_tag_redraw(), ED_area_tag_redraw_regiontype(), ED_area_type_hud_clear(), ED_area_type_hud_ensure(), ED_region_do_listen(), ED_region_do_msg_notify_tag_redraw(), ED_region_tag_redraw_editor_overlays(), ED_slider_modal(), ED_view3d_smooth_view_ex(), edbm_bevel_cancel(), edbm_inset_cancel(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::ed::sculpt_paint::CombOperationExecutor::execute(), blender::ed::sculpt_paint::CurvesEffectOperationExecutor::execute(), blender::ed::sculpt_paint::DeleteOperationExecutor::execute(), blender::ed::sculpt_paint::DensitySubtractOperationExecutor::execute(), blender::ed::sculpt_paint::PinchOperationExecutor::execute(), blender::ed::sculpt_paint::PuffOperationExecutor::execute(), blender::ed::sculpt_paint::SelectionPaintOperationExecutor::execute(), blender::ed::sculpt_paint::SlideOperationExecutor::execute(), blender::ed::sculpt_paint::SmoothOperationExecutor::execute(), blender::ed::sculpt_paint::SnakeHookOperatorExecutor::execute(), eyedropper_modal(), face_select_all_exec(), face_select_hide_exec(), face_vert_reveal_exec(), file_main_region_listener(), file_smoothscroll_invoke(), file_tool_props_region_listener(), file_tools_region_listener(), file_ui_region_listener(), fly_modal(), gpencil_draw_apply_event(), gpencil_draw_modal(), gpencil_sculpt_brush_invoke(), gpencil_sculpt_brush_modal(), gpencil_transform_fill_cancel(), gpencil_vertexpaint_brush_invoke(), gpencil_vertexpaint_brush_modal(), gpencil_weightpaint_brush_invoke(), gpencil_weightpaint_brush_modal(), grab_clone_apply(), graph_region_listener(), graphkeys_snap_cursor_value_exec(), hide_show_exec(), hud_region_layout(), image_buttons_region_listener(), image_header_region_listener(), image_main_region_listener(), image_tools_region_listener(), image_view_all_exec(), image_view_pan_exec(), image_view_pan_exit(), image_view_selected_exec(), image_view_zoom_border_exec(), image_view_zoom_exec(), image_view_zoom_exit(), image_view_zoom_in_exec(), image_view_zoom_invoke(), image_view_zoom_out_exec(), image_view_zoom_ratio_exec(), image_zoom_apply(), info_header_listener(), info_main_region_listener(), knifetool_exit_ex(), knifetool_init(), knifetool_modal(), knifetool_update_mval(), loopcut_finish(), loopcut_modal(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_invoke(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_modal(), nla_channel_region_listener(), nla_main_region_listener(), nla_region_listener(), blender::ed::space_node::node_insert_offset_modal(), blender::ed::space_node::node_link_exit(), blender::ed::space_node::node_link_modal(), blender::ed::space_node::node_region_listener(), blender::ed::space_node::node_resize_modal(), object_transform_axis_target_invoke(), object_transform_axis_target_modal(), outliner_header_region_listener(), outliner_item_do_activate_from_cursor(), outliner_main_region_listener(), outliner_one_level_exec(), outliner_show_hierarchy_exec(), outliner_tag_redraw_avoid_rebuild_on_open_change(), outliner_toggle_expanded_exec(), paint_2d_redraw(), paint_proj_redraw(), paint_proj_stroke(), paint_select_linked_exec(), paint_select_linked_pick_invoke(), paintface_mouse_select(), panel_activate_state(), pose_slide_modal(), radial_control_modal(), redraw_timer_step(), region_blend_end(), region_blend_invoke(), region_rect_recursive(), region_toggle_exec(), rename_anim_channels(), renamebutton_cb(), reset_exec(), ringsel_exit(), ringsel_init(), run_pyfile_exec(), sclip_zoom_set_factor_exec(), screen_animation_region_tag_redraw(), sculpt_dirty_mask_exec(), SCULPT_flush_update_done(), SCULPT_flush_update_step(), sculpt_mask_expand_modal(), sculpt_set_pivot_position_exec(), SCULPT_tag_update_overlays(), select_anim_channel_keys(), sequencer_buttons_region_listener(), sequencer_main_region_listener(), sequencer_preview_region_listener(), sequencer_view_zoom_ratio_exec(), blender::ed::space_node::snode_bg_viewmove_modal(), spreadsheet_dataset_region_listener(), spreadsheet_header_region_listener(), spreadsheet_main_region_draw(), spreadsheet_main_region_listener(), statusbar_header_region_listener(), stencil_control_modal(), stitch_modal(), text_text_search_exec(), topbar_header_listener(), topbar_main_region_listener(), UI_block_views_listen(), ui_but_pie_menu_apply(), UI_context_update_anim_flag(), ui_do_animate(), ui_do_but_extra_operator_icon(), ui_do_but_HOTKEYEVT(), ui_do_but_textedit(), ui_do_but_textedit_select(), ui_do_but_VIEW_ITEM(), ui_do_button(), ui_do_drag(), ui_drag_toggle_set(), ui_handle_list_event(), ui_handle_panel_category_cycling(), ui_handle_panel_header(), ui_handler_panel_region(), ui_menu_scroll_apply_offset_y(), ui_numedit_apply(), ui_numedit_set_active(), ui_pie_handler(), ui_popup_block_refresh(), ui_popup_translate(), ui_searchbox_create_generic_ex(), ui_searchbox_select(), ui_searchbox_update(), ui_tooltip_create_with_data(), ui_view_item_rename_exec(), uv_sculpt_stroke_modal(), vert_select_all_exec(), vert_select_hide_exec(), vert_select_ungrouped_exec(), view3d_all_exec(), view3d_boxview_copy(), view3d_boxview_sync(), view3d_buttons_region_listener(), view3d_clipping_invoke(), view3d_header_region_listener(), view3d_interactive_add_begin(), view3d_interactive_add_exit(), view3d_interactive_add_modal(), view3d_main_region_listener(), view3d_smoothview_apply_ex(), view_all_exec(), view_center_cursor_exec(), view_pan_exec(), view_pan_exit(), view_selected_exec(), view_zoom_apply(), view_zoom_exec(), view_zoom_exit(), view_zoom_in_exec(), view_zoom_out_exec(), view_zoom_ratio_exec(), viewdolly_apply(), viewdolly_exec(), viewdolly_invoke(), viewmove_apply(), viewops_data_create(), viewops_data_free(), viewpersportho_exec(), viewroll_apply(), viewrotate_apply(), viewzoom_apply_3d(), viewzoom_apply_camera(), viewzoom_exec(), voxel_size_edit_invoke(), voxel_size_edit_modal(), vpaint_stroke_update_step_intern(), walk_modal(), weight_paint_set_exec(), WM_gizmo_do_msg_notify_tag_refresh(), wm_region_tag_draw_on_gizmo_delay_refresh_for_tweak(), and wpaint_stroke_update_step().

◆ ED_region_tag_redraw_cursor()

void ED_region_tag_redraw_cursor ( ARegion region)

Definition at line 667 of file area.c.

References ARegion::do_draw_paintcursor, and RGN_DRAW.

Referenced by view3d_main_region_listener().

◆ ED_region_tag_redraw_editor_overlays()

void ED_region_tag_redraw_editor_overlays ( struct ARegion region)

◆ ED_region_tag_redraw_no_rebuild()

void ED_region_tag_redraw_no_rebuild ( ARegion region)

◆ ED_region_tag_redraw_partial()

void ED_region_tag_redraw_partial ( ARegion region,
const rcti rct,
bool  rebuild 
)

◆ ED_region_tag_refresh_ui()

void ED_region_tag_refresh_ui ( ARegion region)

◆ ED_region_toggle_hidden()

void ED_region_toggle_hidden ( struct bContext C,
struct ARegion region 
)

Exported to all editors, uses fading default.

Definition at line 2117 of file area.c.

References C, and region_toggle_hidden().

Referenced by animchannels_select_filter_invoke(), region_toggle_exec(), and text_text_search_exec().

◆ ED_region_update_rect()

void ED_region_update_rect ( struct ARegion region)

Call to move a popup window (keep OpenGL context free!)

Definition at line 2052 of file area.c.

References region_update_rect().

Referenced by ui_popup_block_refresh(), and ui_popup_translate().

◆ ED_region_visibility_change_update()

void ED_region_visibility_change_update ( struct bContext C,
struct ScrArea area,
struct ARegion region 
)

◆ ED_region_visible_rect()

const rcti* ED_region_visible_rect ( ARegion region)

◆ ED_screen_areas_iter_first()

ScrArea* ED_screen_areas_iter_first ( const wmWindow win,
const bScreen screen 
)

◆ ED_screen_areas_iter_next()

ScrArea* ED_screen_areas_iter_next ( const bScreen screen,
const ScrArea area 
)

◆ ED_workspace_status_text()

void ED_workspace_status_text ( bContext C,
const char *  str 
)

Definition at line 816 of file area.c.

References blender::compositor::area(), ScrAreaMap::areabase, BLI_strncpy(), C, CTX_wm_window(), CTX_wm_workspace(), ED_area_tag_redraw(), wmWindow::global_areas, LISTBASE_FOREACH, MEM_mallocN, MEM_SAFE_FREE, NULL, SPACE_STATUSBAR, WorkSpace::status_text, str, and UI_MAX_DRAW_STR.

Referenced by add_marker_at_click_invoke(), add_marker_at_click_modal(), annotation_draw_status_indicators(), blend_to_default_draw_status_header(), blend_to_neighbor_draw_status_header(), breakdown_draw_status_header(), decimate_draw_status(), dyntopo_detail_size_edit_cancel(), dyntopo_detail_size_edit_invoke(), dyntopo_detail_size_edit_modal(), ED_screen_state_toggle(), ED_slider_destroy(), edbm_bevel_invoke(), edbm_bevel_modal(), edbm_bevel_update_status_text(), eyedropper_gpencil_exit(), eyedropper_gpencil_status_indicators(), face_set_extract_invoke(), face_set_extract_modal(), gpencil_draw_status_indicators(), gpencil_fill_exit(), gpencil_fill_status_indicators(), gpencil_interpolate_exit(), gpencil_interpolate_modal(), gpencil_interpolate_status_indicators(), gpencil_primitive_exit(), gpencil_primitive_interaction_end(), gpencil_primitive_modal(), gpencil_primitive_status_indicators(), gpencil_sculpt_brush_exit(), gpencil_sculpt_brush_header_set(), gpencil_vertexpaint_brush_exit(), gpencil_vertexpaint_brush_header_set(), gpencil_weightpaint_brush_exit(), gpencil_weightpaint_brush_header_set(), knife_update_header(), knifetool_modal(), loopcut_finish(), loopcut_init(), loopcut_modal(), mesh_bisect_invoke(), mesh_bisect_modal(), minimize_stretch_exit(), minimize_stretch_iteration(), blender::ed::space_node::node_link_exit(), blender::ed::space_node::node_link_update_header(), pose_slide_draw_status(), pose_slide_modal(), poselib_blend_apply(), poselib_blend_cleanup(), poselib_preview_apply(), poselib_preview_cleanup(), sample_color_modal(), sample_color_update_header(), sculpt_expand_finish(), sculpt_mask_expand_cancel(), sculpt_mask_expand_invoke(), sculpt_mask_expand_modal(), sculpt_sample_detail_size_invoke(), sculpt_sample_detail_size_modal(), stitch_exit(), stitch_update_header(), ui_handler_wait_for_input_remove(), voxel_size_edit_cancel(), voxel_size_edit_invoke(), voxel_size_edit_modal(), and WM_operator_name_call_ptr_with_depends_on_cursor().

◆ event_in_markers_region()

static bool event_in_markers_region ( const ARegion region,
const wmEvent event 
)
static

◆ fullscreen_azone_init()

static void fullscreen_azone_init ( ScrArea area,
ARegion region 
)
static

◆ metadata_panel_draw_field()

static void metadata_panel_draw_field ( const char *  field,
const char *  value,
void ctx_v 
)
static

Definition at line 3604 of file area.c.

References MetadataPanelDrawContext::layout, uiItemL(), and uiLayoutRow().

Referenced by ED_region_image_metadata_panel_draw().

◆ panel_add_check()

static bool panel_add_check ( const bContext C,
const WorkSpace workspace,
const char *  contexts[],
const char *  category_override,
PanelType panel_type 
)
static

Check whether a panel should be added to the region's panel layout.

Definition at line 2830 of file area.c.

References BKE_workspace_owner_id_check(), C, PanelType::category, PanelType::context, PanelType::draw, LIKELY, NULL, PanelType::owner_id, PanelType::parent, PanelType::poll, STREQ, and streq_array_any().

Referenced by ED_region_panels_layout_ex(), and ED_region_property_search().

◆ panel_draw_width_from_max_width_get()

static int panel_draw_width_from_max_width_get ( const ARegion region,
const PanelType panel_type,
const int  max_width 
)
static

Definition at line 2902 of file area.c.

References UI_PANEL_MARGIN_X, and UI_panel_should_show_background().

Referenced by ED_region_panels_layout_ex().

◆ panel_property_search()

static bool panel_property_search ( const bContext C,
ARegion region,
const uiStyle style,
Panel panel,
PanelType panel_type,
const char *  search_filter 
)
static

◆ rct_fits()

static int rct_fits ( const rcti rect,
const eScreenAxis  dir_axis,
int  size 
)
static

Definition at line 1165 of file area.c.

References BLI_rcti_size_x(), BLI_rcti_size_y(), SCREEN_AXIS_H, and size().

Referenced by region_rect_recursive().

◆ region_align_info_from_area()

static void region_align_info_from_area ( ScrArea area,
struct RegionTypeAlignInfo r_align_info 
)
static

◆ region_align_info_to_area()

static void region_align_info_to_area ( ScrArea area,
const struct RegionTypeAlignInfo  region_align_info_src[RGN_TYPE_NUM] 
)
static

◆ region_align_info_to_area_for_headers()

static void region_align_info_to_area_for_headers ( const struct RegionTypeAlignInfo region_align_info_src,
const struct RegionTypeAlignInfo region_align_info_dst,
ARegion region_by_type[RGN_TYPE_NUM] 
)
static

Notes on header alignment syncing.

This is as involved as it is because:

  • There are currently 3 kinds of headers.
  • All headers can independently visible & flipped to another side (except for the tool-header that depends on the header visibility).
  • We don't want the space-switching button to flip when switching spaces. From the user perspective it feels like a bug to move the button you click on to the opposite side of the area.
  • The space-switcher may be on either the header or the tool-header depending on the tool-header visibility.

How this works:

  • When headers match on both spaces, we copy the alignment from the previous regions to the next regions when syncing.
  • Otherwise detect the primary header (the one that shows the space type) and use this to set alignment for the headers in the destination area.
  • Header & tool-header/footer may be on opposite sides, this is preserved when syncing.

Definition at line 2259 of file area.c.

References RegionTypeAlignInfo::alignment, ARegion::alignment, RegionTypeAlignInfo::by_type, RegionTypeAlignInfo::hidden, NULL, region_alignment_from_header_and_tool_header_state(), RGN_ALIGN_BOTTOM, RGN_ALIGN_ENUM_FROM_MASK, RGN_ALIGN_FLAG_FROM_MASK, RGN_ALIGN_TOP, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, and RGN_TYPE_TOOL_HEADER.

Referenced by region_align_info_to_area().

◆ region_alignment_from_header_and_tool_header_state()

static short region_alignment_from_header_and_tool_header_state ( const struct RegionTypeAlignInfo region_align_info,
const short  fallback 
)
static

Keeping alignment between headers keep the space-type selector button in the same place. This is complicated by the editor-type selector being placed on the header closest to the screen edge which changes based on hidden state.

The tool-header is used when visible, otherwise the header is used.

Definition at line 2213 of file area.c.

References RegionTypeAlignInfo::alignment, RegionTypeAlignInfo::by_type, RegionTypeAlignInfo::hidden, RGN_TYPE_HEADER, and RGN_TYPE_TOOL_HEADER.

Referenced by region_align_info_to_area_for_headers().

◆ region_azone_edge()

static void region_azone_edge ( AZone az,
ARegion region 
)
static

◆ region_azone_edge_init()

static void region_azone_edge_init ( ScrArea area,
ARegion region,
AZEdge  edge,
const bool  is_fullscreen 
)
static

◆ region_azone_edge_poll()

static bool region_azone_edge_poll ( const ARegion region,
const bool  is_fullscreen 
)
static

◆ region_azone_scrollbar_init()

static void region_azone_scrollbar_init ( ScrArea area,
ARegion region,
AZScrollDirection  direction 
)
static

◆ region_azone_tab_plus()

static void region_azone_tab_plus ( ScrArea area,
AZone az,
ARegion region 
)
static

◆ region_azones_add()

static void region_azones_add ( const bScreen screen,
ScrArea area,
ARegion region 
)
static

◆ region_azones_add_edge()

static void region_azones_add_edge ( ScrArea area,
ARegion region,
const int  alignment,
const bool  is_fullscreen 
)
static

◆ region_azones_scrollbars_init()

static void region_azones_scrollbars_init ( ScrArea area,
ARegion region 
)
static

◆ region_background_color_id()

static ThemeColorID region_background_color_id ( const bContext C,
const ARegion region 
)
static

◆ region_clear_color()

static void region_clear_color ( const bContext C,
const ARegion region,
ThemeColorID  colorid 
)
static

◆ region_draw_azone_tab_arrow()

static void region_draw_azone_tab_arrow ( ScrArea area,
ARegion region,
AZone az 
)
static

◆ region_draw_azones()

static void region_draw_azones ( ScrArea area,
ARegion region 
)
static

◆ region_draw_emboss()

static void region_draw_emboss ( const ARegion region,
const rcti scirct,
int  sides 
)
static

◆ region_draw_status_text()

static void region_draw_status_text ( ScrArea area,
ARegion region 
)
static

◆ region_overlap_fix()

static void region_overlap_fix ( ScrArea area,
ARegion region 
)
static

◆ region_panels_collect_categories()

static const char* region_panels_collect_categories ( ARegion region,
LinkNode panel_types_stack,
bool use_category_tabs 
)
static

◆ region_rect_recursive()

static void region_rect_recursive ( ScrArea area,
ARegion region,
rcti remainder,
rcti overlap_remainder,
int  quad 
)
static
Note
Currently this window type is only used for RGN_TYPE_HUD, We expect the panel to resize itself to be larger.

This aligns to the lower left of the area.

Definition at line 1274 of file area.c.

References ARegion::alignment, blender::compositor::area(), AREAMINX, BLI_assert, BLI_rcti_cent_x(), BLI_rcti_cent_y(), BLI_rcti_init(), BLI_rcti_is_valid(), BLI_rcti_isect(), BLI_rcti_resize(), BLI_rcti_sanitize(), BLI_rcti_size_x(), BLI_rcti_size_y(), count, ED_area_footersize(), ED_area_headersize(), ED_area_is_global(), ED_region_global_size_y(), ED_region_is_overlap(), ED_region_tag_redraw(), ED_region_tag_redraw_no_rebuild(), ELEM, ARegion::flag, G, G_DEBUG, HEADERY, ARegionType::layout, max_ii(), ARegion::next, NULL, ARegion_Runtime::offset_x, ARegion_Runtime::offset_y, ARegion::overlap, ARegionType::prefsizex, ARegionType::prefsizey, ARegion::prev, quad, rct_fits(), region_overlap_fix(), ARegion::regiontype, RGN_ALIGN_BOTTOM, RGN_ALIGN_ENUM_FROM_MASK, RGN_ALIGN_FLOAT, RGN_ALIGN_HSPLIT, RGN_ALIGN_LEFT, RGN_ALIGN_NONE, RGN_ALIGN_QSPLIT, RGN_ALIGN_RIGHT, RGN_ALIGN_TOP, RGN_ALIGN_VSPLIT, RGN_FLAG_DYNAMIC_SIZE, RGN_FLAG_HIDDEN, RGN_FLAG_PREFSIZE_OR_HIDDEN, RGN_FLAG_SIZE_CLAMP_X, RGN_FLAG_SIZE_CLAMP_Y, RGN_FLAG_TOO_SMALL, RGN_SPLIT_PREV, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_TOOL_HEADER, ARegion::runtime, SCREEN_AXIS_H, SCREEN_AXIS_V, ARegion::sizex, ARegion::sizey, SPACE_VIEW3D, ARegion::type, UI_DPI_FAC, UI_UNIT_X, UI_UNIT_Y, ARegion_Runtime::visible_rect, ARegion::winrct, ARegion::winx, ARegion::winy, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by ED_area_init(), and ED_area_update_region_sizes().

◆ region_subwindow()

static void region_subwindow ( ARegion region)
static

◆ region_toggle_hidden()

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

◆ region_update_rect()

static void region_update_rect ( ARegion region)
static

◆ region_uses_category_tabs()

static bool region_uses_category_tabs ( const ScrArea area,
const ARegion region 
)
static

◆ region_visible_rect_calc()

static void region_visible_rect_calc ( ARegion region,
rcti rect 
)
static

◆ streq_array_any()

BLI_INLINE bool streq_array_any ( const char *  s,
const char *  arr[] 
)

Definition at line 2660 of file area.c.

References STREQ.

Referenced by panel_add_check().