92 if (region !=
nullptr) {
123 PanelType *pt = MEM_cnew<PanelType>(__func__);
147 region->v2d.maxzoom = 1.0f;
148 region->v2d.minzoom = 1.0f;
169 const int size_y = region->sizey;
173 if (region->panels.first &&
178 View2D *v2d = ®ion->v2d;
187 region->winx = winx_new;
188 region->winy = winy_new;
190 region->winrct.xmax = (region->winrct.xmin + region->winx) - 1;
191 region->winrct.ymax = (region->winrct.ymin + region->winy) - 1;
212 rcti reset_rect = {};
213 reset_rect.
xmax = region->winx;
214 reset_rect.
ymax = region->winy;
222 ARegionType *art = MEM_cnew<ARegionType>(__func__);
243 ARegion *region = MEM_cnew<ARegion>(__func__);
253 region->overlap =
true;
264 if (area != area_keep) {
285 if (art ==
nullptr) {
298 const bool was_hidden = region ==
nullptr || region->visible ==
false;
309 if (region ==
nullptr) {
325 region->flag &= ~RGN_FLAG_HIDDEN;
330 if (hrd ==
nullptr) {
331 hrd = MEM_cnew<HudRegionData>(__func__);
332 region->regiondata = hrd;
357 region->runtime.offset_x =
x;
358 region->runtime.offset_y =
y;
362 rctf reset_rect = {};
363 reset_rect.
xmax = region->winx;
364 reset_rect.
ymax = region->winy;
365 region->v2d.cur = region->v2d.tot = reset_rect;
366 region->v2d.minzoom = 1.0f;
367 region->v2d.maxzoom = 1.0f;
373 if (region->visible) {
378 region->winx = region->v2d.winx;
379 region->winy = region->v2d.winy;
380 region->v2d.cur = region->v2d.tot = reset_rect;
ScrArea * CTX_wm_area(const bContext *C)
wmWindow * CTX_wm_window(const bContext *C)
void CTX_wm_region_set(bContext *C, ARegion *region)
ARegion * CTX_wm_region(const bContext *C)
wmWindowManager * CTX_wm_manager(const bContext *C)
ARegionType * BKE_regiontype_from_id(const SpaceType *st, int regionid)
ARegion * BKE_area_find_region_type(const ScrArea *area, int region_type)
@ PANEL_TYPE_DEFAULT_CLOSED
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_insertlinkbefore(struct ListBase *listbase, void *vnextlink, void *vnewlink) ATTR_NONNULL(1)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
#define STRNCPY(dst, src)
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
@ AREA_FLAG_REGION_SIZE_UPDATE
@ RGN_FLAG_TEMP_REGIONDATA
@ RGN_FLAG_HIDDEN_BY_USER
void ED_area_tag_redraw(ScrArea *area)
void ED_region_floating_init(ARegion *region)
void ED_area_tag_region_size_update(ScrArea *area, ARegion *changed_region)
void ED_area_update_region_sizes(wmWindowManager *wm, wmWindow *win, ScrArea *area)
void ED_region_panels_layout(const bContext *C, ARegion *region)
void ED_region_panels_init(wmWindowManager *wm, ARegion *region)
void ED_region_tag_redraw(ARegion *region)
void ED_region_panels_draw(const bContext *C, ARegion *region)
void GPU_clear_color(float red, float green, float blue, float alpha)
Read Guarded memory(de)allocation.
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
void UI_panel_drawname_set(Panel *panel, blender::StringRef name)
void uiTemplateOperatorRedoProperties(uiLayout *layout, const bContext *C)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void UI_region_handlers_add(ListBase *handlers)
void UI_view2d_view_restore(const bContext *C)
void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy)
void UI_view2d_view_ortho(const View2D *v2d)
void UI_view2d_scroller_size_get(const View2D *v2d, bool mapped, float *r_x, float *r_y)
void ui_draw_menu_back(uiStyle *style, uiBlock *block, const rcti *rect)
ARegionType * ED_area_type_hud(int space_type)
static void hud_region_draw(const bContext *C, ARegion *region)
ARegion * ED_area_type_hud_redo_region_find(const ScrArea *area, const ARegion *hud_region)
static void hud_panels_register(ARegionType *art, int space_type, int region_type)
static ARegion * hud_region_add(ScrArea *area)
static void hud_region_layout(const bContext *C, ARegion *region)
static bool hud_panel_operator_redo_poll(const bContext *C, PanelType *)
static void hud_region_free(ARegion *region)
static void hud_region_hide(ARegion *region)
static void hud_region_init(wmWindowManager *wm, ARegion *region)
void ED_area_type_hud_clear(wmWindowManager *wm, ScrArea *area_keep)
static void hud_panel_operator_redo_draw_header(const bContext *C, Panel *panel)
static bool last_redo_poll(const bContext *C, short region_type)
static void hud_panel_operator_redo_draw(const bContext *C, Panel *panel)
void ED_area_type_hud_ensure(bContext *C, ScrArea *area)
void(* draw)(const bContext *C, ARegion *region)
void(* layout)(const bContext *C, ARegion *region)
void(* init)(wmWindowManager *wm, ARegion *region)
void(* draw)(const bContext *C, Panel *panel)
char idname[BKE_ST_MAXNAME]
bool(* poll)(const bContext *C, PanelType *pt)
char translation_context[BKE_ST_MAXNAME]
char label[BKE_ST_MAXNAME]
void(* draw_header)(const bContext *C, Panel *panel)
struct wmOperatorType * type
bool WM_operator_ui_poll(wmOperatorType *ot, PointerRNA *ptr)
bool WM_operator_poll(bContext *C, wmOperatorType *ot)
bool WM_operator_repeat_check(const bContext *, wmOperator *op)
std::string WM_operatortype_name(wmOperatorType *ot, PointerRNA *properties)
bool WM_operator_check_ui_enabled(const bContext *C, const char *idname)
wmOperator * WM_operator_last_redo(const bContext *C)
void wmOrtho2_region_pixelspace(const ARegion *region)
bScreen * WM_window_get_active_screen(const wmWindow *win)