Add application.removeWindow, window.close, and fixes for using an empty config
This commit is contained in:
@@ -461,6 +461,16 @@ namespace lime {
|
||||
}
|
||||
|
||||
|
||||
value lime_window_close (value window) {
|
||||
|
||||
Window* targetWindow = (Window*)(intptr_t)val_float (window);
|
||||
targetWindow->Close ();
|
||||
delete targetWindow;
|
||||
return alloc_null ();
|
||||
|
||||
}
|
||||
|
||||
|
||||
value lime_window_create (value application, value width, value height, value flags, value title) {
|
||||
|
||||
Window* window = CreateWindow ((Application*)(intptr_t)val_float (application), val_int (width), val_int (height), val_int (flags), val_string (title));
|
||||
@@ -537,6 +547,7 @@ namespace lime {
|
||||
DEFINE_PRIM (lime_text_from_string, 4);
|
||||
DEFINE_PRIM (lime_touch_event_manager_register, 2);
|
||||
DEFINE_PRIM (lime_update_event_manager_register, 2);
|
||||
DEFINE_PRIM (lime_window_close, 1);
|
||||
DEFINE_PRIM (lime_window_create, 5);
|
||||
DEFINE_PRIM (lime_window_event_manager_register, 2);
|
||||
DEFINE_PRIM (lime_window_move, 3);
|
||||
|
||||
@@ -70,6 +70,17 @@ namespace lime {
|
||||
}
|
||||
|
||||
|
||||
void SDLWindow::Close () {
|
||||
|
||||
if (sdlWindow) {
|
||||
|
||||
SDL_DestroyWindow (sdlWindow);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void SDLWindow::Move (int x, int y) {
|
||||
|
||||
SDL_SetWindowPosition (sdlWindow, x, y);
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace lime {
|
||||
SDLWindow (Application* application, int width, int height, int flags, const char* title);
|
||||
~SDLWindow ();
|
||||
|
||||
virtual void Close ();
|
||||
virtual void Move (int x, int y);
|
||||
virtual void Resize (int width, int height);
|
||||
virtual void SetIcon (ImageBuffer *imageBuffer);
|
||||
|
||||
Reference in New Issue
Block a user