[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13339] trunk/blender/source/blender: Added view2d_getscale function for getting the opengl x/ y scale for 2d windows.

Campbell Barton ideasman42 at gmail.com
Tue Jan 22 00:06:23 CET 2008


Revision: 13339
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13339
Author:   campbellbarton
Date:     2008-01-22 00:06:23 +0100 (Tue, 22 Jan 2008)

Log Message:
-----------
Added view2d_getscale function for getting the opengl x/y scale for 2d windows.
Display/Edit TimeOffset accounting for its added parent offset.
removed Extension button by mistake.

Modified Paths:
--------------
    trunk/blender/source/blender/include/BSE_drawipo.h
    trunk/blender/source/blender/src/buttons_object.c
    trunk/blender/source/blender/src/buttons_scene.c
    trunk/blender/source/blender/src/drawipo.c
    trunk/blender/source/blender/src/drawtime.c
    trunk/blender/source/blender/src/editipo.c

Modified: trunk/blender/source/blender/include/BSE_drawipo.h
===================================================================
--- trunk/blender/source/blender/include/BSE_drawipo.h	2008-01-21 22:29:57 UTC (rev 13338)
+++ trunk/blender/source/blender/include/BSE_drawipo.h	2008-01-21 23:06:23 UTC (rev 13339)
@@ -55,6 +55,7 @@
 
 void view2d_do_locks		(struct ScrArea *cursa, int flag);
 void view2d_zoom			(struct View2D *v2d, float factor, int winx, int winy);
+void view2d_getscale		(struct View2D *v2d, float *x, float *y);
 void test_view2d			(struct View2D *v2d, int winx, int winy);
 void calc_scrollrcts		(struct ScrArea *sa, struct View2D *v2d, int winx, int winy);
 

Modified: trunk/blender/source/blender/src/buttons_object.c
===================================================================
--- trunk/blender/source/blender/src/buttons_object.c	2008-01-21 22:29:57 UTC (rev 13338)
+++ trunk/blender/source/blender/src/buttons_object.c	2008-01-21 23:06:23 UTC (rev 13339)
@@ -2446,9 +2446,16 @@
 		uiNewPanelHeight(block, 204 - (120-yco));
 }
 
+static void object_panel_anim_timeoffset_callback( void *data, void *timeoffset_ui) {
+	Object *ob = (Object *)data;
+	ob->sf = (*(float *)timeoffset_ui) - (give_timeoffset(ob) - ob->sf);
+}
+
 static void object_panel_anim(Object *ob)
 {
 	uiBlock *block;
+	uiBut *but;
+	static float timeoffset_ui;
 	char str[32];
 	
 	block= uiNewBlock(&curarea->uiblocks, "object_panel_anim", UI_EMBOSS, UI_HELV, curarea->win);
@@ -2500,7 +2507,11 @@
 	uiBlockEndAlign(block);
 	
 	uiBlockBeginAlign(block);
-	uiDefButF(block, NUM, REDRAWALL, "TimeOffset:",			24,35,115,20, &ob->sf, -MAXFRAMEF, MAXFRAMEF, 100, 0, "Animation offset in frames for ipo's and dupligroup instances");
+	
+	timeoffset_ui = give_timeoffset(ob);
+	but = uiDefButF(block, NUM, REDRAWALL, "TimeOffset:",			24,35,115,20, &timeoffset_ui, -MAXFRAMEF, MAXFRAMEF, 100, 0, "Animation offset in frames for ipo's and dupligroup instances");
+	uiButSetFunc(but, object_panel_anim_timeoffset_callback, ob, &timeoffset_ui);
+	
 	uiDefBut(block, BUT, B_AUTOTIMEOFS, "Auto",	139,35,34,20, 0, 0, 0, 0, 0, "Assign selected objects a timeoffset within a range, starting from the active object");
 	uiDefBut(block, BUT, B_OFSTIMEOFS, "Ofs",	173,35,34,20, 0, 0, 0, 0, 0, "Offset selected objects timeoffset");
 	uiDefBut(block, BUT, B_RANDTIMEOFS, "Rand",	207,35,34,20, 0, 0, 0, 0, 0, "Randomize selected objects timeoffset");

Modified: trunk/blender/source/blender/src/buttons_scene.c
===================================================================
--- trunk/blender/source/blender/src/buttons_scene.c	2008-01-21 22:29:57 UTC (rev 13338)
+++ trunk/blender/source/blender/src/buttons_scene.c	2008-01-21 23:06:23 UTC (rev 13339)
@@ -1873,6 +1873,8 @@
 	uiDefButS(block, MENU, B_REDR, "Render Display %t|Render Window %x1|Image Editor %x0|Full Screen %x2",	
 					72, 10, 120, 19, &G.displaymode, 0.0, (float)R_DISPLAYWIN, 0, 0, "Sets render output display");
 
+	uiDefButBitS(block, TOG, R_EXTENSION, B_NOP, "Extensions", 205, 10, 105, 19, &G.scene->r.scemode, 0.0, 0.0, 0, 0, "Adds filetype extensions to the filename when rendering animations");
+	
 	/* Dither control */
 	uiDefButF(block, NUM,B_DIFF, "Dither:",         205,31,105,19, &G.scene->r.dither_intensity, 0.0, 2.0, 0, 0, "The amount of dithering noise present in the output image (0.0 = no dithering)");
 	

Modified: trunk/blender/source/blender/src/drawipo.c
===================================================================
--- trunk/blender/source/blender/src/drawipo.c	2008-01-21 22:29:57 UTC (rev 13338)
+++ trunk/blender/source/blender/src/drawipo.c	2008-01-21 23:06:23 UTC (rev 13339)
@@ -521,6 +521,10 @@
 	view2d_do_locks(curarea, V2D_LOCK_COPY);
 }
 
