Revision: 27855
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27855
Author:   broken
Date:     2010-03-30 09:57:07 +0200 (Tue, 30 Mar 2010)

Log Message:
-----------
Performance tweak - on region pan/scale, only redraw the region itself 
instead of the entire area (eg. so panning tool shelf doesn't lag when 3d view 
redrawing is slow).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/view2d_ops.c

Modified: trunk/blender/source/blender/editors/interface/view2d_ops.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d_ops.c 2010-03-30 
06:37:44 UTC (rev 27854)
+++ trunk/blender/source/blender/editors/interface/view2d_ops.c 2010-03-30 
07:57:07 UTC (rev 27855)
@@ -72,6 +72,7 @@
 typedef struct v2dViewPanData {
        bScreen *sc;                    /* screen where view pan was initiated 
*/
        ScrArea *sa;                    /* area where view pan was initiated */
+       ARegion *ar;                    /* region where view pan was initiated 
*/
        View2D *v2d;                    /* view2d we're operating in */
        
        float facx, facy;               /* amount to move view relative to zoom 
*/
@@ -108,6 +109,7 @@
        vpd->sc= CTX_wm_screen(C);
        vpd->sa= CTX_wm_area(C);
        vpd->v2d= v2d;
+       vpd->ar = ar;
        
        /* calculate translation factor - based on size of view */
        winx= (float)(ar->winrct.xmax - ar->winrct.xmin + 1);
@@ -143,7 +145,8 @@
        UI_view2d_curRect_validate(v2d);
        
        /* request updates to be done... */
-       ED_area_tag_redraw(vpd->sa);
+       ED_region_tag_redraw(vpd->ar);
+       
        UI_view2d_sync(vpd->sc, vpd->sa, v2d, V2D_LOCK_COPY);
        WM_event_add_mousemove(C);
        
@@ -630,7 +633,7 @@
        UI_view2d_curRect_validate(v2d);
 
        /* request updates to be done... */
-       ED_area_tag_redraw(CTX_wm_area(C));
+       ED_region_tag_redraw(vpd->ar);
        UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);
        WM_event_add_mousemove(C);
 }
@@ -820,7 +823,7 @@
        UI_view2d_curRect_validate(v2d);
        
        /* request updates to be done... */
-       ED_area_tag_redraw(CTX_wm_area(C));
+       ED_region_tag_redraw(vpd->ar);
        UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);
        WM_event_add_mousemove(C);
 }
@@ -1089,7 +1092,7 @@
        UI_view2d_curRect_validate(v2d);
        
        /* request updates to be done... */
-       ED_area_tag_redraw(CTX_wm_area(C));
+       ED_region_tag_redraw(vpd->ar);
        UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);
        WM_event_add_mousemove(C);
        
@@ -1332,7 +1335,7 @@
        UI_view2d_curRect_validate(v2d);
        
        /* request updates to be done... */
-       ED_area_tag_redraw(CTX_wm_area(C));
+       ED_region_tag_redraw(vpd->ar);
        UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);
        WM_event_add_mousemove(C);
 }
@@ -1522,7 +1525,7 @@
        UI_view2d_curRect_validate(v2d);
        
        /* request updates to be done... */
-       ED_area_tag_redraw(CTX_wm_area(C));
+       ED_region_tag_redraw(vpd->ar);
        UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);
        WM_event_add_mousemove(C);
        


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

Reply via email to