Merge pull request #10487 from marcelofg55/curscr_as_default
p_screen param from get_screen_* funcs now default to the current screen
This commit is contained in:
commit
7f49e2a7a0
@ -978,9 +978,9 @@ void _OS::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("get_screen_count"), &_OS::get_screen_count);
|
ClassDB::bind_method(D_METHOD("get_screen_count"), &_OS::get_screen_count);
|
||||||
ClassDB::bind_method(D_METHOD("get_current_screen"), &_OS::get_current_screen);
|
ClassDB::bind_method(D_METHOD("get_current_screen"), &_OS::get_current_screen);
|
||||||
ClassDB::bind_method(D_METHOD("set_current_screen", "screen"), &_OS::set_current_screen);
|
ClassDB::bind_method(D_METHOD("set_current_screen", "screen"), &_OS::set_current_screen);
|
||||||
ClassDB::bind_method(D_METHOD("get_screen_position", "screen"), &_OS::get_screen_position, DEFVAL(0));
|
ClassDB::bind_method(D_METHOD("get_screen_position", "screen"), &_OS::get_screen_position, DEFVAL(-1));
|
||||||
ClassDB::bind_method(D_METHOD("get_screen_size", "screen"), &_OS::get_screen_size, DEFVAL(0));
|
ClassDB::bind_method(D_METHOD("get_screen_size", "screen"), &_OS::get_screen_size, DEFVAL(-1));
|
||||||
ClassDB::bind_method(D_METHOD("get_screen_dpi", "screen"), &_OS::get_screen_dpi, DEFVAL(0));
|
ClassDB::bind_method(D_METHOD("get_screen_dpi", "screen"), &_OS::get_screen_dpi, DEFVAL(-1));
|
||||||
ClassDB::bind_method(D_METHOD("get_window_position"), &_OS::get_window_position);
|
ClassDB::bind_method(D_METHOD("get_window_position"), &_OS::get_window_position);
|
||||||
ClassDB::bind_method(D_METHOD("set_window_position", "position"), &_OS::set_window_position);
|
ClassDB::bind_method(D_METHOD("set_window_position", "position"), &_OS::set_window_position);
|
||||||
ClassDB::bind_method(D_METHOD("get_window_size"), &_OS::get_window_size);
|
ClassDB::bind_method(D_METHOD("get_window_size"), &_OS::get_window_size);
|
||||||
|
@ -140,9 +140,9 @@ public:
|
|||||||
virtual int get_screen_count() const;
|
virtual int get_screen_count() const;
|
||||||
virtual int get_current_screen() const;
|
virtual int get_current_screen() const;
|
||||||
virtual void set_current_screen(int p_screen);
|
virtual void set_current_screen(int p_screen);
|
||||||
virtual Point2 get_screen_position(int p_screen = 0) const;
|
virtual Point2 get_screen_position(int p_screen = -1) const;
|
||||||
virtual Size2 get_screen_size(int p_screen = 0) const;
|
virtual Size2 get_screen_size(int p_screen = -1) const;
|
||||||
virtual int get_screen_dpi(int p_screen = 0) const;
|
virtual int get_screen_dpi(int p_screen = -1) const;
|
||||||
virtual Point2 get_window_position() const;
|
virtual Point2 get_window_position() const;
|
||||||
virtual void set_window_position(const Point2 &p_position);
|
virtual void set_window_position(const Point2 &p_position);
|
||||||
virtual Size2 get_window_size() const;
|
virtual Size2 get_window_size() const;
|
||||||
|
@ -164,9 +164,9 @@ public:
|
|||||||
virtual int get_screen_count() const { return 1; }
|
virtual int get_screen_count() const { return 1; }
|
||||||
virtual int get_current_screen() const { return 0; }
|
virtual int get_current_screen() const { return 0; }
|
||||||
virtual void set_current_screen(int p_screen) {}
|
virtual void set_current_screen(int p_screen) {}
|
||||||
virtual Point2 get_screen_position(int p_screen = 0) const { return Point2(); }
|
virtual Point2 get_screen_position(int p_screen = -1) const { return Point2(); }
|
||||||
virtual Size2 get_screen_size(int p_screen = 0) const { return get_window_size(); }
|
virtual Size2 get_screen_size(int p_screen = -1) const { return get_window_size(); }
|
||||||
virtual int get_screen_dpi(int p_screen = 0) const { return 72; }
|
virtual int get_screen_dpi(int p_screen = -1) const { return 72; }
|
||||||
virtual Point2 get_window_position() const { return Vector2(); }
|
virtual Point2 get_window_position() const { return Vector2(); }
|
||||||
virtual void set_window_position(const Point2 &p_position) {}
|
virtual void set_window_position(const Point2 &p_position) {}
|
||||||
virtual Size2 get_window_size() const = 0;
|
virtual Size2 get_window_size() const = 0;
|
||||||
|
@ -96,8 +96,8 @@ public:
|
|||||||
virtual int get_screen_count() const;
|
virtual int get_screen_count() const;
|
||||||
virtual int get_current_screen() const;
|
virtual int get_current_screen() const;
|
||||||
virtual void set_current_screen(int p_screen);
|
virtual void set_current_screen(int p_screen);
|
||||||
virtual Point2 get_screen_position(int p_screen = 0) const;
|
virtual Point2 get_screen_position(int p_screen = -1) const;
|
||||||
virtual Size2 get_screen_size(int p_screen = 0) const;
|
virtual Size2 get_screen_size(int p_screen = -1) const;
|
||||||
virtual void set_window_title(const String &p_title);
|
virtual void set_window_title(const String &p_title);
|
||||||
virtual Size2 get_window_size() const;
|
virtual Size2 get_window_size() const;
|
||||||
virtual void set_window_size(const Size2 p_size);
|
virtual void set_window_size(const Size2 p_size);
|
||||||
|
@ -687,8 +687,6 @@ OS::VideoMode OS_JavaScript::get_video_mode(int p_screen) const {
|
|||||||
|
|
||||||
Size2 OS_JavaScript::get_screen_size(int p_screen) const {
|
Size2 OS_JavaScript::get_screen_size(int p_screen) const {
|
||||||
|
|
||||||
ERR_FAIL_COND_V(p_screen != 0, Size2());
|
|
||||||
|
|
||||||
EmscriptenFullscreenChangeEvent ev;
|
EmscriptenFullscreenChangeEvent ev;
|
||||||
EMSCRIPTEN_RESULT result = emscripten_get_fullscreen_status(&ev);
|
EMSCRIPTEN_RESULT result = emscripten_get_fullscreen_status(&ev);
|
||||||
ERR_FAIL_COND_V(result != EMSCRIPTEN_RESULT_SUCCESS, Size2());
|
ERR_FAIL_COND_V(result != EMSCRIPTEN_RESULT_SUCCESS, Size2());
|
||||||
|
@ -124,7 +124,7 @@ public:
|
|||||||
virtual VideoMode get_video_mode(int p_screen = 0) const;
|
virtual VideoMode get_video_mode(int p_screen = 0) const;
|
||||||
virtual void get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen = 0) const;
|
virtual void get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen = 0) const;
|
||||||
|
|
||||||
virtual Size2 get_screen_size(int p_screen = 0) const;
|
virtual Size2 get_screen_size(int p_screen = -1) const;
|
||||||
|
|
||||||
virtual void set_window_size(const Size2);
|
virtual void set_window_size(const Size2);
|
||||||
virtual Size2 get_window_size() const;
|
virtual Size2 get_window_size() const;
|
||||||
|
@ -187,9 +187,9 @@ public:
|
|||||||
virtual int get_screen_count() const;
|
virtual int get_screen_count() const;
|
||||||
virtual int get_current_screen() const;
|
virtual int get_current_screen() const;
|
||||||
virtual void set_current_screen(int p_screen);
|
virtual void set_current_screen(int p_screen);
|
||||||
virtual Point2 get_screen_position(int p_screen = 0) const;
|
virtual Point2 get_screen_position(int p_screen = -1) const;
|
||||||
virtual Size2 get_screen_size(int p_screen = 0) const;
|
virtual Size2 get_screen_size(int p_screen = -1) const;
|
||||||
virtual int get_screen_dpi(int p_screen = 0) const;
|
virtual int get_screen_dpi(int p_screen = -1) const;
|
||||||
|
|
||||||
virtual Point2 get_window_position() const;
|
virtual Point2 get_window_position() const;
|
||||||
virtual void set_window_position(const Point2 &p_position);
|
virtual void set_window_position(const Point2 &p_position);
|
||||||
|
@ -1433,6 +1433,10 @@ void OS_OSX::set_current_screen(int p_screen) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Point2 OS_OSX::get_screen_position(int p_screen) const {
|
Point2 OS_OSX::get_screen_position(int p_screen) const {
|
||||||
|
if (p_screen == -1) {
|
||||||
|
p_screen = get_current_screen();
|
||||||
|
}
|
||||||
|
|
||||||
NSArray *screenArray = [NSScreen screens];
|
NSArray *screenArray = [NSScreen screens];
|
||||||
if (p_screen < [screenArray count]) {
|
if (p_screen < [screenArray count]) {
|
||||||
float displayScale = 1.0;
|
float displayScale = 1.0;
|
||||||
@ -1449,6 +1453,10 @@ Point2 OS_OSX::get_screen_position(int p_screen) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int OS_OSX::get_screen_dpi(int p_screen) const {
|
int OS_OSX::get_screen_dpi(int p_screen) const {
|
||||||
|
if (p_screen == -1) {
|
||||||
|
p_screen = get_current_screen();
|
||||||
|
}
|
||||||
|
|
||||||
NSArray *screenArray = [NSScreen screens];
|
NSArray *screenArray = [NSScreen screens];
|
||||||
if (p_screen < [screenArray count]) {
|
if (p_screen < [screenArray count]) {
|
||||||
float displayScale = 1.0;
|
float displayScale = 1.0;
|
||||||
@ -1469,6 +1477,10 @@ int OS_OSX::get_screen_dpi(int p_screen) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Size2 OS_OSX::get_screen_size(int p_screen) const {
|
Size2 OS_OSX::get_screen_size(int p_screen) const {
|
||||||
|
if (p_screen == -1) {
|
||||||
|
p_screen = get_current_screen();
|
||||||
|
}
|
||||||
|
|
||||||
NSArray *screenArray = [NSScreen screens];
|
NSArray *screenArray = [NSScreen screens];
|
||||||
if (p_screen < [screenArray count]) {
|
if (p_screen < [screenArray count]) {
|
||||||
float displayScale = 1.0;
|
float displayScale = 1.0;
|
||||||
|
@ -1384,7 +1384,7 @@ static BOOL CALLBACK _MonitorEnumProcPos(HMONITOR hMonitor, HDC hdcMonitor, LPRE
|
|||||||
|
|
||||||
Point2 OS_Windows::get_screen_position(int p_screen) const {
|
Point2 OS_Windows::get_screen_position(int p_screen) const {
|
||||||
|
|
||||||
EnumPosData data = { 0, p_screen, Point2() };
|
EnumPosData data = { 0, p_screen == -1 ? get_current_screen() : p_screen, Point2() };
|
||||||
EnumDisplayMonitors(NULL, NULL, _MonitorEnumProcPos, (LPARAM)&data);
|
EnumDisplayMonitors(NULL, NULL, _MonitorEnumProcPos, (LPARAM)&data);
|
||||||
return data.pos;
|
return data.pos;
|
||||||
}
|
}
|
||||||
@ -1409,7 +1409,7 @@ static BOOL CALLBACK _MonitorEnumProcSize(HMONITOR hMonitor, HDC hdcMonitor, LPR
|
|||||||
|
|
||||||
Size2 OS_Windows::get_screen_size(int p_screen) const {
|
Size2 OS_Windows::get_screen_size(int p_screen) const {
|
||||||
|
|
||||||
EnumSizeData data = { 0, p_screen, Size2() };
|
EnumSizeData data = { 0, p_screen == -1 ? get_current_screen() : p_screen, Size2() };
|
||||||
EnumDisplayMonitors(NULL, NULL, _MonitorEnumProcSize, (LPARAM)&data);
|
EnumDisplayMonitors(NULL, NULL, _MonitorEnumProcSize, (LPARAM)&data);
|
||||||
return data.size;
|
return data.size;
|
||||||
}
|
}
|
||||||
@ -1433,7 +1433,7 @@ static BOOL CALLBACK _MonitorEnumProcDpi(HMONITOR hMonitor, HDC hdcMonitor, LPRE
|
|||||||
|
|
||||||
int OS_Windows::get_screen_dpi(int p_screen) const {
|
int OS_Windows::get_screen_dpi(int p_screen) const {
|
||||||
|
|
||||||
EnumDpiData data = { 0, p_screen, 72 };
|
EnumDpiData data = { 0, p_screen == -1 ? get_current_screen() : p_screen, 72 };
|
||||||
EnumDisplayMonitors(NULL, NULL, _MonitorEnumProcDpi, (LPARAM)&data);
|
EnumDisplayMonitors(NULL, NULL, _MonitorEnumProcDpi, (LPARAM)&data);
|
||||||
return data.dpi;
|
return data.dpi;
|
||||||
}
|
}
|
||||||
|
@ -194,9 +194,9 @@ public:
|
|||||||
virtual int get_screen_count() const;
|
virtual int get_screen_count() const;
|
||||||
virtual int get_current_screen() const;
|
virtual int get_current_screen() const;
|
||||||
virtual void set_current_screen(int p_screen);
|
virtual void set_current_screen(int p_screen);
|
||||||
virtual Point2 get_screen_position(int p_screen = 0) const;
|
virtual Point2 get_screen_position(int p_screen = -1) const;
|
||||||
virtual Size2 get_screen_size(int p_screen = 0) const;
|
virtual Size2 get_screen_size(int p_screen = -1) const;
|
||||||
virtual int get_screen_dpi(int p_screen = 0) const;
|
virtual int get_screen_dpi(int p_screen = -1) const;
|
||||||
|
|
||||||
virtual Point2 get_window_position() const;
|
virtual Point2 get_window_position() const;
|
||||||
virtual void set_window_position(const Point2 &p_position);
|
virtual void set_window_position(const Point2 &p_position);
|
||||||
|
@ -761,6 +761,10 @@ void OS_X11::set_current_screen(int p_screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Point2 OS_X11::get_screen_position(int p_screen) const {
|
Point2 OS_X11::get_screen_position(int p_screen) const {
|
||||||
|
if (p_screen == -1) {
|
||||||
|
p_screen = get_current_screen();
|
||||||
|
}
|
||||||
|
|
||||||
// Using Xinerama Extension
|
// Using Xinerama Extension
|
||||||
int event_base, error_base;
|
int event_base, error_base;
|
||||||
const Bool ext_okay = XineramaQueryExtension(x11_display, &event_base, &error_base);
|
const Bool ext_okay = XineramaQueryExtension(x11_display, &event_base, &error_base);
|
||||||
@ -782,6 +786,10 @@ Point2 OS_X11::get_screen_position(int p_screen) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Size2 OS_X11::get_screen_size(int p_screen) const {
|
Size2 OS_X11::get_screen_size(int p_screen) const {
|
||||||
|
if (p_screen == -1) {
|
||||||
|
p_screen = get_current_screen();
|
||||||
|
}
|
||||||
|
|
||||||
// Using Xinerama Extension
|
// Using Xinerama Extension
|
||||||
int event_base, error_base;
|
int event_base, error_base;
|
||||||
const Bool ext_okay = XineramaQueryExtension(x11_display, &event_base, &error_base);
|
const Bool ext_okay = XineramaQueryExtension(x11_display, &event_base, &error_base);
|
||||||
@ -797,6 +805,9 @@ Size2 OS_X11::get_screen_size(int p_screen) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int OS_X11::get_screen_dpi(int p_screen) const {
|
int OS_X11::get_screen_dpi(int p_screen) const {
|
||||||
|
if (p_screen == -1) {
|
||||||
|
p_screen = get_current_screen();
|
||||||
|
}
|
||||||
|
|
||||||
//invalid screen?
|
//invalid screen?
|
||||||
ERR_FAIL_INDEX_V(p_screen, get_screen_count(), 0);
|
ERR_FAIL_INDEX_V(p_screen, get_screen_count(), 0);
|
||||||
|
@ -233,9 +233,9 @@ public:
|
|||||||
virtual int get_screen_count() const;
|
virtual int get_screen_count() const;
|
||||||
virtual int get_current_screen() const;
|
virtual int get_current_screen() const;
|
||||||
virtual void set_current_screen(int p_screen);
|
virtual void set_current_screen(int p_screen);
|
||||||
virtual Point2 get_screen_position(int p_screen = 0) const;
|
virtual Point2 get_screen_position(int p_screen = -1) const;
|
||||||
virtual Size2 get_screen_size(int p_screen = 0) const;
|
virtual Size2 get_screen_size(int p_screen = -1) const;
|
||||||
virtual int get_screen_dpi(int p_screen = 0) const;
|
virtual int get_screen_dpi(int p_screen = -1) const;
|
||||||
virtual Point2 get_window_position() const;
|
virtual Point2 get_window_position() const;
|
||||||
virtual void set_window_position(const Point2 &p_position);
|
virtual void set_window_position(const Point2 &p_position);
|
||||||
virtual Size2 get_window_size() const;
|
virtual Size2 get_window_size() const;
|
||||||
|
Loading…
Reference in New Issue
Block a user