From 26f073b327ac31d683e1719ce8371b6e28bf01d6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 20 Aug 2012 15:29:02 +0000 Subject: macros for rectangle center and size --- source/blender/editors/interface/interface.c | 12 ++++++------ source/blender/editors/interface/interface_draw.c | 8 ++++---- source/blender/editors/interface/interface_handlers.c | 4 ++-- source/blender/editors/interface/interface_regions.c | 6 +++--- source/blender/editors/interface/interface_widgets.c | 16 ++++++++-------- source/blender/editors/interface/view2d.c | 8 ++++---- source/blender/editors/interface/view2d_ops.c | 12 ++++++------ 7 files changed, 33 insertions(+), 33 deletions(-) (limited to 'source/blender/editors/interface') diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 62b26f5a8c1..f728e999667 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -300,8 +300,8 @@ static void ui_centered_bounds_block(const bContext *C, uiBlock *block) ui_bounds_block(block); - width = block->rect.xmax - block->rect.xmin; - height = block->rect.ymax - block->rect.ymin; + width = BLI_RCT_SIZE_X(&block->rect); + height = BLI_RCT_SIZE_Y(&block->rect); startx = (xmax * 0.5f) - (width * 0.5f); starty = (ymax * 0.5f) - (height * 0.5f); @@ -488,10 +488,10 @@ static void ui_draw_linkline(uiLinkLine *line, int highlightActiveLines) if (line->from == NULL || line->to == NULL) return; - rect.xmin = (line->from->rect.xmin + line->from->rect.xmax) / 2.0f; - rect.ymin = (line->from->rect.ymin + line->from->rect.ymax) / 2.0f; - rect.xmax = (line->to->rect.xmin + line->to->rect.xmax) / 2.0f; - rect.ymax = (line->to->rect.ymin + line->to->rect.ymax) / 2.0f; + rect.xmin = BLI_RCT_CENTER_X(&line->from->rect); + rect.ymin = BLI_RCT_CENTER_Y(&line->from->rect); + rect.xmax = BLI_RCT_CENTER_X(&line->to->rect); + rect.ymax = BLI_RCT_CENTER_Y(&line->to->rect); if (line->flag & UI_SELECT) glColor3ub(100, 100, 100); diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 41a827bbda9..109978780c2 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -439,8 +439,8 @@ void ui_draw_but_IMAGE(ARegion *UNUSED(ar), uiBut *but, uiWidgetColors *UNUSED(w //glColor4f(1.0, 0.f, 0.f, 1.f); //fdrawbox(rect->xmin, rect->ymin, rect->xmax, rect->ymax) - w = (rect->xmax - rect->xmin); - h = (rect->ymax - rect->ymin); + w = BLI_RCT_SIZE_X(rect); + h = BLI_RCT_SIZE_Y(rect); /* prevent drawing outside widget area */ glGetIntegerv(GL_SCISSOR_BOX, scissor); glScissor(ar->winrct.xmin + rect->xmin, ar->winrct.ymin + rect->ymin, w, h); @@ -732,8 +732,8 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol) rect.ymin = (float)recti->ymin + SCOPE_RESIZE_PAD + 2; rect.ymax = (float)recti->ymax - 1; - w = rect.xmax - rect.xmin; - h = (rect.ymax - rect.ymin) * hist->ymax; + w = BLI_RCT_SIZE_X(&rect); + h = BLI_RCT_SIZE_Y(&rect) * hist->ymax; glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 4010274f687..50b6de5ce46 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -693,7 +693,7 @@ static int ui_but_mouse_inside_icon(uiBut *but, ARegion *ar, wmEvent *event) rect.xmax = rect.xmin + (rect.ymax - rect.ymin); } else { - int delta = (rect.xmax - rect.xmin) - (rect.ymax - rect.ymin); + int delta = BLI_RCT_SIZE_X(&rect) - BLI_RCT_SIZE_Y(&rect); rect.xmin += delta / 2; rect.xmax -= delta / 2; } @@ -2763,7 +2763,7 @@ static int ui_do_but_SLI(bContext *C, uiBlock *block, uiBut *but, uiHandleButton } /* alt-click on sides to get "arrows" like in NUM buttons, and match wheel usage above */ else if (event->type == LEFTMOUSE && event->alt) { - int halfpos = (but->rect.xmin + but->rect.xmax) / 2; + int halfpos = BLI_RCT_CENTER_X(&but->rect); click = 2; if (mx < halfpos) mx = but->rect.xmin; diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index be118e1982e..c44a45c2150 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -1181,7 +1181,7 @@ ARegion *ui_searchbox_create(bContext *C, ARegion *butregion, uiBut *but) data->bbox.ymax = (ar->winrct.ymax - ar->winrct.ymin) - MENU_SHADOW_BOTTOM; /* check if button is lower half */ - if (but->rect.ymax < (but->block->rect.ymin + but->block->rect.ymax) / 2) { + if (but->rect.ymax < BLI_RCT_CENTER_Y(&but->block->rect)) { data->bbox.ymin += (but->rect.ymax - but->rect.ymin); } else { @@ -1495,8 +1495,8 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but, /* safety calculus */ if (but) { - float midx = (butrct.xmin + butrct.xmax) / 2.0f; - float midy = (butrct.ymin + butrct.ymax) / 2.0f; + const float midx = BLI_RCT_CENTER_X(&butrct); + const float midy = BLI_RCT_CENTER_Y(&butrct); /* when you are outside parent button, safety there should be smaller */ diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index aebdb349bd5..3c944781d80 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -1843,8 +1843,8 @@ static void ui_hsv_cursor(float x, float y) void ui_hsvcircle_vals_from_pos(float *valrad, float *valdist, rcti *rect, float mx, float my) { /* duplication of code... well, simple is better now */ - float centx = (float)(rect->xmin + rect->xmax) / 2; - float centy = (float)(rect->ymin + rect->ymax) / 2; + float centx = BLI_RCT_CENTER_X_FL(rect); + float centy = BLI_RCT_CENTER_Y_FL(rect); float radius, dist; if (rect->xmax - rect->xmin > rect->ymax - rect->ymin) @@ -1876,8 +1876,8 @@ static void ui_draw_but_HSVCIRCLE(uiBut *but, uiWidgetColors *wcol, rcti *rect) color_profile = BLI_PR_NONE; radstep = 2.0f * (float)M_PI / (float)tot; - centx = (float)(rect->xmin + rect->xmax) / 2; - centy = (float)(rect->ymin + rect->ymax) / 2; + centx = BLI_RCT_CENTER_X_FL(rect); + centy = BLI_RCT_CENTER_Y_FL(rect); if (rect->xmax - rect->xmin > rect->ymax - rect->ymin) radius = (float)(rect->ymax - rect->ymin) / 2; @@ -2438,8 +2438,8 @@ static void widget_link(uiBut *but, uiWidgetColors *UNUSED(wcol), rcti *rect, in UI_ThemeColor(TH_TEXT_HI); - rectlink.xmin = (rect->xmin + rect->xmax) / 2; - rectlink.ymin = (rect->ymin + rect->ymax) / 2; + rectlink.xmin = BLI_RCT_CENTER_X(rect); + rectlink.ymin = BLI_RCT_CENTER_Y(rect); rectlink.xmax = but->linkto[0]; rectlink.ymax = but->linkto[1]; @@ -3269,12 +3269,12 @@ void ui_draw_menu_back(uiStyle *UNUSED(style), uiBlock *block, rcti *rect) if (block->flag & UI_BLOCK_CLIPTOP) { /* XXX no scaling for UI here yet */ glColor3ubv((unsigned char *)wt->wcol.text); - UI_DrawTriIcon((rect->xmax + rect->xmin) / 2, rect->ymax - 8, 't'); + UI_DrawTriIcon(BLI_RCT_CENTER_X(rect), rect->ymax - 8, 't'); } if (block->flag & UI_BLOCK_CLIPBOTTOM) { /* XXX no scaling for UI here yet */ glColor3ubv((unsigned char *)wt->wcol.text); - UI_DrawTriIcon((rect->xmax + rect->xmin) / 2, rect->ymin + 10, 'v'); + UI_DrawTriIcon(BLI_RCT_CENTER_X(rect), rect->ymin + 10, 'v'); } } } diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 8ae08c08693..d498f57e8e3 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -508,7 +508,7 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize) cur->xmax += width - (cur->xmax - cur->xmin); } else { - temp = (cur->xmax + cur->xmin) * 0.5f; + temp = BLI_RCT_CENTER_X(cur); dh = width * 0.5f; cur->xmin = temp - dh; @@ -526,7 +526,7 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize) cur->ymax += height - (cur->ymax - cur->ymin); } else { - temp = (cur->ymax + cur->ymin) * 0.5f; + temp = BLI_RCT_CENTER_Y(cur); dh = height * 0.5f; cur->ymin = temp - dh; @@ -592,7 +592,7 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize) */ if ((cur->xmin < tot->xmin) && (cur->xmax > tot->xmax)) { /* outside boundaries on both sides, so take middle-point of tot, and place in balanced way */ - temp = (tot->xmax + tot->xmin) * 0.5f; + temp = BLI_RCT_CENTER_X(tot); diff = curheight * 0.5f; cur->xmin = temp - diff; @@ -642,7 +642,7 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize) */ if ((cur->ymin < tot->ymin) && (cur->ymax > tot->ymax)) { /* outside boundaries on both sides, so take middle-point of tot, and place in balanced way */ - temp = (tot->ymax + tot->ymin) * 0.5f; + temp = BLI_RCT_CENTER_Y(tot); diff = curheight * 0.5f; cur->ymin = temp - diff; diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c index 33b72b34784..f12a9e06312 100644 --- a/source/blender/editors/interface/view2d_ops.c +++ b/source/blender/editors/interface/view2d_ops.c @@ -1139,7 +1139,7 @@ static int view_borderzoom_exec(bContext *C, wmOperator *op) if ((v2d->keepzoom & V2D_LOCKZOOM_X) == 0) { size = (cur_new.xmax - cur_new.xmin); zoom = size / (rect.xmax - rect.xmin); - center = (cur_new.xmax + cur_new.xmin) * 0.5f; + center = BLI_RCT_CENTER_X(&cur_new); cur_new.xmin = center - (size * zoom); cur_new.xmax = center + (size * zoom); @@ -1147,7 +1147,7 @@ static int view_borderzoom_exec(bContext *C, wmOperator *op) if ((v2d->keepzoom & V2D_LOCKZOOM_Y) == 0) { size = (cur_new.ymax - cur_new.ymin); zoom = size / (rect.ymax - rect.ymin); - center = (cur_new.ymax + cur_new.ymin) * 0.5f; + center = BLI_RCT_CENTER_Y(&cur_new); cur_new.ymin = center - (size * zoom); cur_new.ymax = center + (size * zoom); @@ -1201,10 +1201,10 @@ static float smooth_view_rect_to_fac(const rctf *rect_a, const rctf *rect_b) rect_a->ymax - rect_a->ymin}; float size_b[2] = {rect_b->xmax - rect_b->xmin, rect_b->ymax - rect_b->ymin}; - float cent_a[2] = {(rect_a->xmax + rect_a->xmin) * 0.5f, - (rect_a->ymax + rect_a->ymin) * 0.5f}; - float cent_b[2] = {(rect_b->xmax + rect_b->xmin) * 0.5f, - (rect_b->ymax + rect_b->ymin) * 0.5f}; + float cent_a[2] = {BLI_RCT_CENTER_X(rect_a), + BLI_RCT_CENTER_Y(rect_a)}; + float cent_b[2] = {BLI_RCT_CENTER_X(rect_b), + BLI_RCT_CENTER_Y(rect_b)}; float fac_max = 0.0f; float tfac; -- cgit v1.2.3