[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27855] trunk/blender/source/blender/ editors/interface/view2d_ops.c: Performance tweak - on region pan/scale, only redraw the region itself

Matt Ebb matt at mke3.net
Tue Mar 30 09:57:07 CEST 2010


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);
 	





More information about the Bf-blender-cvs mailing list