Add an OS.is_window_focused() getter
This makes it possible to know whether the window is focused at a given time, without having to track the focus state manually using `NOTIFICATION_WM_FOCUS_IN` and `NOTIFICATION_WM_FOCUS_OUT`. This partially addresses #33928.
This commit is contained in:
parent
7735af7e76
commit
21a3923410
10 changed files with 50 additions and 5 deletions
|
|
@ -400,6 +400,10 @@ bool _OS::is_window_always_on_top() const {
|
|||
return OS::get_singleton()->is_window_always_on_top();
|
||||
}
|
||||
|
||||
bool _OS::is_window_focused() const {
|
||||
return OS::get_singleton()->is_window_focused();
|
||||
}
|
||||
|
||||
void _OS::set_borderless_window(bool p_borderless) {
|
||||
OS::get_singleton()->set_borderless_window(p_borderless);
|
||||
}
|
||||
|
|
@ -1213,6 +1217,7 @@ void _OS::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("is_window_maximized"), &_OS::is_window_maximized);
|
||||
ClassDB::bind_method(D_METHOD("set_window_always_on_top", "enabled"), &_OS::set_window_always_on_top);
|
||||
ClassDB::bind_method(D_METHOD("is_window_always_on_top"), &_OS::is_window_always_on_top);
|
||||
ClassDB::bind_method(D_METHOD("is_window_focused"), &_OS::is_window_focused);
|
||||
ClassDB::bind_method(D_METHOD("request_attention"), &_OS::request_attention);
|
||||
ClassDB::bind_method(D_METHOD("get_real_window_size"), &_OS::get_real_window_size);
|
||||
ClassDB::bind_method(D_METHOD("center_window"), &_OS::center_window);
|
||||
|
|
|
|||
|
|
@ -198,6 +198,7 @@ public:
|
|||
virtual bool is_window_maximized() const;
|
||||
virtual void set_window_always_on_top(bool p_enabled);
|
||||
virtual bool is_window_always_on_top() const;
|
||||
virtual bool is_window_focused() const;
|
||||
virtual void request_attention();
|
||||
virtual void center_window();
|
||||
virtual void move_window_to_foreground();
|
||||
|
|
|
|||
|
|
@ -217,6 +217,7 @@ public:
|
|||
virtual bool is_window_maximized() const { return true; }
|
||||
virtual void set_window_always_on_top(bool p_enabled) {}
|
||||
virtual bool is_window_always_on_top() const { return false; }
|
||||
virtual bool is_window_focused() const { return true; }
|
||||
virtual void set_console_visible(bool p_enabled) {}
|
||||
virtual bool is_console_visible() const { return false; }
|
||||
virtual void request_attention() {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue