Получение информации о дисплеях
Quartz Display Services обеспечивает много функций для получения информации о состоянии дисплея и режимах отображения. Эта статья кратко касается нескольких из этих функций. Для полного списка посмотрите Ссылку Quartz Display Services.
Получение информации состояния Дисплея (OS X v10.6 или позже)
Quartz Display Services включает функции средства доступа, сообщающие о текущих свойствах аппаратных средств дисплея, свойства, также найденные в текущем режиме отображения. Поскольку эти функции не полагаются на информацию от текущего режима отображения, они предоставляют наиболее точную информацию, доступную о дисплее (свойства режима отображения подвержены изменениям драйвером устройства). Эти функции, перечисленные затем, являются прямыми для использования:
Функция | Описание |
---|---|
| Возвращает drawable ширину дисплея в пиксельных модулях. |
| Возвращает drawable высоту дисплея в пиксельных модулях. |
API включает другие функции средства доступа, сообщающие дополнительную информацию о текущей конфигурации и состоянии дисплея. В следующей таблице перечислены репрезентативную пробу этих функций:
Функция | Описание |
---|---|
| Возвращает булево значение, указывающее, активен ли дисплей или drawable). |
| Возвращает булево значение, указывающее, встроен ли дисплей, таков как внутренний дисплей в переносимых системах. |
| Возвращает булево значение, указывающее, является ли дисплей основным дисплеем. |
| Возвращает ширину и высоту дисплея в миллиметрах. |
| Возвращает булево значение, указывающее, использует ли Кварц основанное на OpenGL ускорение окна (Кварцевое Экстремальное значение) для рендеринга в дисплее. |
Получение информации состояния Дисплея (OS X v10.5)
Quartz Display Services включает несколько функций средства доступа, сообщающих о текущих свойствах аппаратных средств дисплея, свойства, также найденные в текущем словаре режима отображения. Поскольку эти функции не полагаются на информацию от текущего режима отображения, они предоставляют наиболее точную информацию, доступную о дисплее (свойства режима отображения подвержены изменениям драйвером устройства). Эти функции, перечисленные затем, являются прямыми для использования:
Функция | Описание |
---|---|
| Возвращает drawable ширину дисплея в пиксельных модулях. |
| Возвращает drawable высоту дисплея в пиксельных модулях. |
| Возвращается число битов раньше представляло пиксель в кадровом буфере. |
| Возвращается число битов раньше представляло пиксельный компонент в кадровом буфере. |
| Возвращается число компонентов раньше представляло пиксель в кадровом буфере. |
| Возвращает число байтов на строку в кадровом буфере. |
API включает другие функции средства доступа, сообщающие дополнительную информацию о текущей конфигурации и состоянии дисплея. В следующей таблице перечислены репрезентативную пробу этих функций:
Функция | Описание |
---|---|
| Возвращает булево значение, указывающее, активен ли дисплей или drawable). |
| Возвращает булево значение, указывающее, встроен ли дисплей, таков как внутренний дисплей в переносимых системах. |
| Возвращает булево значение, указывающее, является ли дисплей основным дисплеем. |
| Возвращает ширину и высоту дисплея в миллиметрах. |
| Возвращает булево значение, указывающее, использует ли Кварц основанное на OpenGL ускорение окна (Кварцевое Экстремальное значение) для рендеринга в дисплее. |
Получение информации Режима отображения (OS X v10.6 или позже)
Каждый онлайновый дисплей имеет текущий режим отображения и ряд доступных режимов отображения. Драйвер устройства использует информацию в текущем режиме отображения для конфигурирования дисплея.
Можно получить значения свойств в режиме отображения с надлежащим CGDisplayMode
функция. Перечисление 1 показывает, как получить несколько свойств режима.
Перечисление 1 , Получающее свойства режима отображения на OS X v10.6 или позже
bool gui; |
double refresh; |
uint32_t ioflags; |
CGDisplayModeRef currentMode = CGDisplayCopyDisplayMode(kCGDirectMainDisplay); |
refresh = CGDisplayModeGetRefreshRate(currentMode); |
gui = CGDisplayModeIsUsableForDesktopGUI(currentMode); |
ioflags = CGDisplayModeGetIOFlags(currentMode); |
CGDisplayModeRelease(currentMode); |
Получение информации Режима отображения (OS X v10.5)
Каждый онлайновый дисплей имеет текущий режим отображения и ряд доступных режимов отображения. Драйвер устройства использует информацию в текущем режиме отображения для конфигурирования дисплея.
Можно получить значения свойств в словаре режима отображения с CFDictionaryGetValue
функция. Затем Вы, возможно, должны бросить возвращенное значение к надлежащему типу данных. Перечисление 1 показывает, как получить несколько свойств режима и бросить их к базовому типу данных.
Перечисление 2 , Получающее свойства режима отображения на OS X v10.5
CFNumberRef number; |
CFBoolean booleanValue; |
Boolean gui; |
long mode, refresh, ioflags; |
CFDictionaryRef currentMode = CGDisplayCurrentMode (kCGDirectMainDisplay); |
number = CFDictionaryGetValue (currentMode, kCGDisplayMode); |
CFNumberGetValue (number, kCFNumberLongType, &mode); |
number = CFDictionaryGetValue (currentMode, kCGDisplayRefreshRate); |
CFNumberGetValue (number, kCFNumberLongType, &refresh); |
booleanValue = CFDictionaryGetValue (currentMode, kCGDisplayModeUsableForDesktopGUI); |
gui = CFBooleanGetValue (booleanValue); |
number = CFDictionaryGetValue (currentMode, kCGDisplayIOFlags); |
CFNumberGetValue (number, kCFNumberLongType, &ioflags); |