[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