[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24100] trunk/blender/source/gameengine/ BlenderRoutines: remove ARegion from the Canvas, use a RAS_Rect instead.

Campbell Barton ideasman42 at gmail.com
Tue Oct 27 00:00:42 CET 2009


Revision: 24100
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24100
Author:   campbellbarton
Date:     2009-10-27 00:00:06 +0100 (Tue, 27 Oct 2009)

Log Message:
-----------
remove ARegion from the Canvas, use a RAS_Rect instead. (pair programming with Dalai ;) )

Modified Paths:
--------------
    trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
    trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h

Modified: trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2009-10-26 22:33:43 UTC (rev 24099)
+++ trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2009-10-26 23:00:06 UTC (rev 24100)
@@ -127,7 +127,13 @@
 	struct Scene *scene= CTX_data_scene(C);
 	struct Main* maggie1= CTX_data_main(C);
 	
-	
+
+	RAS_Rect area_rect;
+	area_rect.SetLeft(ar->winrct.xmin);
+	area_rect.SetBottom(ar->winrct.ymin);
+	area_rect.SetRight(ar->winrct.xmax);
+	area_rect.SetTop(ar->winrct.ymax);
+
 	int exitrequested = KX_EXIT_REQUEST_NO_REQUEST;
 	Main* blenderdata = maggie1;
 
@@ -167,7 +173,7 @@
 		bool nodepwarnings = (SYS_GetCommandLineInt(syshandle, "ignore_deprecation_warnings", 0) != 0);
 		bool novertexarrays = (SYS_GetCommandLineInt(syshandle, "novertexarrays", 0) != 0);
 		// create the canvas, rasterizer and rendertools
-		RAS_ICanvas* canvas = new KX_BlenderCanvas(win, ar);
+		RAS_ICanvas* canvas = new KX_BlenderCanvas(win, area_rect);
 		canvas->SetMouseState(RAS_ICanvas::MOUSE_INVISIBLE);
 		RAS_IRenderTools* rendertools = new KX_BlenderRenderTools();
 		RAS_IRasterizer* rasterizer = NULL;
@@ -589,6 +595,12 @@
 
 	Main* blenderdata = maggie;
 
+	RAS_Rect area_rect;
+	area_rect.SetLeft(ar->winrct.xmin);
+	area_rect.SetBottom(ar->winrct.ymin);
+	area_rect.SetRight(ar->winrct.xmax);
+	area_rect.SetTop(ar->winrct.ymax);
+
 	char* startscenename = scenename;
 	char pathname[FILE_MAXDIR+FILE_MAXFILE];
 	STR_String exitstring = "";
@@ -619,7 +631,7 @@
 		bool usemat = false;
 
 		// create the canvas, rasterizer and rendertools
-		RAS_ICanvas* canvas = new KX_BlenderCanvas(win, ar);
+		RAS_ICanvas* canvas = new KX_BlenderCanvas(win, area_rect);
 		//canvas->SetMouseState(RAS_ICanvas::MOUSE_INVISIBLE);
 		RAS_IRenderTools* rendertools = new KX_BlenderRenderTools();
 		RAS_IRasterizer* rasterizer = NULL;

Modified: trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp	2009-10-26 22:33:43 UTC (rev 24099)
+++ trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp	2009-10-26 23:00:06 UTC (rev 24100)
@@ -35,9 +35,9 @@
 #endif
 
 
-KX_BlenderCanvas::KX_BlenderCanvas(struct wmWindow *win, ARegion *ar) :
+KX_BlenderCanvas::KX_BlenderCanvas(struct wmWindow *win, RAS_Rect &rect) :
 m_win(win),
-m_ar(ar)
+m_frame_rect(rect)
 {
 }
 
@@ -96,12 +96,12 @@
 
 int KX_BlenderCanvas::GetWidth(
 ) const {
-	return m_ar->winx;
+	return m_frame_rect.GetWidth();
 }
 
 int KX_BlenderCanvas::GetHeight(
 ) const {
-	return m_ar->winy;
+	return m_frame_rect.GetHeight();
 }
 
 RAS_Rect &
@@ -119,8 +119,8 @@
 ){
 	int vp_width = (x2 - x1) + 1;
 	int vp_height = (y2 - y1) + 1;
-	int minx = m_ar->winrct.xmin;
-	int miny = m_ar->winrct.ymin;
+	int minx = m_frame_rect.GetLeft();
+	int miny = m_frame_rect.GetBottom();
 
 	m_area_rect.SetLeft(minx + x1);
 	m_area_rect.SetBottom(miny + y1);
@@ -162,9 +162,9 @@
 //	(0,0) is top left, (width,height) is bottom right
 void KX_BlenderCanvas::SetMousePosition(int x,int y)
 {
-	int winX = m_ar->winrct.xmin;
-	int winY = m_ar->winrct.ymin;
-	int winH = m_ar->winy;
+	int winX = m_frame_rect.GetLeft();
+	int winY = m_frame_rect.GetBottom();
+	int winH = m_frame_rect.GetHeight();
 	
 	BL_warp_pointer(winX + x, winY + (winH-y-1));
 }
@@ -173,5 +173,5 @@
 
 void KX_BlenderCanvas::MakeScreenShot(const char* filename)
 {
-	BL_MakeScreenShot(m_ar, filename);
+//	BL_MakeScreenShot(m_ar, filename);
 }

Modified: trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h	2009-10-26 22:33:43 UTC (rev 24099)
+++ trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h	2009-10-26 23:00:06 UTC (rev 24100)
@@ -64,7 +64,7 @@
 	 * 
 	 * @param area The Blender ARegion to run the game within.
 	 */
-	KX_BlenderCanvas(struct wmWindow* win, struct ARegion* ar);
+	KX_BlenderCanvas(struct wmWindow* win, struct RAS_Rect &rect);
 	~KX_BlenderCanvas();
 
 		void 
@@ -167,8 +167,8 @@
 
 private:
 	/** Blender area the game engine is running within */
-	struct ARegion* m_ar;
 	struct wmWindow* m_win;
+	RAS_Rect	m_frame_rect;
 	RAS_Rect 	m_area_rect;
 
 





More information about the Bf-blender-cvs mailing list