[Bf-blender-cvs] [3a3317f] gooseberry: Indicator for the player (togglable with I key).

Antony Riakiotakis noreply at git.blender.org
Fri Jun 5 14:45:33 CEST 2015


Commit: 3a3317ff3913c434d80f84084a9225153ee556d3
Author: Antony Riakiotakis
Date:   Fri Jun 5 14:45:26 2015 +0200
Branches: gooseberry
https://developer.blender.org/rB3a3317ff3913c434d80f84084a9225153ee556d3

Indicator for the player (togglable with I key).

Draws a green line where the current frame is in the movie.

===================================================================

M	source/blender/windowmanager/intern/wm_playanim.c

===================================================================

diff --git a/source/blender/windowmanager/intern/wm_playanim.c b/source/blender/windowmanager/intern/wm_playanim.c
index f47f665..67fa136 100644
--- a/source/blender/windowmanager/intern/wm_playanim.c
+++ b/source/blender/windowmanager/intern/wm_playanim.c
@@ -104,6 +104,7 @@ typedef struct PlayState {
 	bool  turbo;
 	bool  pingpong;
 	bool  noskip;
+	bool  indicator;
 	bool  sstep;
 	bool  wait2;
 	bool  stopped;
@@ -343,6 +344,30 @@ static void playanim_toscreen(PlayState *ps, PlayAnimPict *picture, struct ImBuf
 		BLF_draw(fontid, str, sizeof(str));
 	}
 
+	if (ps->indicator) {
+		float fac = ps->picture->frame / (double)(((PlayAnimPict *)picsbase.last)->frame - ((PlayAnimPict *)picsbase.first)->frame);
+
+		fac = 2.0f * fac - 1.0f;
+		glMatrixMode(GL_PROJECTION);
+		glPushMatrix();
+		glLoadIdentity();
+		glMatrixMode(GL_MODELVIEW);
+		glPushMatrix();
+		glLoadIdentity();
+
+		glColor4f(0.0f, 1.0f, 0.0f, 1.0f);
+
+		glBegin(GL_LINES);
+		glVertex2f(fac, -1.0f);
+		glVertex2f(fac, 1.0f);
+		glEnd();
+
+		glPopMatrix();
+		glMatrixMode(GL_PROJECTION);
+		glPopMatrix();
+		glMatrixMode(GL_MODELVIEW);
+	}
+
 	GHOST_SwapWindowBuffers(g_WS.ghost_window);
 }
 
@@ -580,7 +605,6 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr ps_void)
 	/* convert ghost event into value keyboard or mouse */
 	val = ELEM(type, GHOST_kEventKeyDown, GHOST_kEventButtonDown);
 
-
 	/* first check if we're busy loading files */
 	if (ps->loading) {
 		switch (type) {
@@ -626,6 +650,9 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr ps_void)
 				case GHOST_kKeyA:
 					if (val) ps->noskip = !ps->noskip;
 					break;
+				case GHOST_kKeyI:
+					if (val) ps->indicator = !ps->indicator;
+					break;
 				case GHOST_kKeyP:
 					if (val) ps->pingpong = !ps->pingpong;
 					break;
@@ -1092,6 +1119,7 @@ static char *wm_main_playanim_intern(int argc, const char **argv)
 	ps.stopped   = false;
 	ps.loading   = false;
 	ps.picture   = NULL;
+	ps.indicator = false;
 	ps.dropped_file[0] = 0;
 	ps.zoom      = 1.0f;
 	/* resetmap = false */




More information about the Bf-blender-cvs mailing list