diff options
| -rw-r--r-- | backends/platform/iphone/osys_events.cpp | 50 | ||||
| -rw-r--r-- | backends/platform/iphone/osys_main.cpp | 13 | ||||
| -rw-r--r-- | backends/platform/iphone/osys_main.h | 13 | ||||
| -rw-r--r-- | backends/platform/iphone/osys_video.mm | 120 | 
4 files changed, 95 insertions, 101 deletions
diff --git a/backends/platform/iphone/osys_events.cpp b/backends/platform/iphone/osys_events.cpp index c167da35e6..94ef565317 100644 --- a/backends/platform/iphone/osys_events.cpp +++ b/backends/platform/iphone/osys_events.cpp @@ -122,8 +122,8 @@ bool OSystem_IPHONE::handleEvent_mouseDown(Common::Event &event, int x, int y) {  	if (_mouseClickAndDragEnabled) {  		event.type = Common::EVENT_LBUTTONDOWN; -		event.mouse.x = _mouseX; -		event.mouse.y = _mouseY; +		event.mouse.x = _videoContext.mouseX; +		event.mouse.y = _videoContext.mouseY;  		return true;  	} else {  		_lastMouseDown = getMillis(); @@ -140,17 +140,17 @@ bool OSystem_IPHONE::handleEvent_mouseUp(Common::Event &event, int x, int y) {  			return false;  	} else if (_mouseClickAndDragEnabled) {  		event.type = Common::EVENT_LBUTTONUP; -		event.mouse.x = _mouseX; -		event.mouse.y = _mouseY; +		event.mouse.x = _videoContext.mouseX; +		event.mouse.y = _videoContext.mouseY;  	} else {  		if (getMillis() - _lastMouseDown < 250) {  			event.type = Common::EVENT_LBUTTONDOWN; -			event.mouse.x = _mouseX; -			event.mouse.y = _mouseY; +			event.mouse.x = _videoContext.mouseX; +			event.mouse.y = _videoContext.mouseY;  			_queuedInputEvent.type = Common::EVENT_LBUTTONUP; -			_queuedInputEvent.mouse.x = _mouseX; -			_queuedInputEvent.mouse.y = _mouseY; +			_queuedInputEvent.mouse.x = _videoContext.mouseX; +			_queuedInputEvent.mouse.y = _videoContext.mouseY;  			_lastMouseTap = getMillis();  			_queuedEventTime = _lastMouseTap + kQueuedInputEventDelay;  		} else @@ -167,12 +167,12 @@ bool OSystem_IPHONE::handleEvent_secondMouseDown(Common::Event &event, int x, in  	if (_mouseClickAndDragEnabled) {  		event.type = Common::EVENT_LBUTTONUP; -		event.mouse.x = _mouseX; -		event.mouse.y = _mouseY; +		event.mouse.x = _videoContext.mouseX; +		event.mouse.y = _videoContext.mouseY;  		_queuedInputEvent.type = Common::EVENT_RBUTTONDOWN; -		_queuedInputEvent.mouse.x = _mouseX; -		_queuedInputEvent.mouse.y = _mouseY; +		_queuedInputEvent.mouse.x = _videoContext.mouseX; +		_queuedInputEvent.mouse.y = _videoContext.mouseY;  	} else  		return false; @@ -184,7 +184,7 @@ bool OSystem_IPHONE::handleEvent_secondMouseUp(Common::Event &event, int x, int  	if (curTime - _lastSecondaryDown < 400) {  		//printf("Right tap!\n"); -		if (curTime - _lastSecondaryTap < 400 && !_overlayVisible) { +		if (curTime - _lastSecondaryTap < 400 && !_videoContext.overlayVisible) {  			//printf("Right escape!\n");  			event.type = Common::EVENT_KEYDOWN;  			_queuedInputEvent.type = Common::EVENT_KEYUP; @@ -197,11 +197,11 @@ bool OSystem_IPHONE::handleEvent_secondMouseUp(Common::Event &event, int x, int  		} else if (!_mouseClickAndDragEnabled) {  			//printf("Rightclick!\n");  			event.type = Common::EVENT_RBUTTONDOWN; -			event.mouse.x = _mouseX; -			event.mouse.y = _mouseY; +			event.mouse.x = _videoContext.mouseX; +			event.mouse.y = _videoContext.mouseY;  			_queuedInputEvent.type = Common::EVENT_RBUTTONUP; -			_queuedInputEvent.mouse.x = _mouseX; -			_queuedInputEvent.mouse.y = _mouseY; +			_queuedInputEvent.mouse.x = _videoContext.mouseX; +			_queuedInputEvent.mouse.y = _videoContext.mouseY;  			_lastSecondaryTap = curTime;  			_queuedEventTime = curTime + kQueuedInputEventDelay;  		} else { @@ -211,8 +211,8 @@ bool OSystem_IPHONE::handleEvent_secondMouseUp(Common::Event &event, int x, int  	}  	if (_mouseClickAndDragEnabled) {  		event.type = Common::EVENT_RBUTTONUP; -		event.mouse.x = _mouseX; -		event.mouse.y = _mouseY; +		event.mouse.x = _videoContext.mouseX; +		event.mouse.y = _videoContext.mouseY;  	}  	return true; @@ -234,11 +234,11 @@ bool OSystem_IPHONE::handleEvent_mouseDragged(Common::Event &event, int x, int y  		_lastPadX = x;  		_lastPadY = y; -		mouseNewPosX = (int)(_mouseX - deltaX / 0.5f); -		mouseNewPosY = (int)(_mouseY - deltaY / 0.5f); +		mouseNewPosX = (int)(_videoContext.mouseX - deltaX / 0.5f); +		mouseNewPosY = (int)(_videoContext.mouseY - deltaY / 0.5f); -		int widthCap = _overlayVisible ? _overlayWidth : _screenWidth; -		int heightCap = _overlayVisible ? _overlayHeight : _screenHeight; +		int widthCap = _videoContext.overlayVisible ? _videoContext.overlayWidth : _videoContext.screenWidth; +		int heightCap = _videoContext.overlayVisible ? _videoContext.overlayHeight : _videoContext.screenHeight;  		if (mouseNewPosX < 0)  			mouseNewPosX = 0; @@ -350,10 +350,10 @@ void  OSystem_IPHONE::handleEvent_orientationChanged(int orientation) {  	if (_screenOrientation != newOrientation) {  		_screenOrientation = newOrientation; -		iPhone_initSurface(_screenWidth, _screenHeight); +		iPhone_initSurface(_videoContext.screenWidth, _videoContext.screenHeight);  		dirtyFullScreen(); -		if (_overlayVisible) +		if (_videoContext.overlayVisible)  			dirtyFullOverlayScreen();  		updateScreen();  	} diff --git a/backends/platform/iphone/osys_main.cpp b/backends/platform/iphone/osys_main.cpp index 2bdc09c9ce..9e73fe7756 100644 --- a/backends/platform/iphone/osys_main.cpp +++ b/backends/platform/iphone/osys_main.cpp @@ -55,18 +55,21 @@ SoundProc OSystem_IPHONE::s_soundCallback = NULL;  void *OSystem_IPHONE::s_soundParam = NULL;  OSystem_IPHONE::OSystem_IPHONE() : -	_mixer(NULL), _gameScreenRaw(NULL), -	_overlayVisible(false), _gameScreenConverted(NULL), -	_mouseHeight(0), _mouseWidth(0), _mouseBuf(NULL), _lastMouseTap(0), _queuedEventTime(0), +	_mixer(NULL), _gameScreenRaw(NULL), _gameScreenConverted(NULL), +	_mouseBuf(NULL), _lastMouseTap(0), _queuedEventTime(0),  	_mouseNeedTextureUpdate(false), _secondaryTapped(false), _lastSecondaryTap(0),  	_screenOrientation(kScreenOrientationFlippedLandscape), _mouseClickAndDragEnabled(false),  	_gestureStartX(-1), _gestureStartY(-1), _fullScreenIsDirty(false), _fullScreenOverlayIsDirty(false),  	_mouseDirty(false), _timeSuspended(0), _lastDragPosX(-1), _lastDragPosY(-1), _screenChangeCount(0), -	_overlayHeight(0), _overlayWidth(0), _overlayBuffer(0), _mouseCursorPaletteEnabled(false), -	_currentGraphicsMode(kGraphicsModeLinear) { +	_overlayBuffer(0), _mouseCursorPaletteEnabled(false) {  	_queuedInputEvent.type = Common::EVENT_INVALID;  	_touchpadModeEnabled = !iPhone_isHighResDevice();  	_fsFactory = new POSIXFilesystemFactory(); + +	_videoContext.mouseWidth = _videoContext.mouseHeight = 0; +	_videoContext.overlayWidth = _videoContext.overlayHeight = 0; +	_videoContext.overlayVisible = false; +	_videoContext.graphicsMode = kGraphicsModeLinear;  }  OSystem_IPHONE::~OSystem_IPHONE() { diff --git a/backends/platform/iphone/osys_main.h b/backends/platform/iphone/osys_main.h index e4b3d358d5..f654537ac6 100644 --- a/backends/platform/iphone/osys_main.h +++ b/backends/platform/iphone/osys_main.h @@ -59,15 +59,13 @@ protected:  	static SoundProc s_soundCallback;  	static void *s_soundParam; -	int _currentGraphicsMode; -  	Audio::MixerImpl *_mixer; +	VideoContext _videoContext; +  	Graphics::Surface _framebuffer;  	byte *_gameScreenRaw;  	OverlayColor  *_overlayBuffer; -	uint16 _overlayHeight; -	uint16 _overlayWidth;  	uint16 *_gameScreenConverted; @@ -75,21 +73,14 @@ protected:  	uint16  _gamePalette[256];  	// For use with the mouse texture  	uint16  _gamePaletteRGBA5551[256]; -	bool _overlayVisible; -	uint16 _screenWidth; -	uint16 _screenHeight;  	struct timeval _startTime;  	uint32 _timeSuspended; -	bool _mouseVisible;  	bool _mouseCursorPaletteEnabled;  	uint16 _mouseCursorPalette[256];  	byte *_mouseBuf;  	byte _mouseKeyColor; -	uint _mouseWidth, _mouseHeight; -	uint _mouseX, _mouseY; -	int _mouseHotspotX, _mouseHotspotY;  	bool _mouseDirty;  	bool _mouseNeedTextureUpdate;  	long _lastMouseDown; diff --git a/backends/platform/iphone/osys_video.mm b/backends/platform/iphone/osys_video.mm index e26c360c82..bfa96c33e4 100644 --- a/backends/platform/iphone/osys_video.mm +++ b/backends/platform/iphone/osys_video.mm @@ -38,7 +38,7 @@ bool OSystem_IPHONE::setGraphicsMode(int mode) {  	switch (mode) {  	case kGraphicsModeNone:  	case kGraphicsModeLinear: -		_currentGraphicsMode = mode; +		_videoContext.graphicsMode = (GraphicsModes)mode;  		iPhone_setGraphicsMode((GraphicsModes)mode);  		return true; @@ -48,14 +48,14 @@ bool OSystem_IPHONE::setGraphicsMode(int mode) {  }  int OSystem_IPHONE::getGraphicsMode() const { -	return _currentGraphicsMode; +	return _videoContext.graphicsMode;  }  void OSystem_IPHONE::initSize(uint width, uint height, const Graphics::PixelFormat *format) {  	//printf("initSize(%i, %i)\n", width, height); -	_screenWidth = width; -	_screenHeight = height; +	_videoContext.screenWidth = width; +	_videoContext.screenHeight = height;  	free(_gameScreenRaw); @@ -64,7 +64,7 @@ void OSystem_IPHONE::initSize(uint width, uint height, const Graphics::PixelForm  	//free(_overlayBuffer); -	int fullSize = _screenWidth * _screenHeight * sizeof(OverlayColor); +	int fullSize = _videoContext.screenWidth * _videoContext.screenHeight * sizeof(OverlayColor);  	//_overlayBuffer = (OverlayColor *)malloc(fullSize);  	clearOverlay(); @@ -76,27 +76,27 @@ void OSystem_IPHONE::initSize(uint width, uint height, const Graphics::PixelForm  	iPhone_initSurface(width, height);  	if (_overlayBuffer == NULL) { -		_overlayHeight = iPhone_getScreenHeight(); -		_overlayWidth = iPhone_getScreenWidth(); +		_videoContext.overlayHeight = iPhone_getScreenHeight(); +		_videoContext.overlayWidth = iPhone_getScreenWidth(); -		printf("Overlay: (%u x %u)\n", _overlayWidth, _overlayHeight); -		_overlayBuffer = new OverlayColor[_overlayHeight * _overlayWidth]; +		printf("Overlay: (%u x %u)\n", _videoContext.overlayWidth, _videoContext.overlayHeight); +		_overlayBuffer = new OverlayColor[_videoContext.overlayHeight * _videoContext.overlayWidth];  	}  	_fullScreenIsDirty = false;  	dirtyFullScreen(); -	_mouseVisible = false; +	_videoContext.mouseIsVisible = false;  	_mouseCursorPaletteEnabled = false;  	_screenChangeCount++;  	updateScreen();  }  int16 OSystem_IPHONE::getHeight() { -	return _screenHeight; +	return _videoContext.screenHeight;  }  int16 OSystem_IPHONE::getWidth() { -	return _screenWidth; +	return _videoContext.screenWidth;  }  void OSystem_IPHONE::setPalette(const byte *colors, uint start, uint num) { @@ -137,12 +137,12 @@ void OSystem_IPHONE::copyRectToScreen(const byte *buf, int pitch, int x, int y,  		y = 0;  	} -	if (w > _screenWidth - x) { -		w = _screenWidth - x; +	if (w > _videoContext.screenWidth - x) { +		w = _videoContext.screenWidth - x;  	} -	if (h > _screenHeight - y) { -		h = _screenHeight - y; +	if (h > _videoContext.screenHeight - y) { +		h = _videoContext.screenHeight - y;  	}  	if (w <= 0 || h <= 0) @@ -153,14 +153,14 @@ void OSystem_IPHONE::copyRectToScreen(const byte *buf, int pitch, int x, int y,  	} -	byte *dst = _gameScreenRaw + y * _screenWidth + x; -	if (_screenWidth == pitch && pitch == w) +	byte *dst = _gameScreenRaw + y * _videoContext.screenWidth + x; +	if (_videoContext.screenWidth == pitch && pitch == w)  		memcpy(dst, buf, h * w);  	else {  		do {  			memcpy(dst, buf, w);  			buf += pitch; -			dst += _screenWidth; +			dst += _videoContext.screenWidth;  		} while (--h);  	}  } @@ -176,7 +176,7 @@ void OSystem_IPHONE::updateScreen() {  	_fullScreenIsDirty = false;  	_fullScreenOverlayIsDirty = false; -	iPhone_updateScreen(_mouseX, _mouseY); +	iPhone_updateScreen(_videoContext.mouseX, _videoContext.mouseY);  }  void OSystem_IPHONE::internUpdateScreen() { @@ -193,7 +193,7 @@ void OSystem_IPHONE::internUpdateScreen() {  		updateHardwareSurfaceForRect(dirtyRect);  	} -	if (_overlayVisible) { +	if (_videoContext.overlayVisible) {  		while (_dirtyOverlayRects.size()) {  			Common::Rect dirtyRect = _dirtyOverlayRects.remove_at(_dirtyOverlayRects.size() - 1); @@ -207,14 +207,14 @@ void OSystem_IPHONE::drawDirtyRect(const Common::Rect &dirtyRect) {  	int h = dirtyRect.bottom - dirtyRect.top;  	int w = dirtyRect.right - dirtyRect.left; -	byte  *src = &_gameScreenRaw[dirtyRect.top * _screenWidth + dirtyRect.left]; -	uint16 *dst = &_gameScreenConverted[dirtyRect.top * _screenWidth + dirtyRect.left]; +	byte  *src = &_gameScreenRaw[dirtyRect.top * _videoContext.screenWidth + dirtyRect.left]; +	uint16 *dst = &_gameScreenConverted[dirtyRect.top * _videoContext.screenWidth + dirtyRect.left];  	for (int y = h; y > 0; y--) {  		for (int x = w; x > 0; x--)  			*dst++ = _gamePalette[*src++]; -		dst += _screenWidth - w; -		src += _screenWidth - w; +		dst += _videoContext.screenWidth - w; +		src += _videoContext.screenWidth - w;  	}  } @@ -230,9 +230,9 @@ Graphics::Surface *OSystem_IPHONE::lockScreen() {  	//printf("lockScreen()\n");  	_framebuffer.pixels = _gameScreenRaw; -	_framebuffer.w = _screenWidth; -	_framebuffer.h = _screenHeight; -	_framebuffer.pitch = _screenWidth; +	_framebuffer.w = _videoContext.screenWidth; +	_framebuffer.h = _videoContext.screenHeight; +	_framebuffer.pitch = _videoContext.screenWidth;  	_framebuffer.format = Graphics::PixelFormat::createFormatCLUT8();  	return &_framebuffer; @@ -252,7 +252,7 @@ void OSystem_IPHONE::setShakePos(int shakeOffset) {  void OSystem_IPHONE::showOverlay() {  	//printf("showOverlay()\n"); -	_overlayVisible = true; +	_videoContext.overlayVisible = true;  	dirtyFullOverlayScreen();  	updateScreen();  	iPhone_enableOverlay(true); @@ -260,7 +260,7 @@ void OSystem_IPHONE::showOverlay() {  void OSystem_IPHONE::hideOverlay() {  	//printf("hideOverlay()\n"); -	_overlayVisible = false; +	_videoContext.overlayVisible = false;  	_dirtyOverlayRects.clear();  	dirtyFullScreen();  	iPhone_enableOverlay(false); @@ -268,18 +268,18 @@ void OSystem_IPHONE::hideOverlay() {  void OSystem_IPHONE::clearOverlay() {  	//printf("clearOverlay()\n"); -	bzero(_overlayBuffer, _overlayWidth * _overlayHeight * sizeof(OverlayColor)); +	bzero(_overlayBuffer, _videoContext.overlayWidth * _videoContext.overlayHeight * sizeof(OverlayColor));  	dirtyFullOverlayScreen();  }  void OSystem_IPHONE::grabOverlay(OverlayColor *buf, int pitch) {  	//printf("grabOverlay()\n"); -	int h = _overlayHeight; +	int h = _videoContext.overlayHeight;  	OverlayColor *src = _overlayBuffer;  	do { -		memcpy(buf, src, _overlayWidth * sizeof(OverlayColor)); -		src += _overlayWidth; +		memcpy(buf, src, _videoContext.overlayWidth * sizeof(OverlayColor)); +		src += _videoContext.overlayWidth;  		buf += pitch;  	} while (--h);  } @@ -300,11 +300,11 @@ void OSystem_IPHONE::copyRectToOverlay(const OverlayColor *buf, int pitch, int x  		y = 0;  	} -	if (w > _overlayWidth - x) -		w = _overlayWidth - x; +	if (w > _videoContext.overlayWidth - x) +		w = _videoContext.overlayWidth - x; -	if (h > _overlayHeight - y) -		h = _overlayHeight - y; +	if (h > _videoContext.overlayHeight - y) +		h = _videoContext.overlayHeight - y;  	if (w <= 0 || h <= 0)  		return; @@ -313,29 +313,29 @@ void OSystem_IPHONE::copyRectToOverlay(const OverlayColor *buf, int pitch, int x  		_dirtyOverlayRects.push_back(Common::Rect(x, y, x + w, y + h));  	} -	OverlayColor *dst = _overlayBuffer + (y * _overlayWidth + x); -	if (_overlayWidth == pitch && pitch == w) +	OverlayColor *dst = _overlayBuffer + (y * _videoContext.overlayWidth + x); +	if (_videoContext.overlayWidth == pitch && pitch == w)  		memcpy(dst, buf, h * w * sizeof(OverlayColor));  	else {  		do {  			memcpy(dst, buf, w * sizeof(OverlayColor));  			buf += pitch; -			dst += _overlayWidth; +			dst += _videoContext.overlayWidth;  		} while (--h);  	}  }  int16 OSystem_IPHONE::getOverlayHeight() { -	return _overlayHeight; +	return _videoContext.overlayHeight;  }  int16 OSystem_IPHONE::getOverlayWidth() { -	return _overlayWidth; +	return _videoContext.overlayWidth;  }  bool OSystem_IPHONE::showMouse(bool visible) { -	bool last = _mouseVisible; -	_mouseVisible = visible; +	bool last = _videoContext.mouseIsVisible; +	_videoContext.mouseIsVisible = visible;  	iPhone_showCursor(visible);  	_mouseDirty = true; @@ -345,15 +345,15 @@ bool OSystem_IPHONE::showMouse(bool visible) {  void OSystem_IPHONE::warpMouse(int x, int y) {  	//printf("warpMouse()\n"); -	_mouseX = x; -	_mouseY = y; +	_videoContext.mouseX = x; +	_videoContext.mouseY = y;  	_mouseDirty = true;  }  void OSystem_IPHONE::dirtyFullScreen() {  	if (!_fullScreenIsDirty) {  		_dirtyRects.clear(); -		_dirtyRects.push_back(Common::Rect(0, 0, _screenWidth, _screenHeight)); +		_dirtyRects.push_back(Common::Rect(0, 0, _videoContext.screenWidth, _videoContext.screenHeight));  		_fullScreenIsDirty = true;  	}  } @@ -361,7 +361,7 @@ void OSystem_IPHONE::dirtyFullScreen() {  void OSystem_IPHONE::dirtyFullOverlayScreen() {  	if (!_fullScreenOverlayIsDirty) {  		_dirtyOverlayRects.clear(); -		_dirtyOverlayRects.push_back(Common::Rect(0, 0, _overlayWidth, _overlayHeight)); +		_dirtyOverlayRects.push_back(Common::Rect(0, 0, _videoContext.overlayWidth, _videoContext.overlayHeight));  		_fullScreenOverlayIsDirty = true;  	}  } @@ -369,7 +369,7 @@ void OSystem_IPHONE::dirtyFullOverlayScreen() {  void OSystem_IPHONE::setMouseCursor(const byte *buf, uint w, uint h, int hotspotX, int hotspotY, uint32 keycolor, int cursorTargetScale, const Graphics::PixelFormat *format) {  	//printf("setMouseCursor(%i, %i, scale %u)\n", hotspotX, hotspotY, cursorTargetScale); -	if (_mouseBuf != NULL && (_mouseWidth != w || _mouseHeight != h)) { +	if (_mouseBuf != NULL && (_videoContext.mouseWidth != w || _videoContext.mouseHeight != h)) {  		free(_mouseBuf);  		_mouseBuf = NULL;  	} @@ -377,11 +377,11 @@ void OSystem_IPHONE::setMouseCursor(const byte *buf, uint w, uint h, int hotspot  	if (_mouseBuf == NULL)  		_mouseBuf = (byte *)malloc(w * h); -	_mouseWidth = w; -	_mouseHeight = h; +	_videoContext.mouseWidth = w; +	_videoContext.mouseHeight = h; -	_mouseHotspotX = hotspotX; -	_mouseHotspotY = hotspotY; +	_videoContext.mouseHotspotX = hotspotX; +	_videoContext.mouseHotspotY = hotspotY;  	_mouseKeyColor = (byte)keycolor; @@ -406,8 +406,8 @@ void OSystem_IPHONE::setCursorPalette(const byte *colors, uint start, uint num)  }  void OSystem_IPHONE::updateMouseTexture() { -	int texWidth = getSizeNextPOT(_mouseWidth); -	int texHeight = getSizeNextPOT(_mouseHeight); +	int texWidth = getSizeNextPOT(_videoContext.mouseWidth); +	int texHeight = getSizeNextPOT(_videoContext.mouseHeight);  	int bufferSize = texWidth * texHeight * sizeof(int16);  	uint16 *mouseBuf = (uint16 *)malloc(bufferSize);  	memset(mouseBuf, 0, bufferSize); @@ -418,9 +418,9 @@ void OSystem_IPHONE::updateMouseTexture() {  	else  		palette = _gamePaletteRGBA5551; -	for (uint x = 0; x < _mouseWidth; ++x) { -		for (uint y = 0; y < _mouseHeight; ++y) { -			const byte color = _mouseBuf[y * _mouseWidth + x]; +	for (uint x = 0; x < _videoContext.mouseWidth; ++x) { +		for (uint y = 0; y < _videoContext.mouseHeight; ++y) { +			const byte color = _mouseBuf[y * _videoContext.mouseWidth + x];  			if (color != _mouseKeyColor)  				mouseBuf[y * texWidth + x] = palette[color] | 0x1;  			else @@ -428,5 +428,5 @@ void OSystem_IPHONE::updateMouseTexture() {  		}  	} -	iPhone_setMouseCursor(mouseBuf, _mouseWidth, _mouseHeight, _mouseHotspotX, _mouseHotspotY); +	iPhone_setMouseCursor(mouseBuf, _videoContext.mouseWidth, _videoContext.mouseHeight, _videoContext.mouseHotspotX, _videoContext.mouseHotspotY);  }  | 
