aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/platform/iphone/iphone_common.h1
-rw-r--r--backends/platform/iphone/iphone_video.m8
-rw-r--r--backends/platform/iphone/osys_video.cpp1
3 files changed, 9 insertions, 1 deletions
diff --git a/backends/platform/iphone/iphone_common.h b/backends/platform/iphone/iphone_common.h
index 98d1244054..470c042b0e 100644
--- a/backends/platform/iphone/iphone_common.h
+++ b/backends/platform/iphone/iphone_common.h
@@ -75,6 +75,7 @@ bool iPhone_isHighResDevice();
int iPhone_getScreenHeight();
int iPhone_getScreenWidth();
void iPhone_enableOverlay(int state);
+void iPhone_showCursor(int state);
void iPhone_setMouseCursor(short *buffer, int width, int height, int hotspotX, int hotspotY);
uint getSizeNextPOT(uint size);
diff --git a/backends/platform/iphone/iphone_video.m b/backends/platform/iphone/iphone_video.m
index a412945a5e..a18d68e6da 100644
--- a/backends/platform/iphone/iphone_video.m
+++ b/backends/platform/iphone/iphone_video.m
@@ -55,6 +55,7 @@ static int _mouseCursorHotspotX = 0;
static int _mouseCursorHotspotY = 0;
static int _mouseX = 0;
static int _mouseY = 0;
+static int _mouseCursorEnabled = 0;
// static long lastTick = 0;
// static int frames = 0;
@@ -74,6 +75,10 @@ int printOglError(const char *file, int line) {
return retCode;
}
+void iPhone_showCursor(int state) {
+ _mouseCursorEnabled = state;
+}
+
void iPhone_setMouseCursor(short *buffer, int width, int height, int hotspotX, int hotspotY) {
_mouseCursor = buffer;
@@ -271,7 +276,8 @@ bool getLocalMouseCoords(CGPoint *point) {
if (_overlayIsEnabled)
[self updateOverlaySurface];
- [self updateMouseSurface];
+ if (_mouseCursorEnabled)
+ [self updateMouseSurface];
glBindRenderbufferOES(GL_RENDERBUFFER_OES, _viewRenderbuffer); printOpenGLError();
[_context presentRenderbuffer:GL_RENDERBUFFER_OES];
diff --git a/backends/platform/iphone/osys_video.cpp b/backends/platform/iphone/osys_video.cpp
index 4d3d49c552..2c9e5633a4 100644
--- a/backends/platform/iphone/osys_video.cpp
+++ b/backends/platform/iphone/osys_video.cpp
@@ -332,6 +332,7 @@ int16 OSystem_IPHONE::getOverlayWidth() {
bool OSystem_IPHONE::showMouse(bool visible) {
bool last = _mouseVisible;
_mouseVisible = visible;
+ iPhone_showCursor(visible);
_mouseDirty = true;
return last;