diff options
Diffstat (limited to 'backends/platform')
| -rw-r--r-- | backends/platform/iphone/iphone_video.mm | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/backends/platform/iphone/iphone_video.mm b/backends/platform/iphone/iphone_video.mm index 1866bf5f96..dc9436bfd8 100644 --- a/backends/platform/iphone/iphone_video.mm +++ b/backends/platform/iphone/iphone_video.mm @@ -568,10 +568,11 @@ const char *iPhone_getDocumentsDir() {  	// Scale the shake offset according to the overlay size. We need this to  	// adjust the overlay mouse click coordinates when an offset is set. +	_scaledShakeXOffset = (int)(_videoContext.shakeXOffset / (GLfloat)_videoContext.screenWidth * CGRectGetWidth(_overlayRect));  	_scaledShakeYOffset = (int)(_videoContext.shakeYOffset / (GLfloat)_videoContext.screenHeight * CGRectGetHeight(_overlayRect));  	// Apply the shaking to the output screen. -	glTranslatef(0, -_scaledShakeYOffset, 0); +	glTranslatef(_scaledShakeXOffset, -_scaledShakeYOffset, 0);  }  - (void)clearColorBuffer { @@ -637,23 +638,25 @@ const char *iPhone_getDocumentsDir() {  		return false;  	CGRect *area; -	int width, height, offsetY; +	int width, height, offsetX, offsetY;  	if (_videoContext.overlayVisible) {  		area = &_overlayRect;  		width = _videoContext.overlayWidth;  		height = _videoContext.overlayHeight; +		offsetX = _scaledShakeXOffset;  		offsetY = _scaledShakeYOffset;  	} else {  		area = &_gameScreenRect;  		width = _videoContext.screenWidth;  		height = _videoContext.screenHeight; +		offsetX = _videoContext.shakeXOffset;  		offsetY = _videoContext.shakeYOffset;  	}  	point.x = (point.x - CGRectGetMinX(*area)) / CGRectGetWidth(*area);  	point.y = (point.y - CGRectGetMinY(*area)) / CGRectGetHeight(*area); -	*x = (int)(point.x * width); +	*x = (int)(point.x * width + offsetX);  	// offsetY describes the translation of the screen in the upward direction,  	// thus we need to add it here.  	*y = (int)(point.y * height + offsetY);  | 
