maximizable and fullscreenable
This commit is contained in:
parent
fd5c249cb8
commit
ef51e4e108
10 changed files with 143 additions and 54 deletions
|
@ -424,6 +424,22 @@ bool Window::IsMinimizable() {
|
||||||
return window_->IsMinimizable();
|
return window_->IsMinimizable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Window::SetMaximizable(bool maximizable) {
|
||||||
|
window_->SetMaximizable(maximizable);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Window::IsMaximizable() {
|
||||||
|
return window_->IsMaximizable();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::SetFullscreenable(bool fullscreenable) {
|
||||||
|
window_->SetFullscreenable(fullscreenable);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Window::IsFullscreenable() {
|
||||||
|
return window_->IsFullscreenable();
|
||||||
|
}
|
||||||
|
|
||||||
void Window::SetClosable(bool closable) {
|
void Window::SetClosable(bool closable) {
|
||||||
window_->SetClosable(closable);
|
window_->SetClosable(closable);
|
||||||
}
|
}
|
||||||
|
@ -687,6 +703,10 @@ void Window::BuildPrototype(v8::Isolate* isolate,
|
||||||
.SetMethod("isMovable", &Window::IsMovable)
|
.SetMethod("isMovable", &Window::IsMovable)
|
||||||
.SetMethod("setMinimizable", &Window::SetMinimizable)
|
.SetMethod("setMinimizable", &Window::SetMinimizable)
|
||||||
.SetMethod("isMinimizable", &Window::IsMinimizable)
|
.SetMethod("isMinimizable", &Window::IsMinimizable)
|
||||||
|
.SetMethod("setMaximizable", &Window::SetMaximizable)
|
||||||
|
.SetMethod("isMaximizable", &Window::IsMaximizable)
|
||||||
|
.SetMethod("setFullscreenable", &Window::SetFullscreenable)
|
||||||
|
.SetMethod("isFullscreenable", &Window::IsFullscreenable)
|
||||||
.SetMethod("setClosable", &Window::SetClosable)
|
.SetMethod("setClosable", &Window::SetClosable)
|
||||||
.SetMethod("isClosable", &Window::IsClosable)
|
.SetMethod("isClosable", &Window::IsClosable)
|
||||||
.SetMethod("setAlwaysOnTop", &Window::SetAlwaysOnTop)
|
.SetMethod("setAlwaysOnTop", &Window::SetAlwaysOnTop)
|
||||||
|
|
|
@ -110,6 +110,10 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
bool IsMovable();
|
bool IsMovable();
|
||||||
void SetMinimizable(bool minimizable);
|
void SetMinimizable(bool minimizable);
|
||||||
bool IsMinimizable();
|
bool IsMinimizable();
|
||||||
|
void SetMaximizable(bool maximizable);
|
||||||
|
bool IsMaximizable();
|
||||||
|
void SetFullscreenable(bool fullscreenable);
|
||||||
|
bool IsFullscreenable();
|
||||||
void SetClosable(bool closable);
|
void SetClosable(bool closable);
|
||||||
bool IsClosable();
|
bool IsClosable();
|
||||||
void SetAlwaysOnTop(bool top);
|
void SetAlwaysOnTop(bool top);
|
||||||
|
|
|
@ -128,6 +128,10 @@ void NativeWindow::InitFromOptions(const mate::Dictionary& options) {
|
||||||
if (options.Get(options::kClosable, &closable)) {
|
if (options.Get(options::kClosable, &closable)) {
|
||||||
SetClosable(closable);
|
SetClosable(closable);
|
||||||
}
|
}
|
||||||
|
bool maximizable;
|
||||||
|
if (options.Get(options::kMaximizable, &maximizable)) {
|
||||||
|
SetMaximizable(maximizable);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
bool top;
|
bool top;
|
||||||
if (options.Get(options::kAlwaysOnTop, &top) && top) {
|
if (options.Get(options::kAlwaysOnTop, &top) && top) {
|
||||||
|
|
|
@ -129,6 +129,10 @@ class NativeWindow : public base::SupportsUserData,
|
||||||
virtual bool IsMovable() = 0;
|
virtual bool IsMovable() = 0;
|
||||||
virtual void SetMinimizable(bool minimizable) = 0;
|
virtual void SetMinimizable(bool minimizable) = 0;
|
||||||
virtual bool IsMinimizable() = 0;
|
virtual bool IsMinimizable() = 0;
|
||||||
|
virtual void SetMaximizable(bool maximizable) = 0;
|
||||||
|
virtual bool IsMaximizable() = 0;
|
||||||
|
virtual void SetFullscreenable(bool fullscreenable) = 0;
|
||||||
|
virtual bool IsFullscreenable() = 0;
|
||||||
virtual void SetClosable(bool closable) = 0;
|
virtual void SetClosable(bool closable) = 0;
|
||||||
virtual bool IsClosable() = 0;
|
virtual bool IsClosable() = 0;
|
||||||
virtual void SetAlwaysOnTop(bool top) = 0;
|
virtual void SetAlwaysOnTop(bool top) = 0;
|
||||||
|
|
|
@ -52,6 +52,10 @@ class NativeWindowMac : public NativeWindow {
|
||||||
bool IsMovable() override;
|
bool IsMovable() override;
|
||||||
void SetMinimizable(bool minimizable) override;
|
void SetMinimizable(bool minimizable) override;
|
||||||
bool IsMinimizable() override;
|
bool IsMinimizable() override;
|
||||||
|
void SetMaximizable(bool maximizable) override;
|
||||||
|
bool IsMaximizable() override;
|
||||||
|
void SetFullscreenable(bool fullscreenable) override;
|
||||||
|
bool IsFullscreenable() override;
|
||||||
void SetClosable(bool closable) override;
|
void SetClosable(bool closable) override;
|
||||||
bool IsClosable() override;
|
bool IsClosable() override;
|
||||||
void SetAlwaysOnTop(bool top) override;
|
void SetAlwaysOnTop(bool top) override;
|
||||||
|
@ -106,7 +110,6 @@ class NativeWindowMac : public NativeWindow {
|
||||||
gfx::Size WindowSizeToContentSize(const gfx::Size& size) override;
|
gfx::Size WindowSizeToContentSize(const gfx::Size& size) override;
|
||||||
void UpdateDraggableRegions(
|
void UpdateDraggableRegions(
|
||||||
const std::vector<DraggableRegion>& regions) override;
|
const std::vector<DraggableRegion>& regions) override;
|
||||||
void FixZoomButton();
|
|
||||||
|
|
||||||
void InstallView();
|
void InstallView();
|
||||||
void UninstallView();
|
void UninstallView();
|
||||||
|
|
|
@ -372,6 +372,12 @@ NativeWindowMac::NativeWindowMac(
|
||||||
bool minimizable = true;
|
bool minimizable = true;
|
||||||
options.Get(options::kMinimizable, &minimizable);
|
options.Get(options::kMinimizable, &minimizable);
|
||||||
|
|
||||||
|
bool maximizable = true;
|
||||||
|
options.Get(options::kMaximizable, &maximizable);
|
||||||
|
|
||||||
|
bool fullscreenable = true;
|
||||||
|
options.Get(options::kFullscreenable, &fullscreenable);
|
||||||
|
|
||||||
bool closable = true;
|
bool closable = true;
|
||||||
options.Get(options::kClosable, &closable);
|
options.Get(options::kClosable, &closable);
|
||||||
|
|
||||||
|
@ -486,11 +492,10 @@ NativeWindowMac::NativeWindowMac(
|
||||||
|
|
||||||
// Disable fullscreen button when 'fullscreen' is specified to false.
|
// Disable fullscreen button when 'fullscreen' is specified to false.
|
||||||
bool fullscreen = false;
|
bool fullscreen = false;
|
||||||
if (!(options.Get(options::kFullscreen, &fullscreen) &&
|
options.Get(options::kFullscreen, &fullscreen);
|
||||||
!fullscreen)) {
|
|
||||||
NSUInteger collectionBehavior = [window_ collectionBehavior];
|
if (fullscreenable) {
|
||||||
collectionBehavior |= NSWindowCollectionBehaviorFullScreenPrimary;
|
SetFullscreenable(true);
|
||||||
[window_ setCollectionBehavior:collectionBehavior];
|
|
||||||
} else if (base::mac::IsOSElCapitanOrLater()) {
|
} else if (base::mac::IsOSElCapitanOrLater()) {
|
||||||
// On EL Capitan this flag is required to hide fullscreen button.
|
// On EL Capitan this flag is required to hide fullscreen button.
|
||||||
NSUInteger collectionBehavior = [window_ collectionBehavior];
|
NSUInteger collectionBehavior = [window_ collectionBehavior];
|
||||||
|
@ -499,8 +504,8 @@ NativeWindowMac::NativeWindowMac(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disable zoom button if window is not resizable
|
// Disable zoom button if window is not resizable
|
||||||
if (!resizable) {
|
if (!maximizable) {
|
||||||
[[window_ standardWindowButton:NSWindowZoomButton] setEnabled:NO];
|
SetMaximizable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
NSView* view = inspectable_web_contents()->GetView()->GetNativeView();
|
NSView* view = inspectable_web_contents()->GetView()->GetNativeView();
|
||||||
|
@ -648,12 +653,8 @@ void NativeWindowMac::SetResizable(bool resizable) {
|
||||||
// to explicitly disables that.
|
// to explicitly disables that.
|
||||||
ScopedDisableResize disable_resize;
|
ScopedDisableResize disable_resize;
|
||||||
if (resizable) {
|
if (resizable) {
|
||||||
[[window_ standardWindowButton:NSWindowZoomButton] setEnabled:YES];
|
|
||||||
[window_ setStyleMask:[window_ styleMask] | NSResizableWindowMask];
|
[window_ setStyleMask:[window_ styleMask] | NSResizableWindowMask];
|
||||||
} else {
|
} else {
|
||||||
// If we disable the button before changing the styleMask, button is not
|
|
||||||
// disabled. Looks like a bug in Cocoa (OS X 10.10.5)
|
|
||||||
[window_ setStyleMask:[window_ styleMask] & (~NSResizableWindowMask)];
|
|
||||||
[[window_ standardWindowButton:NSWindowZoomButton] setEnabled:NO];
|
[[window_ standardWindowButton:NSWindowZoomButton] setEnabled:NO];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -671,25 +672,62 @@ bool NativeWindowMac::IsMovable() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindowMac::SetMinimizable(bool minimizable) {
|
void NativeWindowMac::SetMinimizable(bool minimizable) {
|
||||||
|
bool maximizable = IsMaximizable();
|
||||||
if (minimizable) {
|
if (minimizable) {
|
||||||
[window_ setStyleMask:[window_ styleMask] | NSMiniaturizableWindowMask];
|
[window_ setStyleMask:[window_ styleMask] | NSMiniaturizableWindowMask];
|
||||||
} else {
|
} else {
|
||||||
[window_ setStyleMask:[window_ styleMask] & (~NSMiniaturizableWindowMask)];
|
[window_ setStyleMask:[window_ styleMask] & (~NSMiniaturizableWindowMask)];
|
||||||
}
|
}
|
||||||
FixZoomButton();
|
// If fullscreen has not been disabled via `fullscreenable: false` (i.e. when
|
||||||
|
// collectionBehavior has NSWindowCollectionBehaviorFullScreenPrimary mask),
|
||||||
|
// zoom button is reset to it's default (enabled) state when window's
|
||||||
|
// styleMask has been changed. So if the button was disabled, we have to
|
||||||
|
// disable it again. I think it's a bug in Cocoa.
|
||||||
|
if (!maximizable) {
|
||||||
|
SetMaximizable(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NativeWindowMac::IsMinimizable() {
|
bool NativeWindowMac::IsMinimizable() {
|
||||||
return [window_ styleMask] & NSMiniaturizableWindowMask;
|
return [window_ styleMask] & NSMiniaturizableWindowMask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NativeWindowMac::SetMaximizable(bool maximizable) {
|
||||||
|
[[window_ standardWindowButton:NSWindowZoomButton] setEnabled:maximizable];
|
||||||
|
}
|
||||||
|
|
||||||
|
bool NativeWindowMac::IsMaximizable() {
|
||||||
|
return [[window_ standardWindowButton:NSWindowZoomButton] isEnabled];
|
||||||
|
}
|
||||||
|
|
||||||
|
void NativeWindowMac::SetFullscreenable(bool fullscreenable) {
|
||||||
|
bool maximizable = IsMaximizable();
|
||||||
|
NSUInteger collectionBehavior = [window_ collectionBehavior];
|
||||||
|
if (fullscreenable) {
|
||||||
|
collectionBehavior |= NSWindowCollectionBehaviorFullScreenPrimary;
|
||||||
|
} else {
|
||||||
|
collectionBehavior &= (~NSWindowCollectionBehaviorFullScreenPrimary);
|
||||||
|
}
|
||||||
|
[window_ setCollectionBehavior:collectionBehavior];
|
||||||
|
if (!maximizable) {
|
||||||
|
SetMaximizable(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool NativeWindowMac::IsFullscreenable() {
|
||||||
|
return [window_ collectionBehavior] & NSWindowCollectionBehaviorFullScreenPrimary;
|
||||||
|
}
|
||||||
|
|
||||||
void NativeWindowMac::SetClosable(bool closable) {
|
void NativeWindowMac::SetClosable(bool closable) {
|
||||||
|
bool maximizable = IsMaximizable();
|
||||||
if (closable) {
|
if (closable) {
|
||||||
[window_ setStyleMask:[window_ styleMask] | NSClosableWindowMask];
|
[window_ setStyleMask:[window_ styleMask] | NSClosableWindowMask];
|
||||||
} else {
|
} else {
|
||||||
[window_ setStyleMask:[window_ styleMask] & (~NSClosableWindowMask)];
|
[window_ setStyleMask:[window_ styleMask] & (~NSClosableWindowMask)];
|
||||||
}
|
}
|
||||||
FixZoomButton();
|
if (!maximizable) {
|
||||||
|
SetMaximizable(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NativeWindowMac::IsClosable() {
|
bool NativeWindowMac::IsClosable() {
|
||||||
|
@ -700,18 +738,6 @@ void NativeWindowMac::SetAlwaysOnTop(bool top) {
|
||||||
[window_ setLevel:(top ? NSFloatingWindowLevel : NSNormalWindowLevel)];
|
[window_ setLevel:(top ? NSFloatingWindowLevel : NSNormalWindowLevel)];
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindowMac::FixZoomButton() {
|
|
||||||
// If fullscreen has not been disabled via `fullscreen: false` (i.e. when
|
|
||||||
// collectionBehavior has NSWindowCollectionBehaviorFullScreenPrimary mask),
|
|
||||||
// zoom button is reset to it's default (enabled) state when window's
|
|
||||||
// styleMask has been changed. So if the button was disabled, we have to
|
|
||||||
// disable it again. I think it's a bug in Cocoa.
|
|
||||||
if ([window_ collectionBehavior] & NSWindowCollectionBehaviorFullScreenPrimary
|
|
||||||
&& !([window_ styleMask] & NSResizableWindowMask)) {
|
|
||||||
[[window_ standardWindowButton:NSWindowZoomButton] setEnabled:NO];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool NativeWindowMac::IsAlwaysOnTop() {
|
bool NativeWindowMac::IsAlwaysOnTop() {
|
||||||
return [window_ level] == NSFloatingWindowLevel;
|
return [window_ level] == NSFloatingWindowLevel;
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,6 +139,7 @@ NativeWindowViews::NativeWindowViews(
|
||||||
options.Get(options::kResizable, &resizable_);
|
options.Get(options::kResizable, &resizable_);
|
||||||
options.Get(options::kMovable, &movable_);
|
options.Get(options::kMovable, &movable_);
|
||||||
options.Get(options::kMinimizable, &minimizable_);
|
options.Get(options::kMinimizable, &minimizable_);
|
||||||
|
options.Get(options::kMaximizable, &maximizable_);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (enable_larger_than_screen())
|
if (enable_larger_than_screen())
|
||||||
|
@ -187,9 +188,7 @@ NativeWindowViews::NativeWindowViews(
|
||||||
window_->Init(params);
|
window_->Init(params);
|
||||||
|
|
||||||
bool fullscreen = false;
|
bool fullscreen = false;
|
||||||
if (options.Get(options::kFullscreen, &fullscreen) && !fullscreen) {
|
options.Get(options::kFullscreen, &fullscreen);
|
||||||
maximizable_ = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(USE_X11)
|
#if defined(USE_X11)
|
||||||
// Start monitoring window states.
|
// Start monitoring window states.
|
||||||
|
@ -245,11 +244,6 @@ NativeWindowViews::NativeWindowViews(
|
||||||
|
|
||||||
DWORD style = ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE);
|
DWORD style = ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE);
|
||||||
style |= WS_THICKFRAME | WS_CAPTION | WS_MINIMIZEBOX;
|
style |= WS_THICKFRAME | WS_CAPTION | WS_MINIMIZEBOX;
|
||||||
if (!maximizable_) {
|
|
||||||
style &= (~WS_MAXIMIZEBOX);
|
|
||||||
} else {
|
|
||||||
style |= WS_MAXIMIZEBOX;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transparent()) {
|
if (transparent()) {
|
||||||
DWORD ex_style = ::GetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE);
|
DWORD ex_style = ::GetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE);
|
||||||
|
@ -441,9 +435,8 @@ void NativeWindowViews::SetResizable(bool resizable) {
|
||||||
DWORD style = ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE);
|
DWORD style = ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE);
|
||||||
if (resizable) {
|
if (resizable) {
|
||||||
style |= WS_THICKFRAME;
|
style |= WS_THICKFRAME;
|
||||||
if (maximizable_) style |= WS_MAXIMIZEBOX;
|
|
||||||
} else {
|
} else {
|
||||||
style &= ~(WS_THICKFRAME | WS_MAXIMIZEBOX);
|
style &= ~(WS_THICKFRAME);
|
||||||
}
|
}
|
||||||
::SetWindowLong(GetAcceleratedWidget(), GWL_STYLE, style);
|
::SetWindowLong(GetAcceleratedWidget(), GWL_STYLE, style);
|
||||||
}
|
}
|
||||||
|
@ -505,6 +498,33 @@ bool NativeWindowViews::IsMinimizable() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NativeWindowViews::SetMaximizable(bool maximizable) {
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
DWORD style = ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE);
|
||||||
|
if (maximizable) {
|
||||||
|
style |= WS_MAXIMIZEBOX;
|
||||||
|
} else {
|
||||||
|
style &= (~WS_MAXIMIZEBOX);
|
||||||
|
}
|
||||||
|
::SetWindowLong(GetAcceleratedWidget(), GWL_STYLE, style);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool NativeWindowViews::IsMaximizable() {
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
return ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE) & WS_MAXIMIZEBOX;
|
||||||
|
#elif defined(USE_X11)
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void NativeWindowViews::SetFullscreenable(bool maximizable) {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool NativeWindowViews::IsFullscreenable() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void NativeWindowViews::SetClosable(bool closable) {
|
void NativeWindowViews::SetClosable(bool closable) {
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
HMENU menu = GetSystemMenu(GetAcceleratedWidget(), false);
|
HMENU menu = GetSystemMenu(GetAcceleratedWidget(), false);
|
||||||
|
|
|
@ -72,6 +72,10 @@ class NativeWindowViews : public NativeWindow,
|
||||||
bool IsMovable() override;
|
bool IsMovable() override;
|
||||||
void SetMinimizable(bool minimizable) override;
|
void SetMinimizable(bool minimizable) override;
|
||||||
bool IsMinimizable() override;
|
bool IsMinimizable() override;
|
||||||
|
void SetMaximizable(bool maximizable) override;
|
||||||
|
bool IsMaximizable() override;
|
||||||
|
void SetFullscreenable(bool fullscreenable) override;
|
||||||
|
bool IsFullscreenable() override;
|
||||||
void SetClosable(bool closable) override;
|
void SetClosable(bool closable) override;
|
||||||
bool IsClosable() override;
|
bool IsClosable() override;
|
||||||
void SetAlwaysOnTop(bool top) override;
|
void SetAlwaysOnTop(bool top) override;
|
||||||
|
|
|
@ -8,24 +8,26 @@ namespace atom {
|
||||||
|
|
||||||
namespace options {
|
namespace options {
|
||||||
|
|
||||||
const char kTitle[] = "title";
|
const char kTitle[] = "title";
|
||||||
const char kIcon[] = "icon";
|
const char kIcon[] = "icon";
|
||||||
const char kFrame[] = "frame";
|
const char kFrame[] = "frame";
|
||||||
const char kShow[] = "show";
|
const char kShow[] = "show";
|
||||||
const char kCenter[] = "center";
|
const char kCenter[] = "center";
|
||||||
const char kX[] = "x";
|
const char kX[] = "x";
|
||||||
const char kY[] = "y";
|
const char kY[] = "y";
|
||||||
const char kWidth[] = "width";
|
const char kWidth[] = "width";
|
||||||
const char kHeight[] = "height";
|
const char kHeight[] = "height";
|
||||||
const char kMinWidth[] = "minWidth";
|
const char kMinWidth[] = "minWidth";
|
||||||
const char kMinHeight[] = "minHeight";
|
const char kMinHeight[] = "minHeight";
|
||||||
const char kMaxWidth[] = "maxWidth";
|
const char kMaxWidth[] = "maxWidth";
|
||||||
const char kMaxHeight[] = "maxHeight";
|
const char kMaxHeight[] = "maxHeight";
|
||||||
const char kResizable[] = "resizable";
|
const char kResizable[] = "resizable";
|
||||||
const char kMovable[] = "movable";
|
const char kMovable[] = "movable";
|
||||||
const char kMinimizable[] = "minimizable";
|
const char kMinimizable[] = "minimizable";
|
||||||
const char kClosable[] = "closable";
|
const char kMaximizable[] = "maximizable";
|
||||||
const char kFullscreen[] = "fullscreen";
|
const char kFullscreenable[] = "fullscreenable";
|
||||||
|
const char kClosable[] = "closable";
|
||||||
|
const char kFullscreen[] = "fullscreen";
|
||||||
|
|
||||||
// Whether the window should show in taskbar.
|
// Whether the window should show in taskbar.
|
||||||
const char kSkipTaskbar[] = "skipTaskbar";
|
const char kSkipTaskbar[] = "skipTaskbar";
|
||||||
|
|
|
@ -25,6 +25,8 @@ extern const char kMaxHeight[];
|
||||||
extern const char kResizable[];
|
extern const char kResizable[];
|
||||||
extern const char kMovable[];
|
extern const char kMovable[];
|
||||||
extern const char kMinimizable[];
|
extern const char kMinimizable[];
|
||||||
|
extern const char kMaximizable[];
|
||||||
|
extern const char kFullscreenable[];
|
||||||
extern const char kClosable[];
|
extern const char kClosable[];
|
||||||
extern const char kFullscreen[];
|
extern const char kFullscreen[];
|
||||||
extern const char kSkipTaskbar[];
|
extern const char kSkipTaskbar[];
|
||||||
|
|
Loading…
Reference in a new issue