[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