Browse Source

Add hasFocus (issue #117)

Bart van Strien 14 years ago
parent
commit
f4da97d46e

+ 4 - 0
src/modules/graphics/opengl/Graphics.cpp

@@ -1164,6 +1164,10 @@ namespace opengl
 		glDisableClientState(GL_VERTEX_ARRAY);
 		glDisableClientState(GL_VERTEX_ARRAY);
 	}
 	}
 
 
+	bool Graphics::hasFocus()
+	{
+		return SDL_GetAppState() & SDL_APPINPUTFOCUS;
+	}
 } // opengl
 } // opengl
 } // graphics
 } // graphics
 } // love
 } // love

+ 2 - 0
src/modules/graphics/opengl/Graphics.h

@@ -528,6 +528,8 @@ namespace opengl
 
 
 		void drawTest(Image * image, float x, float y, float a, float sx, float sy, float ox, float oy);
 		void drawTest(Image * image, float x, float y, float a, float sx, float sy, float ox, float oy);
 
 
+		bool hasFocus();
+
 	}; // Graphics
 	}; // Graphics
 
 
 } // opengl
 } // opengl

+ 8 - 0
src/modules/graphics/opengl/wrap_Graphics.cpp

@@ -922,6 +922,12 @@ namespace opengl
 		return 0;
 		return 0;
 	}
 	}
 
 
+	int w_hasFocus(lua_State * L)
+	{
+		luax_pushboolean(L, instance->hasFocus());
+		return 1;
+	}
+
 
 
 	// List of functions to wrap.
 	// List of functions to wrap.
 	static const luaL_Reg functions[] = {
 	static const luaL_Reg functions[] = {
@@ -1007,6 +1013,8 @@ namespace opengl
 
 
 		{ "translate", w_translate },
 		{ "translate", w_translate },
 
 
+		{ "hasFocus", w_hasFocus },
+
 		{ 0, 0 }
 		{ 0, 0 }
 	};
 	};
 
 

+ 1 - 0
src/modules/graphics/opengl/wrap_Graphics.h

@@ -101,6 +101,7 @@ namespace opengl
 	int w_rotate(lua_State * L);
 	int w_rotate(lua_State * L);
 	int w_scale(lua_State * L);
 	int w_scale(lua_State * L);
 	int w_translate(lua_State * L);
 	int w_translate(lua_State * L);
+	int w_hasFocus(lua_State * L);
 	extern "C" LOVE_EXPORT int luaopen_love_graphics(lua_State * L);
 	extern "C" LOVE_EXPORT int luaopen_love_graphics(lua_State * L);
 
 
 } // opengl
 } // opengl