[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50050] trunk/blender/source/blender: macros for rectangle center and size

Campbell Barton ideasman42 at gmail.com
Mon Aug 20 17:29:02 CEST 2012


Revision: 50050
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50050
Author:   campbellbarton
Date:     2012-08-20 15:29:02 +0000 (Mon, 20 Aug 2012)
Log Message:
-----------
macros for rectangle center and size

Modified Paths:
--------------
    trunk/blender/source/blender/blenfont/intern/blf_font.c
    trunk/blender/source/blender/blenfont/intern/blf_glyph.c
    trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c
    trunk/blender/source/blender/blenlib/BLI_rect.h
    trunk/blender/source/blender/blenlib/intern/rct.c
    trunk/blender/source/blender/editors/animation/anim_channels_defines.c
    trunk/blender/source/blender/editors/animation/anim_markers.c
    trunk/blender/source/blender/editors/gpencil/gpencil_edit.c
    trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/editors/interface/interface_draw.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/interface/interface_widgets.c
    trunk/blender/source/blender/editors/interface/view2d.c
    trunk/blender/source/blender/editors/interface/view2d_ops.c
    trunk/blender/source/blender/editors/screen/area.c
    trunk/blender/source/blender/editors/space_logic/logic_buttons.c
    trunk/blender/source/blender/editors/space_node/drawnode.c
    trunk/blender/source/blender/editors/space_node/node_edit.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c
    trunk/blender/source/blender/editors/space_text/text_ops.c
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c
    trunk/blender/source/blender/editors/transform/transform_conversions.c
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blender/render/intern/source/render_result.c
    trunk/blender/source/blender/windowmanager/intern/wm_gesture.c
    trunk/blender/source/blender/windowmanager/intern/wm_window.c

Modified: trunk/blender/source/blender/blenfont/intern/blf_font.c
===================================================================
--- trunk/blender/source/blender/blenfont/intern/blf_font.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/blenfont/intern/blf_font.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -425,8 +425,8 @@
 	}
 
 	blf_font_boundbox(font, str, &box);
-	*width = ((box.xmax - box.xmin) * xa);
-	*height = ((box.ymax - box.ymin) * ya);
+	*width  = (BLI_RCT_SIZE_X(&box) * xa);
+	*height = (BLI_RCT_SIZE_Y(&box) * ya);
 }
 
 float blf_font_width(FontBLF *font, const char *str)
@@ -440,7 +440,7 @@
 		xa = 1.0f;
 
 	blf_font_boundbox(font, str, &box);
-	return (box.xmax - box.xmin) * xa;
+	return BLI_RCT_SIZE_X(&box) * xa;
 }
 
 float blf_font_height(FontBLF *font, const char *str)

Modified: trunk/blender/source/blender/blenfont/intern/blf_glyph.c
===================================================================
--- trunk/blender/source/blender/blenfont/intern/blf_glyph.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/blenfont/intern/blf_glyph.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -412,7 +412,7 @@
 		g->uv[1][1] = ((float)(g->yoff + g->height)) / ((float)gc->p2_height);
 
 		/* update the x offset for the next glyph. */
-		gc->x_offs += (int)(g->box.xmax - g->box.xmin + gc->pad);
+		gc->x_offs += (int)(BLI_RCT_SIZE_X(&g->box) + gc->pad);
 
 		gc->rem_glyphs--;
 		g->build_tex = 1;

