Показать сообщение отдельно
Старый 25.07.2011, 12:01   #15
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений
(для 6,854 пользователей)
Ответ: На весь экран - пропорции

Сообщение от xmarat Посмотреть сообщение
Не знал что так можно. Полезная вещь, буду знать. А как можно узнать размер дисплея в MacOS?
?Win32
    Import pub
.win32
    
Private
    
Extern
        
Function ReleaseDC(hwnd:Inthdc:Int)"Win32" 
    
End Extern
    
Public
?
MacOS
    Import 
"macscreen.c"
    
Private
    
Extern
        
Function CGDisplayCurrentMode:Byte Ptr(displayID:Byte Ptr)"MacOS"
        
Function CGGetActiveDisplayList:Byte Ptr(kMaxDisplays:Intdisplay:Byte PtrnumDisplays:Int Var)"MacOS"
        
Function MACOS_GetWidth:Int(mode:Byte Ptr)"C"
        
Function MACOS_GetHeight:Int(mode:Byte Ptr)"C"
        
Function MACOS_GetBPP:Int(mode:Byte Ptr)"C"
        
Function MACOS_GetHertz:Int(mode:Byte Ptr)"C"
    
End Extern 
    
Public
?
Linux
    Import brl
.graphics
?

Function 
GetDesktopMode:Int (width:Int Var, height:Int Var, depth:Int Var, hertz:Int Var)
    ?
win32
        Local hwnd
:Int GetDesktopWindow()
        
Local hdc:Int GetDC(hwnd)
        If 
hdc Null Then Return -1
        width  
GetDeviceCaps(hdcHORZRES)
        
height GetDeviceCaps(hdcVERTRES)
        
depth  GetDeviceCaps(hdcBITSPIXEL)
        
hertz  GetDeviceCaps(hdcVREFRESH)
        
ReleaseDC(hwnd,hdc)
    ?
MacOS
        Local display
:Byte Ptr[] = New Byte Ptr[1]
        
Local iMode:Byte Ptr Null
        Local iCount
:Int
        CGGetActiveDisplayList 1
displayiCount
        iMode  
CGDisplayCurrentMode(display[0])
        
width  MACOS_GetWidth(iMode)
        
height MACOS_GetHeight(iMode)
        
depth  MACOS_GetBPP(iMode)
        
hertz  MACOS_GetHertz(iMode)
    ?
Linux
        CountGraphicsModes
()
        
GetGraphicsMode (0,width,height,depth,hertz)
    ?
End Function

' Получать так : '
Local desktopWidth:IntdesktopHeight:IntdesktopDepth:IntdesktopHertz:Int
GetDesktopMode
(desktopWidthdesktopHeightdesktopDepthdesktopHertz)
Graphics(desktopWidthdesktopHeightdesktopDepthdesktopHertz
__________________
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

Последний раз редактировалось Randomize, 25.07.2011 в 15:16.
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
impersonalis (25.07.2011), Tadeus (25.07.2011), xmarat (25.07.2011), Жека (25.07.2011)