[Scummvm-cvs-logs] CVS: scummvm/gui newgui.cpp,1.119,1.120

Chris Apers chrilith at users.sourceforge.net
Sat Sep 3 09:27:29 CEST 2005


Update of /cvsroot/scummvm/scummvm/gui
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29853

Modified Files:
	newgui.cpp 
Log Message:
PalmOS : ARM optimized blendRect

Index: newgui.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/newgui.cpp,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -d -r1.119 -r1.120
--- newgui.cpp	30 Jul 2005 21:11:01 -0000	1.119
+++ newgui.cpp	3 Sep 2005 16:26:00 -0000	1.120
@@ -24,6 +24,10 @@
 #include "gui/newgui.h"
 #include "gui/dialog.h"
 
+#if defined(PALMOS_68K)
+#include "arm/native.h"
+#include "arm/macros.h"
+#endif
 
 DECLARE_SINGLETON(GUI::NewGui);
 
@@ -138,10 +142,10 @@
 
 		while (_system->pollEvent(event)) {
 			Common::Point mouse(event.mouse.x - activeDialog->_x, event.mouse.y - activeDialog->_y);
-
+			
 			switch (event.type) {
 			case OSystem::EVENT_KEYDOWN:
-#if !defined(__PALM_OS__)
+#if !defined(PALMOS_MODE)
 				// init continuous event stream
 				// not done on PalmOS because keyboard is emulated and keyup is not generated
 				_currentKeyDown.ascii = event.kbd.ascii;
@@ -335,7 +339,7 @@
 
 	if (!rect.isValidRect())
 		return;
-
+	
 	assert(s.bytesPerPixel == sizeof(OverlayColor));
 
 	OverlayColor *src = (OverlayColor *)s.pixels;
@@ -374,7 +378,7 @@
 		b = ab * a;
 
 		OverlayColor *ptr = getBasePtr(rect.left, rect.top);
-
+		
 		h = rect.height();
 		w = rect.width();
 		while (h--) {
@@ -399,9 +403,24 @@
 		b = ab * level;
 
 		OverlayColor *ptr = getBasePtr(rect.left, rect.top);
-
+		
 		h = rect.height();
 		w = rect.width();
+
+#ifdef PALMOS_68K
+	ARM_START(BlendRectType)
+		ARM_INIT(COMMON_BLENDRECT)
+		ARM_ADDM(w)
+		ARM_ADDM(h)
+		ARM_ADDM(ptr)
+		ARM_ADDM(_screenPitch)
+		ARM_ADDM(r)
+		ARM_ADDM(g)
+		ARM_ADDM(b)
+		ARM_ADDM(level)
+		ARM_CALL(ARM_COMMON, PNO_DATA())
+	ARM_END()
+#endif
 		while (h--) {
 			for (int i = 0; i < w; i++) {
 				_system->colorToRGB(ptr[i], ar, ag, ab);





More information about the Scummvm-git-logs mailing list