Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка пространства пользователя IOGraphicsTypes.h

Опции
Развертывание Target:

На этой странице

Ссылка пространства пользователя IOGraphicsTypes.h

Включенные заголовки

  • <IOKit/IOTypes.h>

  • <IOKit/IOKitKeys.h>

Типы данных

См. Обзор для документации уровня заголовка.

  • Структура, определяющая одну запись таблицы цветов.

    Объявление

    Objective C

    struct IOColorEntry { UInt16 index; IOColorComponent red; IOColorComponent green; IOColorComponent blue; };

    Поля

    index

    Число пикселей, видимых на строку.

    red

    Значение красных 0-65535 компонента.

    green

    Значение зеленых 0-65535 компонента.

    blue

    Значение синих 0-65535 компонента.

    Обсуждение

    Эта структура используется IOFramebuffer для определения записи таблицы цветов.

  • Структура, определяющая подробную информацию синхронизации режима отображения.

    Объявление

    Objective C

    struct IODetailedTimingInformationV2 { UInt32 __reservedA[3]; // Init to 0 UInt32 horizontalScaledInset; // pixels UInt32 verticalScaledInset; // lines UInt32 scalerFlags; UInt32 horizontalScaled; UInt32 verticalScaled; UInt32 signalConfig; UInt32 signalLevels; UInt64 pixelClock; // Hz UInt64 minPixelClock; // Hz - With error what is slowest actual clock UInt64 maxPixelClock; // Hz - With error what is fasted actual clock UInt32 horizontalActive; // pixels UInt32 horizontalBlanking; // pixels UInt32 horizontalSyncOffset; // pixels UInt32 horizontalSyncPulseWidth; // pixels UInt32 verticalActive; // lines UInt32 verticalBlanking; // lines UInt32 verticalSyncOffset; // lines UInt32 verticalSyncPulseWidth; // lines UInt32 horizontalBorderLeft; // pixels UInt32 horizontalBorderRight; // pixels UInt32 verticalBorderTop; // lines UInt32 verticalBorderBottom; // lines UInt32 horizontalSyncConfig; UInt32 horizontalSyncLevel; // Future use (init to 0) UInt32 verticalSyncConfig; UInt32 verticalSyncLevel; // Future use (init to 0) UInt32 numLinks; UInt32 __reservedB[7]; // Init to 0 };

    Поля

    __reservedA

    Обнулить.

    horizontalScaledInset

    Если режим масштабируется, определяет номер активных пикселей для удаления левых и правых краев для отображения изображения underscanned.

    verticalScaledInset

    Если режим масштабируется, определяет номер активных строк для удаления верхних и нижних краев для отображения изображения underscanned.

    scalerFlags

    Если режим масштабируется, kIOScaleStretchToFit может быть установлен позволить простираться. kIOScaleRotateFlags является маской, которой мог дать значение kIOScaleRotate90, kIOScaleRotate180, kIOScaleRotate270 для отображения повернутого кадрового буфера.

    horizontalScaled

    Если режим масштабируется, устанавливает размер изображения прежде, чем масштабироваться или вращение.

    verticalScaled

    Если режим масштабируется, устанавливает размер изображения прежде, чем масштабироваться или вращение.

    signalConfig

    набор kIOAnalogSetupExpected, если дисплей ожидает установку пробела-к-черному или опору. См. стандарты сигнала VESA.

    набор kIOInterlacedCEATiming для стиля CEA чередовал синхронизацию:

    Поле 1 вертикальное очищение = половина указанных вертикальных строк очищения.

    Поле 2 вертикальное очищение = (половина вертикальных строк очищения) + 1 строка.

    Поле 1 вертикальное смещение = половина указанного вертикального синхронизирующего смещения.

    Поле 2 вертикальное смещение = (половина указанного вертикального синхронизирующего смещения) + 0,5 строки.

    signalLevels

    Один из:

    kIOAnalogSignalLevel_0700_0300 0.700 - 0.300 В p-p.

    kIOAnalogSignalLevel_0714_0286 0.714 - 0,286 В p-p.

    kIOAnalogSignalLevel_1000_0400 1.000 - 0.400 В p-p.

    kIOAnalogSignalLevel_0700_0000 0.700 - 0.000 В p-p.

    pixelClock

    Пиксельная тактовая частота в Гц.

    minPixelClock

    Минимальная пиксельная тактовая частота в Гц, с ошибкой.

    maxPixelClock

    Максимальная пиксельная тактовая частота в Гц, с ошибкой.

    horizontalActive

    Пиксель синхронизирует на строку.

    horizontalBlanking

    Очищение часов на строку.

    horizontalSyncOffset

    Первые часы горизонтальной синхронизации.

    horizontalSyncPulseWidth

    Ширина горизонтальной синхронизации.

    verticalActive

    Число строк на кадр.

    verticalBlanking

    Очищение строк на кадр.

    verticalSyncOffset

    Первая строка вертикальной синхронизации.

    verticalSyncPulseWidth

    Высота вертикальной синхронизации.

    horizontalBorderLeft

    Число пикселей в левой горизонтальной границе.

    horizontalBorderRight

    Число пикселей в правильной горизонтальной границе.

    verticalBorderTop

    Число строк в главной вертикальной границе.

    verticalBorderBottom

    Число строк в нижней части вертикальная граница.

    horizontalSyncConfig

    kIOSyncPositivePolarity для положительной горизонтальной синхронизации полярности (0 для отрицания).

    horizontalSyncLevel

    Нуль.

    verticalSyncConfig

    kIOSyncPositivePolarity для положительной полярности вертикальная синхронизация (0 для отрицания).

    verticalSyncLevel

    Нуль.

    numLinks

    число ссылок, которые будут использоваться двойной синхронизацией ссылки, если нуль, принимает одну ссылку.

    __reservedB

    Зарезервированный обнуленный.

    Обсуждение

    Эта структура используется IOFramebuffer для определения подробной информации синхронизации для режима отображения. VESA документ EDID имеет больше информации.

  • Структура, определяющая формат кадрового буфера.

    Объявление

    Objective C

    struct IODisplayModeInformation { UInt32 nominalWidth; UInt32 nominalHeight; IOFixed1616 refreshRate; IOIndex maxDepthIndex; UInt32 flags; UInt16 imageWidth; UInt16 imageHeight; UInt32 reserved[ 3 ]; };

    Поля

    nominalWidth

    Число пикселей, видимых на строку.

    nominalHeight

    Число видимых пиксельных строк.

    refreshRate

    Частота обновления в фиксированной точке 16.16.

    maxDepthIndex

    Самый высокий индекс глубины, доступный в этом режиме отображения.

    flags

    Флаги для режима, включая:

    режим kDisplayModeInterlacedFlag чередуется.

    режим kDisplayModeSimulscanFlag доступен на многократных соединениях дисплея.

    режим kDisplayModeNotPresetFlag не является предварительной установкой фабрики для дисплея (геометрии, возможно, понадобится исправление).

    режим kDisplayModeStretchedFlag простирается/искажается для соответствия форматного соотношения дисплея.

    imageWidth

    Физическая ширина активного изображения, если известный, в миллиметрах, иначе обнуляет.

    imageHeight

    Физическая высота активного изображения, если известный, в миллиметрах, иначе обнуляет.

    reserved

    Обнулить.

    Обсуждение

    Эта структура используется IOFramebuffer для определения формата пикселей.

  • Структура, определяющая масштабирующиеся возможности кадрового буфера.

    Объявление

    Objective C

    struct IODisplayScalerInformation { UInt32 __reservedA[1]; // Init to 0 UInt32 version; // Init to 0 UInt32 __reservedB[2]; // Init to 0 IOOptionBits scalerFeatures; UInt32 maxHorizontalPixels; UInt32 maxVerticalPixels; UInt32 __reservedC[5]; // Init to 0 };

    Поля

    __reservedA

    Обнулить.

    version

    Обнулить.

    __reservedB

    Обнулить.

    scalerFeatures

    Маска масштабирующихся функций. Следующее определяется:

    kIOScaleStretchOnly, Если установлено кадровый буфер может только предоставить расширенному масштабированию неквадратные пиксели без границ.

    kIOScaleCanUpSamplePixels, Если установленный кадровый буфер может увеличиться от меньшего числа исходных пикселей более крупному собственному компоненту, синхронизирующему (например, 640x480 пикселей на 1600x1200 синхронизирующий).

    kIOScaleCanDownSamplePixels, Если установленный кадровый буфер может уменьшиться от большего числа исходных пикселей меньшему собственному компоненту, синхронизирующему (например, 1600x1200 пикселей на 640x480 синхронизирующий).

    kIOScaleCanScaleInterlaced, Если установленный кадровый буфер может масштабировать чересстрочную подробную синхронизацию.

    kIOScaleCanSupportInset, Если установленный кадровый буфер может поддерживать масштабируемые режимы с ненулевым horizontalScaledInset, verticalScaledInset поля.

    kIOScaleCanRotate, Если установленный кадровый буфер может поддерживать некоторые флаги в kIOScaleRotateFlags маске.

    kIOScaleCanBorderInsetOnly, Если установленный кадровый буфер может поддерживать масштабируемые режимы с ненулевым horizontalScaledInset, verticalScaledInset поля, но требует, чтобы активные пиксели были равны в размере области вставки, т.е. может сделать вставки с границей по сравнению с масштабированием изображения.

    maxHorizontalPixels

    Максимальное количество горизонтальных исходных пикселей (horizontalScaled).

    maxVerticalPixels

    Максимальное количество вертикальных исходных пикселей (verticalScaled).

    __reservedC

    Обнулить.

    Обсуждение

    Эта структура используется для определения пределов для режимов, запрограммированных как подробные синхронизации OS. Свойство данных с этой структурой под ключом kIOFBScalerInfoKey в кадровом буфере позволит OS программировать подробные синхронизации, масштабирующиеся к родному разрешению дисплеев.

  • Структура, определяющая пределы и атрибуты дисплея или кадрового буфера.

    Объявление

    Objective C

    struct IODisplayTimingRange { UInt32 __reservedA[2]; // Init to 0 UInt32 version; // Init to 0 UInt32 __reservedB[5]; // Init to 0 UInt64 minPixelClock; // Min dot clock in Hz UInt64 maxPixelClock; // Max dot clock in Hz UInt32 maxPixelError; // Max dot clock error UInt32 supportedSyncFlags; UInt32 supportedSignalLevels; UInt32 supportedSignalConfigs; UInt32 minFrameRate; // Hz UInt32 maxFrameRate; // Hz UInt32 minLineRate; // Hz UInt32 maxLineRate; // Hz UInt32 maxHorizontalTotal; // Clocks - Maximum total ( active + blanking) UInt32 maxVerticalTotal; // Clocks - Maximum total ( active + blanking) UInt32 __reservedD[2]; // Init to 0 UInt8 charSizeHorizontalActive; UInt8 charSizeHorizontalBlanking; UInt8 charSizeHorizontalSyncOffset; UInt8 charSizeHorizontalSyncPulse; UInt8 charSizeVerticalActive; UInt8 charSizeVerticalBlanking; UInt8 charSizeVerticalSyncOffset; UInt8 charSizeVerticalSyncPulse; UInt8 charSizeHorizontalBorderLeft; UInt8 charSizeHorizontalBorderRight; UInt8 charSizeVerticalBorderTop; UInt8 charSizeVerticalBorderBottom; UInt8 charSizeHorizontalTotal; // Character size for active + blanking UInt8 charSizeVerticalTotal; // Character size for active + blanking UInt16 __reservedE; // Reserved (Init to 0) UInt32 minHorizontalActiveClocks; UInt32 maxHorizontalActiveClocks; UInt32 minHorizontalBlankingClocks; UInt32 maxHorizontalBlankingClocks; UInt32 minHorizontalSyncOffsetClocks; UInt32 maxHorizontalSyncOffsetClocks; UInt32 minHorizontalPulseWidthClocks; UInt32 maxHorizontalPulseWidthClocks; UInt32 minVerticalActiveClocks; UInt32 maxVerticalActiveClocks; UInt32 minVerticalBlankingClocks; UInt32 maxVerticalBlankingClocks; UInt32 minVerticalSyncOffsetClocks; UInt32 maxVerticalSyncOffsetClocks; UInt32 minVerticalPulseWidthClocks; UInt32 maxVerticalPulseWidthClocks; UInt32 minHorizontalBorderLeft; UInt32 maxHorizontalBorderLeft; UInt32 minHorizontalBorderRight; UInt32 maxHorizontalBorderRight; UInt32 minVerticalBorderTop; UInt32 maxVerticalBorderTop; UInt32 minVerticalBorderBottom; UInt32 maxVerticalBorderBottom; UInt32 maxNumLinks; // number of links, if zero, assume link 1 UInt32 minLink0PixelClock; // min pixel clock for link (kHz) UInt32 maxLink0PixelClock; // max pixel clock for link (kHz) UInt32 minLink1PixelClock; // min pixel clock for link 1 (kHz) UInt32 maxLink1PixelClock; // max pixel clock for link 1 (kHz) UInt32 __reservedF[3]; // Init to 0 };

    Поля

    __reservedA

    Обнулить.

    version

    Обнулить.

    __reservedB

    Обнулить.

    minPixelClock

    минимальная пиксельная тактовая частота в диапазоне, в Гц.

    максимальная пиксельная тактовая частота в диапазоне, в Гц.

    maxPixelError

    самое большое изменение между тактовой частотой указанного и фактического пикселя, в Гц.

    supportedSyncFlags

    маска поддерживаемых синхронизирующих атрибутов. Следующее определяется:

    kIORangeSupportsSeparateSyncs - цифровые отдельные синхронизации.

    kIORangeSupportsSyncOnGreen - синхронизация на зеленом.

    kIORangeSupportsCompositeSync - составная синхронизация.

    kIORangeSupportsVSyncSerration - вертикальная синхронизация имеет импульсы коррекции и зазубренность.

    supportedSignalLevels

    маска возможных уровней сигнала. Следующее определяется:

    kIORangeSupportsSignal_0700_0300 0.700 - 0.300 В p-p.

    kIORangeSupportsSignal_0714_0286 0.714 - 0,286 В p-p.

    kIORangeSupportsSignal_1000_0400 1.000 - 0.400 В p-p.

    kIORangeSupportsSignal_0700_0000 0.700 - 0.000 В p-p.

    supportedSignalConfigs

    маска возможных сигнальных конфигураций. Следующее определяется:

    Поддержки kIORangeSupportsInterlacedCEATiming стиль CEA чередовали синхронизацию:

    Поле 1 вертикальное очищение = указало вертикальные строки очищения.

    Поле 2 вертикальное очищение = вертикальные строки очищения + 1 строка.

    Поле 1 вертикальное смещение = указало вертикальное синхронизирующее смещение.

    Поле 2 вертикальное смещение = указало вертикальное синхронизирующее смещение + 0,5 строки.

    Поддержки kIORangeSupportsInterlacedCEATimingWithConfirm стиль CEA чередовал синхронизацию, но потребуйте подтверждения.

    minFrameRate

    минимальная частота кадров (вертикальная частота обновления) в диапазоне, в Гц.

    maxFrameRate

    максимальная частота кадров (вертикальная частота обновления) в диапазоне, в Гц.

    minLineRate

    минимальная частота строчной развертки (горизонтальная частота обновления) в диапазоне, в Гц.

    maxLineRate

    максимальная частота строчной развертки (горизонтальная частота обновления) в диапазоне, в Гц.

    maxHorizontalTotal

    максимальные часы в горизонтальной строке (активный + очищающий).

    maxVerticalTotal

    максимальные строки в вертикальном кадре (активный + очищающий).

    __reservedD

    Обнулить.

    charSizeHorizontalActive

    horizontalActive должен быть кратным числом charSizeHorizontalActive.

    charSizeHorizontalBlanking

    horizontalBlanking должен быть кратным числом charSizeHorizontalBlanking.

    charSizeHorizontalSyncOffset

    horizontalSyncOffset должен быть кратным числом charSizeHorizontalSyncOffset.

    charSizeHorizontalSyncPulse

    horizontalSyncPulse должен быть кратным числом charSizeHorizontalSyncPulse.

    charSizeVerticalActive

    verticalActive должен быть кратным числом charSizeVerticalActive.

    charSizeVerticalBlanking

    verticalBlanking должен быть кратным числом charSizeVerticalBlanking.

    charSizeVerticalSyncOffset

    verticalSyncOffset должен быть кратным числом charSizeVerticalSyncOffset.

    charSizeVerticalSyncPulse

    verticalSyncPulse должен быть кратным числом charSizeVerticalSyncPulse.

    charSizeHorizontalBorderLeft

    horizontalBorderLeft должен быть кратным числом charSizeHorizontalBorderLeft.

    charSizeHorizontalBorderRight

    horizontalBorderRight должен быть кратным числом charSizeHorizontalBorderRight.

    charSizeVerticalBorderTop

    verticalBorderTop должен быть кратным числом charSizeVerticalBorderTop.

    charSizeVerticalBorderBottom

    verticalBorderBottom должен быть кратным числом charSizeVerticalBorderBottom.

    charSizeHorizontalTotal

    (horizontalActive + horizontalBlanking), должно быть кратное число charSizeHorizontalTotal.

    charSizeVerticalTotal

    (verticalActive + verticalBlanking), должно быть кратное число charSizeVerticalTotal.

    __reservedE

    Обнулить.

    minHorizontalActiveClocks

    минимальное значение horizontalActive.

    maxHorizontalActiveClocks

    максимальное значение horizontalActive.

    minHorizontalBlankingClocks

    минимальное значение horizontalBlanking.

    maxHorizontalBlankingClocks

    максимальное значение horizontalBlanking.

    minHorizontalSyncOffsetClocks

    минимальное значение horizontalSyncOffset.

    maxHorizontalSyncOffsetClocks

    максимальное значение horizontalSyncOffset.

    minHorizontalPulseWidthClocks

    минимальное значение horizontalPulseWidth.

    maxHorizontalPulseWidthClocks

    максимальное значение horizontalPulseWidth.

    minVerticalActiveClocks

    минимальное значение verticalActive.

    maxVerticalActiveClocks

    максимальное значение verticalActive.

    minVerticalBlankingClocks

    минимальное значение verticalBlanking.

    maxVerticalBlankingClocks

    максимальное значение verticalBlanking.

    minVerticalSyncOffsetClocks

    минимальное значение verticalSyncOffset.

    maxVerticalSyncOffsetClocks

    максимальное значение verticalSyncOffset.

    minVerticalPulseWidthClocks

    минимальное значение verticalPulseWidth.

    maxVerticalPulseWidthClocks

    максимальное значение verticalPulseWidth.

    minHorizontalBorderLeft

    минимальное значение horizontalBorderLeft.

    maxHorizontalBorderLeft

    максимальное значение horizontalBorderLeft.

    minHorizontalBorderRight

    минимальное значение horizontalBorderRight.

    maxHorizontalBorderRight

    максимальное значение horizontalBorderRight.

    minVerticalBorderTop

    минимальное значение verticalBorderTop.

    maxVerticalBorderTop

    максимальное значение verticalBorderTop.

    minVerticalBorderBottom

    минимальное значение verticalBorderBottom.

    maxVerticalBorderBottom

    максимальное значение verticalBorderBottom.

    maxNumLinks

    если нуль, 1 ссылка принята, число ссылок поддерживало.

    minLink0PixelClock

    минимальные пиксельные часы для ссылки 0 (kHz).

    maxLink0PixelClock

    максимальные пиксельные часы для ссылки 0 (kHz).

    minLink1PixelClock

    минимальные пиксельные часы для ссылки 1 (kHz).

    maxLink1PixelClock

    максимальные пиксельные часы для ссылки 1 (kHz).

    __reservedF

    Обнулить.

    Обсуждение

    Эта структура используется для определения пределов для режимов, запрограммированных как подробные синхронизации OS. VESA EDID является полезной справочной информацией для многих из этих полей. Свойство данных с этой структурой под ключом kIOFBTimingRangeKey в кадровом буфере позволит OS программировать подробные синхронизации, находящиеся в пределах его диапазона.

  • Структура, определяющая формат аппаратного курсора.

    Объявление

    Objective C

    struct IOHardwareCursorDescriptor { UInt16 majorVersion; UInt16 minorVersion; UInt32 height; UInt32 width; UInt32 bitDepth; // bits per pixel, or a QD/QT pixel type UInt32 maskBitDepth; // unused UInt32 numColors; // number of colors in the colorMap. ie. UInt32 *colorEncodings; UInt32 flags; UInt32 supportedSpecialEncodings; UInt32 specialEncodings[16]; };

    Поля

    majorVersion

    Набор к kHardwareCursorDescriptorMajorVersion.

    minorVersion

    Набор к kHardwareCursorDescriptorMinorVersion.

    height

    Максимальный размер курсора.

    width

    Максимальный размер курсора.

    bitDepth

    Биты на пиксель числа или пиксельный тип QD/QT, например kIO8IndexedPixelFormat, kIO32ARGBPixelFormat.

    maskBitDepth

    Неиспользованный.

    numColors

    Число цветов для индексируемых пиксельных типов.

    colorEncodings

    Указатель массива, указывающий пиксельные значения, соответствующие индексам в таблицу цветов, для индексируемых пиксельных типов.

    flags

    Ни одно определенное, обнуленное.

    supportedSpecialEncodings

    Маска поддерживаемых специальных пиксельных значений, например, kTransparentEncodedPixel, kInvertingEncodedPixel.

    specialEncodings

    Массив пиксельных значений для каждого поддерживаемого специального кодирования.

    Обсуждение

    Эта структура используется IOFramebuffer для определения формата аппаратного курсора.

  • Структура, определяющая преобразованные данные аппаратного курсора.

    Объявление

    Objective C

    struct IOHardwareCursorInfo { UInt16 majorVersion; UInt16 minorVersion; UInt32 cursorHeight; UInt32 cursorWidth; // nil or big enough for hardware's max colors IOColorEntry *colorMap; UInt8 *hardwareCursorData; UInt16 cursorHotSpotX; UInt16 cursorHotSpotY; UInt32 reserved[5]; };

    Поля

    majorVersion

    Набор к kHardwareCursorInfoMajorVersion.

    minorVersion

    Набор к kHardwareCursorInfoMinorVersion.

    cursorHeight

    Фактический размер курсора возвращается.

    cursorWidth

    Фактический размер курсора возвращается.

    colorMap

    Указатель на массив структур IOColorEntry, с числом элементов установлен numColors полем IOHardwareCursorDescriptor. Нуль должен быть передан для прямых форматов пикселя.

    hardwareCursorData

    Буфер для получения преобразованных данных курсора.

    cursorHotSpotX

    Горячая точка курсора.

    cursorHotSpotY

    Горячая точка курсора.

    reserved

    Зарезервированный, обнуленный.

    Обсуждение

    Эта структура используется IOFramebuffer для возврата данных аппаратного курсора convertCursorImage () после того, как преобразование на основе IOHardwareCursorDescriptor передало той подпрограмме.

  • Структура, определяющая формат кадрового буфера.

    Объявление

    Objective C

    struct IOPixelInformation { UInt32 bytesPerRow; UInt32 bytesPerPlane; UInt32 bitsPerPixel; UInt32 pixelType; UInt32 componentCount; UInt32 bitsPerComponent; UInt32 componentMasks[ 8 * 2 ]; IOPixelEncoding pixelFormat; UInt32 flags; UInt32 activeWidth; UInt32 activeHeight; UInt32 reserved[ 2 ]; };

    Поля

    bytesPerRow

    Число байтов на строку.

    bytesPerPlane

    Не используемый.

    bitsPerPixel

    Число бит на пиксель, включая неиспользованные биты и альфу.

    pixelType

    Один из kIOCLUTPixels (индексированные пиксели с изменяемым CLUT), kIORGBDirectPixels (прямые пиксели).

    componentCount

    Один для индексируемых пикселей, три для прямых форматов пикселя.

    bitsPerComponent

    Число битов на компонент в каждом пикселе.

    componentMasks

    Маска битов, допустимых для каждого компонента пикселя - в R, G, B упорядочивают для прямых пикселей.

    pixelFormat

    Строковое описание формата пикселя - IO32BitDirectPixels, IO16BitDirectPixels и т.д.

    flags

    Ни одно определенное - обнуленный.

    activeWidth

    Число пикселей, видимых на строку.

    activeHeight

    Число видимых пиксельных строк.

    reserved

    Обнулить.

    Обсуждение

    Эта структура используется IOFramebuffer для определения формата пикселей.