[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,373
Написано 2,478 полезных сообщений (для 6,866 пользователей)
|
Ответ: На весь экран - пропорции
Сообщение от xmarat
Не знал что так можно. Полезная вещь, буду знать. А как можно узнать размер дисплея в MacOS?
|

?Win32
Import pub.win32
Private
Extern
Function ReleaseDC(hwnd:Int, hdc:Int)"Win32"
End Extern
Public
?MacOS
Import "macscreen.c"
Private
Extern
Function CGDisplayCurrentMode:Byte Ptr(displayID:Byte Ptr)"MacOS"
Function CGGetActiveDisplayList:Byte Ptr(kMaxDisplays:Int, display:Byte Ptr, numDisplays: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(hdc, HORZRES)
height = GetDeviceCaps(hdc, VERTRES)
depth = GetDeviceCaps(hdc, BITSPIXEL)
hertz = GetDeviceCaps(hdc, VREFRESH)
ReleaseDC(hwnd,hdc)
?MacOS
Local display:Byte Ptr[] = New Byte Ptr[1]
Local iMode:Byte Ptr = Null
Local iCount:Int
CGGetActiveDisplayList 1, display, iCount
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:Int, desktopHeight:Int, desktopDepth:Int, desktopHertz:Int
GetDesktopMode(desktopWidth, desktopHeight, desktopDepth, desktopHertz)
Graphics(desktopWidth, desktopHeight, desktopDepth, desktopHertz)
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 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.
|