Commits

Alex Szpakowski committed deebd2c

Added love.window.hasMouseFocus (issue #120)

Comments (0)

Files changed (5)

src/modules/window/Window.h

 	virtual void swapBuffers();
 
 	virtual bool hasFocus() const = 0;
+	virtual bool hasMouseFocus() const = 0;
+
 	virtual void setMouseVisible(bool visible) = 0;
 	virtual bool getMouseVisible() const = 0;
 

src/modules/window/sdl/Window.cpp

 	return (SDL_GetAppState() & SDL_APPINPUTFOCUS) != 0;
 }
 
+bool Window::hasMouseFocus() const
+{
+	return (SDL_GetAppState() & SDL_APPMOUSEFOCUS) != 0;
+}
+
 void Window::setMouseVisible(bool visible)
 {
 	SDL_ShowCursor(visible ? SDL_ENABLE : SDL_DISABLE);

src/modules/window/sdl/Window.h

 	void swapBuffers();
 
 	bool hasFocus() const;
+	bool hasMouseFocus() const;
+
 	void setMouseVisible(bool visible);
 	bool getMouseVisible() const;
 

src/modules/window/wrap_Window.cpp

 	return 1;
 }
 
+int w_hasMouseFocus(lua_State *L)
+{
+	luax_pushboolean(L, instance->hasMouseFocus());
+	return 1;
+}
+
 static const luaL_Reg functions[] =
 {
 	{ "checkMode", w_checkMode },
 	{ "setTitle", w_setTitle },
 	{ "getTitle", w_getTitle },
 	{ "hasFocus", w_hasFocus },
+	{ "hasMouseFocus", w_hasMouseFocus },
 	{ 0, 0 }
 };
 

src/modules/window/wrap_Window.h

 int w_setTitle(lua_State *L);
 int w_getTitle(lua_State *L);
 int w_hasFocus(lua_State *L);
+int w_hasMouseFocus(lua_State *L);
 extern "C" LOVE_EXPORT int luaopen_love_window(lua_State *L);
 
 } // window