From a46f6d777c2b53a666e76e57fa9db06af26be1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Sun, 9 Apr 2017 19:29:54 -0300 Subject: [PATCH] Retrieve the initial mouse coordinates on SDL2 backend ( since SDL2 does not provided the real coordinates until the mouse is moved ). --HG-- branch : dev --- src/eepp/window/backend/SDL2/inputsdl2.cpp | 12 ++++++++---- src/examples/external_shader/external_shader.cpp | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/eepp/window/backend/SDL2/inputsdl2.cpp b/src/eepp/window/backend/SDL2/inputsdl2.cpp index 2bf6082ad..9ae600645 100644 --- a/src/eepp/window/backend/SDL2/inputsdl2.cpp +++ b/src/eepp/window/backend/SDL2/inputsdl2.cpp @@ -329,12 +329,16 @@ void InputSDL::init() { SDL_GetWindowSize(sdlw, &scaledX, &scaledY); mDPIScale = (Float)realX / (Float)scaledX; - Vector2if mTempMouse; + Vector2i mTempMouse; + Vector2i mTempWinPos; + Recti mBordersSize; - SDL_GetMouseState( &mTempMouse.x, &mTempMouse.y ); + SDL_GetGlobalMouseState( &mTempMouse.x, &mTempMouse.y ); + SDL_GetWindowPosition( sdlw, &mTempWinPos.x, &mTempWinPos.y ); + SDL_GetWindowBordersSize( sdlw, &mBordersSize.Top, &mBordersSize.Left, &mBordersSize.Bottom, &mBordersSize.Right ); - mMousePos.x = (int)mTempMouse.x; - mMousePos.y = (int)mTempMouse.y; + mMousePos.x = (int)mTempMouse.x - mTempWinPos.x - mBordersSize.Left; + mMousePos.y = (int)mTempMouse.y - mTempWinPos.y - mBordersSize.Top; initializeTables(); diff --git a/src/examples/external_shader/external_shader.cpp b/src/examples/external_shader/external_shader.cpp index dea4fa1ea..018035cb2 100644 --- a/src/examples/external_shader/external_shader.cpp +++ b/src/examples/external_shader/external_shader.cpp @@ -66,7 +66,7 @@ void videoResize( EE::Window::Window * w ) { BlendMode::setMode( ALPHA_BLENDONE ); /// Set the line width - GlobalBatchRenderer::instance()->setLineWidth( 2 ); + GLi->lineWidth( 2 ); if ( ShadersSupported ) { /// Rebind the Shader