diff options
Diffstat (limited to 'source/blender/editors/interface/interface_panel.c')
-rw-r--r-- | source/blender/editors/interface/interface_panel.c | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 9265ca0d4b9..d165e2719c5 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -207,7 +207,7 @@ static void ui_panel_copy_offset(Panel *pa, Panel *papar) */ /* #define UI_USE_PANELTAB */ -Panel *uiPanelFindByType(ARegion *ar, PanelType *pt) +Panel *UI_panel_find_by_type(ARegion *ar, PanelType *pt) { Panel *pa; const char *idname = pt->idname; @@ -233,9 +233,9 @@ Panel *uiPanelFindByType(ARegion *ar, PanelType *pt) } /** - * \note \a pa should be return value from #uiPanelFindByType and can be NULL. + * \note \a pa should be return value from #UI_panel_find_by_type and can be NULL. */ -Panel *uiBeginPanel(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType *pt, Panel *pa, bool *r_open) +Panel *UI_panel_begin(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType *pt, Panel *pa, bool *r_open) { Panel *palast, *panext; const char *drawname = CTX_IFACE_(pt->translation_context, pt->label); @@ -336,7 +336,7 @@ Panel *uiBeginPanel(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType *pt, Pan return pa; } -void uiEndPanel(uiBlock *block, int width, int height) +void UI_panel_end(uiBlock *block, int width, int height) { Panel *pa = block->panel; @@ -363,12 +363,12 @@ void uiEndPanel(uiBlock *block, int width, int height) static void ui_offset_panel_block(uiBlock *block) { - uiStyle *style = UI_GetStyleDraw(); + uiStyle *style = UI_style_get_dpi(); uiBut *but; int ofsy; /* compute bounds and offset */ - ui_bounds_block(block); + ui_block_bounds_calc(block); ofsy = block->panel->sizey - style->panelspace; @@ -401,7 +401,7 @@ static void uiPanelPop(uiBlock *UNUSED(block)) #endif /* triangle 'icon' for panel header */ -void UI_DrawTriIcon(float x, float y, char dir) +void UI_draw_icon_tri(float x, float y, char dir) { float f3 = 0.15 * U.widget_unit; float f5 = 0.25 * U.widget_unit; @@ -542,14 +542,14 @@ static void ui_draw_aligned_panel_header(uiStyle *style, uiBlock *block, const r if (dir == 'h') { hrect.xmin = rect->xmin + pnl_icons; hrect.ymin += 2.0f / block->aspect; - uiStyleFontDraw(&style->paneltitle, &hrect, activename); + UI_fontstyle_draw(&style->paneltitle, &hrect, activename); } else { /* ignore 'pnl_icons', otherwise the text gets offset horizontally * + 0.001f to avoid flirting with float inaccuracy */ hrect.xmin = rect->xmin + (PNL_ICON + 5) / block->aspect + 0.001f; - uiStyleFontDrawRotated(&style->paneltitle, &hrect, activename); + UI_fontstyle_draw_rotated(&style->paneltitle, &hrect, activename); } } @@ -641,11 +641,11 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, const rcti *rect, con else { /* in some occasions, draw a border */ if (panel->flag & PNL_SELECT) { - if (panel->control & UI_PNL_SOLID) uiSetRoundBox(UI_CNR_ALL); - else uiSetRoundBox(UI_CNR_NONE); + if (panel->control & UI_PNL_SOLID) UI_draw_roundbox_corner_set(UI_CNR_ALL); + else UI_draw_roundbox_corner_set(UI_CNR_NONE); UI_ThemeColorShade(TH_BACK, -120); - uiRoundRect(0.5f + rect->xmin, 0.5f + rect->ymin, 0.5f + rect->xmax, 0.5f + headrect.ymax + 1, 8); + UI_draw_roundbox_unfilled(0.5f + rect->xmin, 0.5f + rect->ymin, 0.5f + rect->xmax, 0.5f + headrect.ymax + 1, 8); } /* panel backdrop */ @@ -753,9 +753,13 @@ static int find_highest_panel(const void *a1, const void *a2) const PanelSort *ps1 = a1, *ps2 = a2; /* stick uppermost header-less panels to the top of the region - - * prevent them from being sorted */ - if (ps1->pa->sortorder < ps2->pa->sortorder && ps1->pa->type->flag & PNL_NO_HEADER) return -1; - + * prevent them from being sorted (multiple header-less panels have to be sorted though) */ + if (ps1->pa->type->flag & PNL_NO_HEADER && ps2->pa->type->flag & PNL_NO_HEADER) { + /* skip and check for ofs and sortorder below */ + } + else if (ps1->pa->type->flag & PNL_NO_HEADER) return -1; + else if (ps2->pa->type->flag & PNL_NO_HEADER) return 1; + if (ps1->pa->ofsy + ps1->pa->sizey < ps2->pa->ofsy + ps2->pa->sizey) return 1; else if (ps1->pa->ofsy + ps1->pa->sizey > ps2->pa->ofsy + ps2->pa->sizey) return -1; else if (ps1->pa->sortorder > ps2->pa->sortorder) return 1; @@ -938,7 +942,7 @@ static void ui_do_animate(const bContext *C, Panel *panel) } } -void uiBeginPanels(const bContext *UNUSED(C), ARegion *ar) +void UI_panels_begin(const bContext *UNUSED(C), ARegion *ar) { Panel *pa; @@ -953,7 +957,7 @@ void uiBeginPanels(const bContext *UNUSED(C), ARegion *ar) } /* only draws blocks with panels */ -void uiEndPanels(const bContext *C, ARegion *ar, int *x, int *y) +void UI_panels_end(const bContext *C, ARegion *ar, int *x, int *y) { ScrArea *sa = CTX_wm_area(C); uiBlock *block; @@ -1012,7 +1016,7 @@ void uiEndPanels(const bContext *C, ARegion *ar, int *x, int *y) ui_panels_size(sa, ar, x, y); } -void uiDrawPanels(const bContext *C, ARegion *ar) +void UI_panels_draw(const bContext *C, ARegion *ar) { uiBlock *block; @@ -1021,18 +1025,18 @@ void uiDrawPanels(const bContext *C, ARegion *ar) /* draw panels, selected on top */ for (block = ar->uiblocks.first; block; block = block->next) { if (block->active && block->panel && !(block->panel->flag & PNL_SELECT)) { - uiDrawBlock(C, block); + UI_block_draw(C, block); } } for (block = ar->uiblocks.first; block; block = block->next) { if (block->active && block->panel && (block->panel->flag & PNL_SELECT)) { - uiDrawBlock(C, block); + UI_block_draw(C, block); } } } -void uiScalePanels(ARegion *ar, float new_width) +void UI_panels_scale(ARegion *ar, float new_width) { uiBlock *block; uiBut *but; @@ -1226,7 +1230,7 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in bool UI_panel_category_is_visible(ARegion *ar) { - /* more then one */ + /* more than one */ return ar->panels_category.first && ar->panels_category.first != ar->panels_category.last; } @@ -1327,7 +1331,7 @@ void UI_panel_category_clear_all(ARegion *ar) BLI_freelistN(&ar->panels_category); } -/* based on uiDrawBox, check on making a version which allows us to skip some sides */ +/* based on UI_draw_roundbox_gl_mode, check on making a version which allows us to skip some sides */ static void ui_panel_category_draw_tab(int mode, float minx, float miny, float maxx, float maxy, float rad, int roundboxtype, const bool use_highlight, const bool use_shadow, @@ -1420,7 +1424,7 @@ void UI_panel_category_draw_all(ARegion *ar, const char *category_id_active) /* no tab outlines for */ // #define USE_FLAT_INACTIVE View2D *v2d = &ar->v2d; - uiStyle *style = UI_GetStyle(); + uiStyle *style = UI_style_get(); const uiFontStyle *fstyle = &style->widget; const int fontid = fstyle->uifont_id; short fstyle_points = fstyle->points; @@ -1486,8 +1490,8 @@ void UI_panel_category_draw_all(ARegion *ar, const char *category_id_active) } BLF_enable(fontid, BLF_ROTATION); - BLF_rotation(fontid, M_PI / 2); - //uiStyleFontSet(&style->widget); + BLF_rotation(fontid, M_PI_2); + //UI_fontstyle_set(&style->widget); ui_fontscale(&fstyle_points, aspect / (U.pixelsize * 1.1f)); BLF_size(fontid, fstyle_points, U.dpi); @@ -1753,7 +1757,7 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar) /* XXX hardcoded key warning */ if ((inside || inside_header) && event->val == KM_PRESS) { - if (event->type == AKEY && !ELEM(KM_MOD_FIRST, event->ctrl, event->oskey, event->shift, event->alt)) { + if (event->type == AKEY && ((event->ctrl + event->oskey + event->shift + event->alt) == 0)) { if (pa->flag & PNL_CLOSEDY) { if ((block->rect.ymax <= my) && (block->rect.ymax + PNL_HEADER >= my)) @@ -1768,7 +1772,7 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar) } /* on active button, do not handle panels */ - if (ui_button_is_active(ar)) + if (ui_but_is_active(ar)) continue; if (inside || inside_header) { |