From 3789743b4b58fa62e749997b067315d110beee3c Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Wed, 27 Mar 2013 22:25:42 +1100 Subject: Improve kernel32 screensize.c --- dlls/kernel32/screensize.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 dlls/kernel32/screensize.c diff --git a/dlls/kernel32/screensize.c b/dlls/kernel32/screensize.c new file mode 100644 index 0000000..9e34fcf --- /dev/null +++ b/dlls/kernel32/screensize.c @@ -0,0 +1,33 @@ +/* Source code adapted from Surfing Troves + * http://surfingtroves.blogspot.com.au/2011/01/how-to-get-screen-resolution-in-linux-c.html + */ + +#include +#include + +int GetDesktopScreenSize(int *w, int *h) +{ + Display* pdsp = NULL; + Screen* pscr = NULL; + + pdsp = XOpenDisplay(NULL); + if (!pdsp) + { + printf("Failed to open default display.\n"); + return -1; + } + + pscr = DefaultScreenOfDisplay(pdsp); + if (!pscr) + { + printf("Failed to obtain the default screen of given display.\n"); + return -2; + } + + *w = pscr->width; + *h = pscr->height; + + XCloseDisplay(pdsp); + + return 0; +} -- 1.7.10.4