[Scummvm-cvs-logs] SF.net SVN: scummvm:[43089] scummvm/branches/branch-1-0-0/backends/platform /wince

knakos at users.sourceforge.net knakos at users.sourceforge.net
Thu Aug 6 20:07:13 CEST 2009


Revision: 43089
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43089&view=rev
Author:   knakos
Date:     2009-08-06 18:07:05 +0000 (Thu, 06 Aug 2009)

Log Message:
-----------
overload showMouse to kill mouse shadows in kyra (backport)

Modified Paths:
--------------
    scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.cpp
    scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.h

Modified: scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.cpp	2009-08-06 18:05:50 UTC (rev 43088)
+++ scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.cpp	2009-08-06 18:07:05 UTC (rev 43089)
@@ -1934,8 +1934,7 @@
 	_mouseData = (byte *) malloc(w * h);
 	memcpy(_mouseData, buf, w * h);
 
-	if (w > _mouseBackupDim || h > _mouseBackupDim)
-	{
+	if (w > _mouseBackupDim || h > _mouseBackupDim) {
 		// mouse has been undrawn, adjust sprite backup area
 		free(_mouseBackupOld);
 		free(_mouseBackupToolbar);
@@ -2050,7 +2049,6 @@
 
 	if (_mouseNeedsRedraw)
 		return;
-	_mouseNeedsRedraw = true;
 
 	int old_mouse_x = _mouseCurState.x - _mouseHotspotX;
 	int old_mouse_y = _mouseCurState.y - _mouseHotspotY;
@@ -2101,8 +2099,24 @@
 	addDirtyRect(old_mouse_x, old_mouse_y, old_mouse_w, old_mouse_h);
 
 	SDL_UnlockSurface(_overlayVisible ? _overlayscreen : _screen);
+
+	_mouseNeedsRedraw = true;
 }
 
+bool OSystem_WINCE3::showMouse(bool visible) {
+	if (_mouseVisible == visible)
+		return visible;
+
+	if (visible == false)
+		undrawMouse();
+
+	bool last = _mouseVisible;
+	_mouseVisible = visible;
+	_mouseNeedsRedraw = true;
+
+	return last;
+}
+
 void OSystem_WINCE3::drawToolbarMouse(SDL_Surface *surf, bool draw) {
 
 	if (!_mouseData || !_usesEmulatedMouse) return;

Modified: scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.h
===================================================================
--- scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.h	2009-08-06 18:05:50 UTC (rev 43088)
+++ scummvm/branches/branch-1-0-0/backends/platform/wince/wince-sdl.h	2009-08-06 18:07:05 UTC (rev 43089)
@@ -94,6 +94,7 @@
 	void setMouseCursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y, byte keycolor, int cursorTargetScale); // overloaded by CE backend
 	void undrawMouse();
 	void blitCursor();
+	bool showMouse(bool visible);
 	void setMousePos(int x, int y);
 	void copyRectToScreen(const byte *src, int pitch, int x, int y, int w, int h); // overloaded by CE backend (FIXME)
 	void copyRectToOverlay(const OverlayColor *buf, int pitch, int x, int y, int w, int h);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list