summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/display_server_x11.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2020-03-19 23:32:09 -0300
committerJuan Linietsky <reduzio@gmail.com>2020-03-26 15:49:44 +0100
commitb3080bc2f4d7bc5c15b3a0ff7b67690c4677577e (patch)
tree0487e2d739133015048b1e0dd1fd9abaf7bbb18a /platform/linuxbsd/display_server_x11.cpp
parent09ba290364aaa5b54528e82144ec0a40e10b497b (diff)
downloadredot-engine-b3080bc2f4d7bc5c15b3a0ff7b67690c4677577e.tar.gz
Popups have also been converted to windows
Controls using the old modal API have been replaced to use popups.
Diffstat (limited to 'platform/linuxbsd/display_server_x11.cpp')
-rw-r--r--platform/linuxbsd/display_server_x11.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp
index 701ad0e263..8e225d9b5d 100644
--- a/platform/linuxbsd/display_server_x11.cpp
+++ b/platform/linuxbsd/display_server_x11.cpp
@@ -563,8 +563,12 @@ Point2i DisplayServerX11::screen_get_position(int p_screen) const {
return position;
}
+
Size2i DisplayServerX11::screen_get_size(int p_screen) const {
+ return screen_get_usable_rect(p_screen).size;
+}
+Rect2i DisplayServerX11::screen_get_usable_rect(int p_screen) const {
_THREAD_SAFE_METHOD_
if (p_screen == SCREEN_OF_MAIN_WINDOW) {
@@ -574,16 +578,17 @@ Size2i DisplayServerX11::screen_get_size(int p_screen) const {
// Using Xinerama Extension
int event_base, error_base;
const Bool ext_okay = XineramaQueryExtension(x11_display, &event_base, &error_base);
- if (!ext_okay) return Size2i(0, 0);
+ if (!ext_okay) return Rect2i(0, 0, 0, 0);
int count;
XineramaScreenInfo *xsi = XineramaQueryScreens(x11_display, &count);
- if (p_screen >= count) return Size2i(0, 0);
+ if (p_screen >= count) return Rect2i(0, 0, 0, 0);
- Size2i size = Point2i(xsi[p_screen].width, xsi[p_screen].height);
+ Rect2i rect = Rect2i(xsi[p_screen].x_org, xsi[p_screen].y_org, xsi[p_screen].width, xsi[p_screen].height);
XFree(xsi);
- return size;
+ return rect;
}
+
int DisplayServerX11::screen_get_dpi(int p_screen) const {
_THREAD_SAFE_METHOD_