Показать сообщение отдельно
Старый 24.07.2011, 05:05   #10
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: На весь экран - пропорции

Сообщение от ffinder Посмотреть сообщение
на линухе кури мануал про xlib
Опередил

Сообщение от xmarat Посмотреть сообщение
Эмм... А нет другого способа определить, а то я на Linux'е. Blitzmax не захотел это компилировать...
SuperStrict
Import 
"-lXrandr"
Import "screen.cpp"

Extern
    
Function GetScreenSize:Int(width:Int Var,height:Int Var) 
EndExtern

Local desktopWidth
:Int
Local desktopHeight
:Int

Local error
:Int GetScreenSize(widthheight
И собственно сишный сорс:
screen.cpp
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<X11/Xlib.h>
#include<X11/extensions/Xrandr.h>

extern "C" int GetScreenSize(int&,int&);  // Makes the function visable to other files

int GetScreenSize(intwidthintheight)
{

         
int num_sizes;
         
Rotation original_rotation;

         
Display *dpy XOpenDisplay(NULL);
         
Window root RootWindow(dpy0);
         
XRRScreenSize *xrrs XRRSizes(dpy0, &num_sizes);
         
//
         //     GET CURRENT RESOLUTION AND FREQUENCY
         //
         
XRRScreenConfiguration *conf XRRGetScreenInfo(dpyroot);
         
short original_rate XRRConfigCurrentRate(conf);
         
SizeID original_size_id XRRConfigCurrentConfiguration(conf, &original_rotation);

          
width xrrs[original_size_id].width;
          
height xrrs[original_size_id].height;
 
         
XCloseDisplay(dpy);
        return 
0
    } 
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
xmarat (24.07.2011)