Add support for hidden windows, hide on munit tests
This commit is contained in:
@@ -101,6 +101,9 @@ class NativeWindow {
|
|||||||
if (Reflect.hasField (parent.config, "depthBuffer") && parent.config.depthBuffer) flags |= cast WindowFlags.WINDOW_FLAG_DEPTH_BUFFER;
|
if (Reflect.hasField (parent.config, "depthBuffer") && parent.config.depthBuffer) flags |= cast WindowFlags.WINDOW_FLAG_DEPTH_BUFFER;
|
||||||
if (Reflect.hasField (parent.config, "fullscreen") && parent.config.fullscreen) flags |= cast WindowFlags.WINDOW_FLAG_FULLSCREEN;
|
if (Reflect.hasField (parent.config, "fullscreen") && parent.config.fullscreen) flags |= cast WindowFlags.WINDOW_FLAG_FULLSCREEN;
|
||||||
#if !cairo if (Reflect.hasField (parent.config, "hardware") && parent.config.hardware) flags |= cast WindowFlags.WINDOW_FLAG_HARDWARE; #end
|
#if !cairo if (Reflect.hasField (parent.config, "hardware") && parent.config.hardware) flags |= cast WindowFlags.WINDOW_FLAG_HARDWARE; #end
|
||||||
|
if (Reflect.hasField (parent.config, "hidden") && parent.config.hidden) flags |= cast WindowFlags.WINDOW_FLAG_HIDDEN;
|
||||||
|
if (Reflect.hasField (parent.config, "maximized") && parent.config.maximized) flags |= cast WindowFlags.WINDOW_FLAG_MAXIMIZED;
|
||||||
|
if (Reflect.hasField (parent.config, "minimized") && parent.config.minimized) flags |= cast WindowFlags.WINDOW_FLAG_MINIMIZED;
|
||||||
if (Reflect.hasField (parent.config, "resizable") && parent.config.resizable) flags |= cast WindowFlags.WINDOW_FLAG_RESIZABLE;
|
if (Reflect.hasField (parent.config, "resizable") && parent.config.resizable) flags |= cast WindowFlags.WINDOW_FLAG_RESIZABLE;
|
||||||
if (Reflect.hasField (parent.config, "stencilBuffer") && parent.config.stencilBuffer) flags |= cast WindowFlags.WINDOW_FLAG_STENCIL_BUFFER;
|
if (Reflect.hasField (parent.config, "stencilBuffer") && parent.config.stencilBuffer) flags |= cast WindowFlags.WINDOW_FLAG_STENCIL_BUFFER;
|
||||||
if (Reflect.hasField (parent.config, "vsync") && parent.config.vsync) flags |= cast WindowFlags.WINDOW_FLAG_VSYNC;
|
if (Reflect.hasField (parent.config, "vsync") && parent.config.vsync) flags |= cast WindowFlags.WINDOW_FLAG_VSYNC;
|
||||||
@@ -377,5 +380,8 @@ class NativeWindow {
|
|||||||
var WINDOW_FLAG_DEPTH_BUFFER = 0x00000200;
|
var WINDOW_FLAG_DEPTH_BUFFER = 0x00000200;
|
||||||
var WINDOW_FLAG_STENCIL_BUFFER = 0x00000400;
|
var WINDOW_FLAG_STENCIL_BUFFER = 0x00000400;
|
||||||
var WINDOW_FLAG_ALLOW_HIGHDPI = 0x00000800;
|
var WINDOW_FLAG_ALLOW_HIGHDPI = 0x00000800;
|
||||||
|
var WINDOW_FLAG_HIDDEN = 0x00001000;
|
||||||
|
var WINDOW_FLAG_MINIMIZED = 0x00002000;
|
||||||
|
var WINDOW_FLAG_MAXIMIZED = 0x00004000;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -33,6 +33,9 @@ typedef WindowConfig = {
|
|||||||
@:optional var fullscreen:Bool;
|
@:optional var fullscreen:Bool;
|
||||||
@:optional var hardware:Bool;
|
@:optional var hardware:Bool;
|
||||||
@:optional var height:Int;
|
@:optional var height:Int;
|
||||||
|
@:optional var hidden:Bool;
|
||||||
|
@:optional var maximized:Bool;
|
||||||
|
@:optional var minimized:Bool;
|
||||||
@:optional var parameters:String;
|
@:optional var parameters:String;
|
||||||
@:optional var resizable:Bool;
|
@:optional var resizable:Bool;
|
||||||
@:optional var stencilBuffer:Bool;
|
@:optional var stencilBuffer:Bool;
|
||||||
|
|||||||
@@ -65,7 +65,10 @@ namespace lime {
|
|||||||
WINDOW_FLAG_REQUIRE_SHADERS = 0x00000100,
|
WINDOW_FLAG_REQUIRE_SHADERS = 0x00000100,
|
||||||
WINDOW_FLAG_DEPTH_BUFFER = 0x00000200,
|
WINDOW_FLAG_DEPTH_BUFFER = 0x00000200,
|
||||||
WINDOW_FLAG_STENCIL_BUFFER = 0x00000400,
|
WINDOW_FLAG_STENCIL_BUFFER = 0x00000400,
|
||||||
WINDOW_FLAG_ALLOW_HIGHDPI = 0x00000800
|
WINDOW_FLAG_ALLOW_HIGHDPI = 0x00000800,
|
||||||
|
WINDOW_FLAG_HIDDEN = 0x00001000,
|
||||||
|
WINDOW_FLAG_MINIMIZED = 0x00002000,
|
||||||
|
WINDOW_FLAG_MAXIMIZED = 0x00004000
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,9 @@ namespace lime {
|
|||||||
if (flags & WINDOW_FLAG_FULLSCREEN) sdlFlags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
|
if (flags & WINDOW_FLAG_FULLSCREEN) sdlFlags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
|
||||||
if (flags & WINDOW_FLAG_RESIZABLE) sdlFlags |= SDL_WINDOW_RESIZABLE;
|
if (flags & WINDOW_FLAG_RESIZABLE) sdlFlags |= SDL_WINDOW_RESIZABLE;
|
||||||
if (flags & WINDOW_FLAG_BORDERLESS) sdlFlags |= SDL_WINDOW_BORDERLESS;
|
if (flags & WINDOW_FLAG_BORDERLESS) sdlFlags |= SDL_WINDOW_BORDERLESS;
|
||||||
|
if (flags & WINDOW_FLAG_HIDDEN) sdlFlags |= SDL_WINDOW_HIDDEN;
|
||||||
|
if (flags & WINDOW_FLAG_MINIMIZED) sdlFlags |= SDL_WINDOW_MINIMIZED;
|
||||||
|
if (flags & WINDOW_FLAG_MAXIMIZED) sdlFlags |= SDL_WINDOW_MAXIMIZED;
|
||||||
|
|
||||||
#if defined (HX_WINDOWS) && defined (NATIVE_TOOLKIT_SDL_ANGLE)
|
#if defined (HX_WINDOWS) && defined (NATIVE_TOOLKIT_SDL_ANGLE)
|
||||||
OSVERSIONINFOEXW osvi = { sizeof (osvi), 0, 0, 0, 0, {0}, 0, 0 };
|
OSVERSIONINFOEXW osvi = { sizeof (osvi), 0, 0, 0, 0, {0}, 0, 0 };
|
||||||
|
|||||||
@@ -85,6 +85,9 @@ class ApplicationMain {
|
|||||||
fullscreen: ::fullscreen::,
|
fullscreen: ::fullscreen::,
|
||||||
hardware: ::hardware::,
|
hardware: ::hardware::,
|
||||||
height: ::height::,
|
height: ::height::,
|
||||||
|
hidden: #if munit true #else ::hidden:: #end,
|
||||||
|
maximized: ::maximized::,
|
||||||
|
minimized: ::minimized::,
|
||||||
parameters: "::parameters::",
|
parameters: "::parameters::",
|
||||||
resizable: ::resizable::,
|
resizable: ::resizable::,
|
||||||
stencilBuffer: ::stencilBuffer::,
|
stencilBuffer: ::stencilBuffer::,
|
||||||
@@ -112,11 +115,7 @@ class ApplicationMain {
|
|||||||
var result = app.exec ();
|
var result = app.exec ();
|
||||||
|
|
||||||
#if (sys && !nodejs && !emscripten)
|
#if (sys && !nodejs && !emscripten)
|
||||||
if (result != 0) {
|
lime.system.System.exit (result);
|
||||||
|
|
||||||
Sys.exit (result);
|
|
||||||
|
|
||||||
}
|
|
||||||
#end
|
#end
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user