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)


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to