aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorJohannes Schickel2012-02-24 01:13:44 +0100
committerJohannes Schickel2012-02-24 01:13:44 +0100
commitd691ef2260fb76ac7bdba60e8383db5c27e842b6 (patch)
tree0b646966131c354520f1b333753a902b374999fb /backends
parentd93e1558fca1a13d71e588189c309b4daec8d150 (diff)
downloadscummvm-rg350-d691ef2260fb76ac7bdba60e8383db5c27e842b6.tar.gz
scummvm-rg350-d691ef2260fb76ac7bdba60e8383db5c27e842b6.tar.bz2
scummvm-rg350-d691ef2260fb76ac7bdba60e8383db5c27e842b6.zip
IPHONE: Clean up mouse texture coordinate handling.
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/iphone/iphone_video.h2
-rw-r--r--backends/platform/iphone/iphone_video.mm24
2 files changed, 11 insertions, 15 deletions
diff --git a/backends/platform/iphone/iphone_video.h b/backends/platform/iphone/iphone_video.h
index 4d6d906a3c..bd32a582e9 100644
--- a/backends/platform/iphone/iphone_video.h
+++ b/backends/platform/iphone/iphone_video.h
@@ -60,6 +60,8 @@
GLfloat _overlayTexCoords[4 * 2];
CGRect _overlayRect;
+ GLfloat _mouseTexCoords[4 * 2];
+
int _scaledShakeOffsetY;
}
diff --git a/backends/platform/iphone/iphone_video.mm b/backends/platform/iphone/iphone_video.mm
index 621238d1c2..477254f46d 100644
--- a/backends/platform/iphone/iphone_video.mm
+++ b/backends/platform/iphone/iphone_video.mm
@@ -217,6 +217,11 @@ const char *iPhone_getDocumentsDir() {
_overlayTexCoords[4] = _overlayTexCoords[5] =
_overlayTexCoords[6] = _overlayTexCoords[7] = 0;
+ _mouseTexCoords[0] = _mouseTexCoords[1] =
+ _mouseTexCoords[2] = _mouseTexCoords[3] =
+ _mouseTexCoords[4] = _mouseTexCoords[5] =
+ _mouseTexCoords[6] = _mouseTexCoords[7] = 0;
+
// Initialize the OpenGL ES context
[self createContext];
@@ -305,6 +310,9 @@ const char *iPhone_getDocumentsDir() {
[self setFilterModeForTexture:_mouseCursorTexture];
}
+ _mouseTexCoords[2] = _mouseTexCoords[6] = _videoContext.mouseWidth / (GLfloat)_videoContext.mouseTexture.w;
+ _mouseTexCoords[5] = _mouseTexCoords[7] = _videoContext.mouseHeight / (GLfloat)_videoContext.mouseTexture.h;
+
glBindTexture(GL_TEXTURE_2D, _mouseCursorTexture); printOpenGLError();
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _videoContext.mouseTexture.w, _videoContext.mouseTexture.h, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, _videoContext.mouseTexture.pixels); printOpenGLError();
}
@@ -383,22 +391,8 @@ const char *iPhone_getDocumentsDir() {
//printf("Cursor: width %u height %u\n", _videoContext.mouseWidth, _videoContext.mouseHeight);
- float texWidth = _videoContext.mouseWidth / (float)_videoContext.mouseTexture.w;
- float texHeight = _videoContext.mouseHeight / (float)_videoContext.mouseTexture.h;
-
- const GLfloat texCoords[] = {
- // Top left
- 0 , 0,
- // Top right
- texWidth, 0,
- // Bottom left
- 0 , texHeight,
- // Bottom right
- texWidth, texHeight
- };
-
glVertexPointer(2, GL_FLOAT, 0, vertices); printOpenGLError();
- glTexCoordPointer(2, GL_FLOAT, 0, texCoords); printOpenGLError();
+ glTexCoordPointer(2, GL_FLOAT, 0, _mouseTexCoords); printOpenGLError();
glBindTexture(GL_TEXTURE_2D, _mouseCursorTexture); printOpenGLError();
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); printOpenGLError();