[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25451] trunk/blender/source/blender/ windowmanager: Fix #19431: gestures would sometimes draw incorrect, now ensures they

Brecht Van Lommel brecht at blender.org
Thu Dec 17 20:55:08 CET 2009


Revision: 25451
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25451
Author:   blendix
Date:     2009-12-17 20:55:08 +0100 (Thu, 17 Dec 2009)

Log Message:
-----------
Fix #19431: gestures would sometimes draw incorrect, now ensures they
are always drawn in pixel space.

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/WM_api.h
    trunk/blender/source/blender/windowmanager/intern/wm_draw.c
    trunk/blender/source/blender/windowmanager/intern/wm_gesture.c
    trunk/blender/source/blender/windowmanager/intern/wm_subwindow.c

Modified: trunk/blender/source/blender/windowmanager/WM_api.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_api.h	2009-12-17 19:48:30 UTC (rev 25450)
+++ trunk/blender/source/blender/windowmanager/WM_api.h	2009-12-17 19:55:08 UTC (rev 25451)
@@ -264,6 +264,7 @@
 void		wmFrustum			(float x1, float x2, float y1, float y2, float n, float f);
 void		wmOrtho				(float x1, float x2, float y1, float y2, float n, float f);
 void		wmOrtho2			(float x1, float x2, float y1, float y2);
+void		wmOrthoPixelSpace	(void);
 
 			/* utilities */
 void		WM_set_framebuffer_index_color(int index);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_draw.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_draw.c	2009-12-17 19:48:30 UTC (rev 25450)
+++ trunk/blender/source/blender/windowmanager/intern/wm_draw.c	2009-12-17 19:55:08 UTC (rev 25451)
@@ -585,7 +585,7 @@
 		}
 	}
 
-	if(win->screen->do_draw_gesture)
+	if(screen->do_draw_gesture)
 		wm_gesture_draw(win);
 
 	if(wm->paintcursors.first) {

Modified: trunk/blender/source/blender/windowmanager/intern/wm_gesture.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_gesture.c	2009-12-17 19:48:30 UTC (rev 25450)
+++ trunk/blender/source/blender/windowmanager/intern/wm_gesture.c	2009-12-17 19:55:08 UTC (rev 25451)
@@ -248,6 +248,7 @@
 	for(; gt; gt= gt->next) {
 		/* all in subwindow space */
 		wmSubWindowSet(win, gt->swinid);
+		wmOrthoPixelSpace();
 		
 		if(gt->type==WM_GESTURE_RECT)
 			wm_gesture_draw_rect(win, gt);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_subwindow.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_subwindow.c	2009-12-17 19:48:30 UTC (rev 25450)
+++ trunk/blender/source/blender/windowmanager/intern/wm_subwindow.c	2009-12-17 19:55:08 UTC (rev 25451)
@@ -405,7 +405,17 @@
 	wmOrtho(x1, x2, y1, y2, -100, 100);
 }
 
+void wmOrthoPixelSpace(void)
+{
+	if(_curswin) {
+		int width, height;
 
+		wm_subwindow_getsize(_curwindow, _curswin->swinid, &width, &height);
+		wmOrtho2(-0.375, (float)width-0.375, -0.375, (float)height-0.375);
+		wmLoadIdentity();
+	}
+}
+
 /* *************************** Framebuffer color depth, for selection codes ********************** */
 
 static int wm_get_colordepth(void)





More information about the Bf-blender-cvs mailing list