Modified: trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -370,8 +370,8 @@
 {
 	MemArena *arena = BLI_memarena_new(1 << 16, __func__);
 
-	const float bucket_dim_x = layer->bounds.xmax - layer->bounds.xmin;
-	const float bucket_dim_y = layer->bounds.ymax - layer->bounds.ymin;
+	const float bucket_dim_x = BLI_RCT_SIZE_X(&layer->bounds);
+	const float bucket_dim_y = BLI_RCT_SIZE_Y(&layer->bounds);
 
 	layer->buckets_x = (bucket_dim_x / pixel_size) / (float)BUCKET_PIXELS_PER_CELL;
 	layer->buckets_y = (bucket_dim_y / pixel_size) / (float)BUCKET_PIXELS_PER_CELL;

Modified: trunk/blender/source/blender/blenlib/BLI_rect.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_rect.h	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/blenlib/BLI_rect.h	2012-08-20 15:29:02 UTC (rev 50050)
@@ -75,6 +75,15 @@
 void print_rctf(const char *str, const struct rctf *rect);
 void print_rcti(const char *str, const struct rcti *rect);
 
+#define BLI_RCT_SIZE_X(rct)       ((rct)->xmax - (rct)->xmin)
+#define BLI_RCT_SIZE_Y(rct)       ((rct)->ymax - (rct)->ymin)
+
+#define BLI_RCT_CENTER_X(rct)     (((rct)->xmin + (rct)->xmax) / 2)
+#define BLI_RCT_CENTER_Y(rct)     (((rct)->ymin + (rct)->ymax) / 2)
+
+#define BLI_RCT_CENTER_X_FL(rct)  ((float)((rct)->xmin + (rct)->xmax) / 2.0f)
+#define BLI_RCT_CENTER_Y_FL(rct)  ((float)((rct)->ymin + (rct)->ymax) / 2.0f)
+
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/blender/source/blender/blenlib/intern/rct.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/rct.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/blenlib/intern/rct.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -252,8 +252,8 @@
 /* change width & height around the central location */
 void BLI_rcti_resize(rcti *rect, int x, int y)
 {
-	rect->xmin = rect->xmax = (rect->xmax + rect->xmin) / 2;
-	rect->ymin = rect->ymax = (rect->ymax + rect->ymin) / 2;
+	rect->xmin = rect->xmax = BLI_RCT_CENTER_X(rect);
+	rect->ymin = rect->ymax = BLI_RCT_CENTER_Y(rect);
 	rect->xmin -= x / 2;
 	rect->ymin -= y / 2;
 	rect->xmax = rect->xmin + x;
@@ -262,8 +262,8 @@
 
 void BLI_rctf_resize(rctf *rect, float x, float y)
 {
-	rect->xmin = rect->xmax = (rect->xmax + rect->xmin) * 0.5f;
-	rect->ymin = rect->ymax = (rect->ymax + rect->ymin) * 0.5f;
+	rect->xmin = rect->xmax = BLI_RCT_CENTER_X(rect);
+	rect->ymin = rect->ymax = BLI_RCT_CENTER_Y(rect);
 	rect->xmin -= x * 0.5f;
 	rect->ymin -= y * 0.5f;
 	rect->xmax = rect->xmin + x;

Modified: trunk/blender/source/blender/editors/animation/anim_channels_defines.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_channels_defines.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/editors/animation/anim_channels_defines.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -3067,9 +3067,9 @@
 				break;
 			}
 		}
-		
+
 		/* check if there's enough space for the toggles if the sliders are drawn too */
-		if (!(draw_sliders) || ((v2d->mask.xmax - v2d->mask.xmin) > ACHANNEL_BUTTON_WIDTH / 2) ) {
+		if (!(draw_sliders) || (BLI_RCT_SIZE_X(&v2d->mask) > ACHANNEL_BUTTON_WIDTH / 2) ) {
 			/* protect... */
 			if (acf->has_setting(ac, ale, ACHANNEL_SETTING_PROTECT))
 				offset += ICON_WIDTH;
@@ -3461,7 +3461,7 @@
 		}
 		
 		/* check if there's enough space for the toggles if the sliders are drawn too */
-		if (!(draw_sliders) || ((v2d->mask.xmax - v2d->mask.xmin) > ACHANNEL_BUTTON_WIDTH / 2) ) {
+		if (!(draw_sliders) || (BLI_RCT_SIZE_X(&v2d->mask) > ACHANNEL_BUTTON_WIDTH / 2) ) {
 			/* protect... */
 			if (acf->has_setting(ac, ale, ACHANNEL_SETTING_PROTECT)) {
 				offset += ICON_WIDTH; 

Modified: trunk/blender/source/blender/editors/animation/anim_markers.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_markers.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/editors/animation/anim_markers.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -773,8 +773,7 @@
 			if (hasNumInput(&mm->num))
 				break;
 			
-			dx = v2d->mask.xmax - v2d->mask.xmin;
-			dx = (v2d->cur.xmax - v2d->cur.xmin) / dx;
+			dx = BLI_RCT_SIZE_X(&v2d->cur) / BLI_RCT_SIZE_X(&v2d->mask);
 			
 			if (evt->x != mm->evtx) {   /* XXX maybe init for first time */
 				int a, offs, totmark = 0;

Modified: trunk/blender/source/blender/editors/gpencil/gpencil_edit.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_edit.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_edit.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -422,8 +422,8 @@
 		}
 		else {
 			if (subrect) {
-				mvalf[0] = (((float)pt->x / 100.0f) * (subrect->xmax - subrect->xmin)) + subrect->xmin;
-				mvalf[1] = (((float)pt->y / 100.0f) * (subrect->ymax - subrect->ymin)) + subrect->ymin;
+				mvalf[0] = (((float)pt->x / 100.0f) * BLI_RCT_SIZE_X(subrect)) + subrect->xmin;
+				mvalf[1] = (((float)pt->y / 100.0f) * BLI_RCT_SIZE_Y(subrect)) + subrect->ymin;
 			}
 			else {
 				mvalf[0] = (float)pt->x / 100.0f * ar->winx;

Modified: trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_paint.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_paint.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -300,8 +300,8 @@
 			out[1] = (float)(mval[1]) / (float)(p->ar->winy) * 100;
 		}
 		else { /* camera view, use subrect */
-			out[0] = ((mval[0] - p->subrect->xmin) / ((p->subrect->xmax - p->subrect->xmin))) * 100;
-			out[1] = ((mval[1] - p->subrect->ymin) / ((p->subrect->ymax - p->subrect->ymin))) * 100;
+			out[0] = ((mval[0] - p->subrect->xmin) / BLI_RCT_SIZE_X(p->subrect)) * 100;
+			out[1] = ((mval[1] - p->subrect->ymin) / BLI_RCT_SIZE_Y(p->subrect)) * 100;
 		}
 	}
 }

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/editors/interface/interface.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -300,8 +300,8 @@
 	
 	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 @@
 
 	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);

Modified: trunk/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_draw.c	2012-08-20 15:17:17 UTC (rev 50049)
+++ trunk/blender/source/blender/editors/interface/interface_draw.c	2012-08-20 15:29:02 UTC (rev 50050)
@@ -439,8 +439,8 @@
 	//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 @@
 	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);

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list