[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: На весь экран - пропорции
Сообщение от 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 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.
|