mirror of
https://github.com/love2d/love.git
synced 2026-08-19 20:19:42 +02:00
Fix love.window.isMaximized. Add love.window.restore and love.window.isMinimized (resolves issue #1354).
--HG-- branch : minor
This commit is contained in:
@@ -152,8 +152,10 @@ public:
|
|||||||
|
|
||||||
virtual void minimize() = 0;
|
virtual void minimize() = 0;
|
||||||
virtual void maximize() = 0;
|
virtual void maximize() = 0;
|
||||||
|
virtual void restore() = 0;
|
||||||
|
|
||||||
virtual bool isMaximized() const = 0;
|
virtual bool isMaximized() const = 0;
|
||||||
|
virtual bool isMinimized() const = 0;
|
||||||
|
|
||||||
// default no-op implementation
|
// default no-op implementation
|
||||||
virtual void swapBuffers();
|
virtual void swapBuffers();
|
||||||
|
|||||||
@@ -914,11 +914,25 @@ void Window::maximize()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Window::restore()
|
||||||
|
{
|
||||||
|
if (window != nullptr)
|
||||||
|
{
|
||||||
|
SDL_RestoreWindow(window);
|
||||||
|
updateSettings(settings, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool Window::isMaximized() const
|
bool Window::isMaximized() const
|
||||||
{
|
{
|
||||||
return window != nullptr && (SDL_GetWindowFlags(window) & SDL_WINDOW_MAXIMIZED);
|
return window != nullptr && (SDL_GetWindowFlags(window) & SDL_WINDOW_MAXIMIZED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Window::isMinimized() const
|
||||||
|
{
|
||||||
|
return window != nullptr && (SDL_GetWindowFlags(window) & SDL_WINDOW_MINIMIZED);
|
||||||
|
}
|
||||||
|
|
||||||
void Window::swapBuffers()
|
void Window::swapBuffers()
|
||||||
{
|
{
|
||||||
SDL_GL_SwapWindow(window);
|
SDL_GL_SwapWindow(window);
|
||||||
|
|||||||
@@ -77,8 +77,10 @@ public:
|
|||||||
|
|
||||||
void minimize();
|
void minimize();
|
||||||
void maximize();
|
void maximize();
|
||||||
|
void restore();
|
||||||
|
|
||||||
bool isMaximized() const;
|
bool isMaximized() const;
|
||||||
|
bool isMinimized() const;
|
||||||
|
|
||||||
void swapBuffers();
|
void swapBuffers();
|
||||||
|
|
||||||
|
|||||||
@@ -479,10 +479,22 @@ int w_maximize(lua_State *)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int w_restore(lua_State *)
|
||||||
|
{
|
||||||
|
instance()->restore();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int w_isMaximized(lua_State *L)
|
int w_isMaximized(lua_State *L)
|
||||||
{
|
{
|
||||||
luax_pushboolean(L, instance()->isMaximized());
|
luax_pushboolean(L, instance()->isMaximized());
|
||||||
return 0;
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int w_isMinimized(lua_State *L)
|
||||||
|
{
|
||||||
|
luax_pushboolean(L, instance()->isMinimized());
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int w_showMessageBox(lua_State *L)
|
int w_showMessageBox(lua_State *L)
|
||||||
@@ -586,7 +598,9 @@ static const luaL_Reg functions[] =
|
|||||||
{ "fromPixels", w_fromPixels },
|
{ "fromPixels", w_fromPixels },
|
||||||
{ "minimize", w_minimize },
|
{ "minimize", w_minimize },
|
||||||
{ "maximize", w_maximize },
|
{ "maximize", w_maximize },
|
||||||
|
{ "restore", w_restore },
|
||||||
{ "isMaximized", w_isMaximized },
|
{ "isMaximized", w_isMaximized },
|
||||||
|
{ "isMinimized", w_isMinimized },
|
||||||
{ "showMessageBox", w_showMessageBox },
|
{ "showMessageBox", w_showMessageBox },
|
||||||
{ "requestAttention", w_requestAttention },
|
{ "requestAttention", w_requestAttention },
|
||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
|
|||||||
Reference in New Issue
Block a user