+void view2d_getscale(View2D *v2d, float *x, float *y) {
+	if (x) *x = (G.v2d->mask.xmax-G.v2d->mask.xmin)/(G.v2d->cur.xmax-G.v2d->cur.xmin);
+	if (y) *y = (G.v2d->mask.ymax-G.v2d->mask.ymin)/(G.v2d->cur.ymax-G.v2d->cur.ymin);
+}
 
 void test_view2d(View2D *v2d, int winx, int winy)
 {

Modified: trunk/blender/source/blender/src/drawtime.c
===================================================================
--- trunk/blender/source/blender/src/drawtime.c	2008-01-21 22:29:57 UTC (rev 13338)
+++ trunk/blender/source/blender/src/drawtime.c	2008-01-21 23:06:23 UTC (rev 13339)
@@ -132,8 +132,7 @@
 		glColor4ub(0, 0, 0, 0);
 		BIF_ThemeColor(TH_TEXT);
 		
-		xscale = (G.v2d->mask.xmax-G.v2d->mask.xmin)/(G.v2d->cur.xmax-G.v2d->cur.xmin);
-		yscale = (G.v2d->mask.ymax-G.v2d->mask.ymin)/(G.v2d->cur.ymax-G.v2d->cur.ymin);
+		view2d_getscale(G.v2d, &xscale, &yscale);
 		
 		/* because the frame number text is subject to the same scaling as the contents of the view */
 		glScalef( 1.0/xscale, 1.0/yscale, 1.0);
@@ -157,9 +156,8 @@
 	/* no time correction for framelen! space is drawn with old values */
 	
 	ypixels= G.v2d->mask.ymax-G.v2d->mask.ymin;
-	xscale = (G.v2d->mask.xmax-G.v2d->mask.xmin)/(G.v2d->cur.xmax-G.v2d->cur.xmin);
-	yscale = (G.v2d->mask.ymax-G.v2d->mask.ymin)/(G.v2d->cur.ymax-G.v2d->cur.ymin);
-
+	view2d_getscale(G.v2d, &xscale, &yscale);
+	
 	glScalef( 1.0/xscale, 1.0/yscale, 1.0);
 	
 	glEnable(GL_BLEND);

Modified: trunk/blender/source/blender/src/editipo.c
===================================================================
--- trunk/blender/source/blender/src/editipo.c	2008-01-21 22:29:57 UTC (rev 13338)
+++ trunk/blender/source/blender/src/editipo.c	2008-01-21 23:06:23 UTC (rev 13339)
@@ -1477,10 +1477,10 @@
 	
 	if(G.sipo->showkey) {
 		float pixelwidth;
-		pixelwidth= (G.v2d->cur.xmax-G.v2d->cur.xmin)/(G.v2d->mask.xmax-G.v2d->mask.xmin); /* could make a generic function */
 		
+		view2d_getscale(G.v2d, &pixelwidth, NULL);
+		
 		getmouseco_areawin(mval);
-		
 		areamouseco_to_ipoco(G.v2d, mval, &x, &y);
 		actik= 0;
 		mindist= 1000.0;





More information about the Bf-blender-cvs mailing list