IOFramebuffer
Базовый класс для графических устройств, которые будут сделаны доступным как часть рабочего стола.
Базовый класс IOFramebuffer определяет APIs, используемый для публикации линейного устройства кадрового буфера. Писатели драйвера устройства должны разделить этот класс на подклассы для обеспечения X собственных драйверов. Mac OS X также использует 'ndrv' драйверы через подкласс IOFramebuffer IONDRVFramebuffer, который не требует, чтобы писатели драйвера устройства обеспечили X собственных драйверов.
Существуют не в клиентах ядра IOFramebuffer кроме элементарной консоли и пугают UI, поддерживаемый классом IOFramebuffer. Класс IOFramebuffer обеспечивает реализацию IOUserClient, чтобы позволить серверу CoreGraphics предоставлять пользователю доступный интерфейс для всех дисплеев в системе Mac OS X, и это далее разделено на уровни под средами разработки приложения. Писателям драйвера устройства не должно быть нужно никакое знание этой части интерфейсов. Так же переменные экземпляра IOFramebuffer главным образом используются для рендеринга курсора, который обрабатывает класс IOFramebuffer и должны избежать конструкторы подкласса. Только методы IOFramebuffer с документацией заголовка в этом заголовке разработаны для подклассов для реализации.
IOFramebuffer обеспечивает простую немую работу кадрового буфера - ускорение для 2D, 3D и видео может быть предоставлено отдельной реализацией класса IOAccelerator.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвратите информацию о смысле дисплея для устаревшего обнаружения Apple.
Объявление
C++
virtual IOReturn connectFlags( IOIndex
connectIndex
, IODisplayModeIDdisplayMode
, IOOptionBits *flags
);Параметры
connectIndex
Индекс соединения дисплея, от нуля до значения getConnectionCount ().
displayMode
Режим отображения ID.
flags
Возвратите значение флагов для данного режима с подключенным дисплеем. Флаги:
kDisplayModeValidFlag - режим считает допустимым для подключенного дисплея драйвер. kDisplayModeSafeFlag - режим считает безопасным (не требование подтверждения изменения режима) для подключенного дисплея драйвер. kDisplayModeDefaultFlag - режим считает значением по умолчанию для подключенного дисплея драйвер.
Возвращаемое значение
Код IOReturn.
Обсуждение
Аппаратные средства, поддерживающие простое обнаружение дисплея или классические 3 контакта обнаружение Apple, описанное в Разработке Карт и Драйверов, должны реализовать этот метод для возврата флагов режима относительно обнаруженного дисплея. Если этот метод не реализован, все режимы имеют, даны флаги kDisplayModeValidFlag | kDisplayModeSafeFlag.
-
Служебный метод IOFramebuffer преобразовать изображение курсора в аппаратный формат курсора.
Объявление
C++
virtual bool convertCursorImage( void *
cursorImage
, IOHardwareCursorDescriptor *description
, IOHardwareCursorInfo *cursor
);Параметры
cursorImage
Непрозрачный параметр курсора от setCursorImage () вызов.
description
Описывает формат курсора, поддерживаемый драйвером.
cursor
Структура, описывающая драйверы, выделила буфер для получения преобразованного изображения.
Возвращаемое значение
bool указание преобразования был успешен.
Обсуждение
Подклассы IOFramebuffer могут реализовать аппаратную функциональность курсора, раз так они должны передать изображение курсора, данное setCursorImage () метод, с описанием их аппаратного формата курсора, к этой функции помощника к этой подпрограмме для преобразования изображения в одно подходящее для аппаратных средств.
-
Выполните запрос I2C.
Объявление
C++
virtual IOReturn doI2CRequest( UInt32
bus
, struct IOI2CBusTiming *timing
, struct IOI2CRequest *request
);Параметры
request
Структура IOI2CRequest. Запрос должен быть выполнен синхронно, если подпрограммой завершения является NULL, иначе это может дополнительно быть выполнено асинхронно. Подпрограмму завершения нужно вызвать, если предоставлено.
Возвращаемое значение
код IOReturn. Если kIOReturnSuccces, результат транзакции возвращается в поле результата запросов.
Обсуждение
Подклассы IOFramebuffer могут дополнительно реализовать этот метод для выполнения запросов шины I2C на одной из шин, которые они поддерживают. Альтернативно они могут реализовать setDDCClock (), setDDCData (), readDDCClock (), readDDCData () методы и ответить от getAttributeForConnection () к атрибуту kConnectionSupportsLLDDCSense с успехом, когда IOFramebuffer:: doI2CRequest () выполнит реализацию программного обеспечения I2C с помощью низкоуровневых подпрограмм, и соответствование ограничениям синхронизации передало в параметре синхронизации. Подклассы могут передать параметры синхронизации, настроенные для определенной шины, иначе VESA, который применят значения по умолчанию DDC. подклассы события @timing могут передать параметры синхронизации, настроенные для определенной шины, иначе если ноль, VESA, который применят значения по умолчанию DDC.
-
Выполните в первый раз установку кадрового буфера.
Объявление
C++
virtual IOReturn enableController(
void
);Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны выполнить свою инициализацию аппаратных средств здесь. IOService запускаются (), метод не вызывают за один раз подходящий для этой инициализации.
-
Выполните любой необходимый кэш, сбрасывающий после рендеринга курсора программного обеспечения.
Объявление
C++
virtual void flushCursor(
void
);Обсуждение
Когда аппаратный курсор недоступен, IOFramebuffer реализует функциональность курсора программного обеспечения. Некоторые аппаратные средства, возможно, должны сбросить кэш после того, как процессор закончил снимать и отбрасывать курсор программного обеспечения.
-
Возвратите ссылку на объект IODeviceMemory, представляющий диапазон памяти кадрового буфера.
Объявление
C++
virtual IODeviceMemory * getApertureRange( IOPixelAperture
aperture
) = 0;Параметры
aperture
Система только получит доступ к апертуре kIOFBSystemAperture.
Возвращаемое значение
экземпляр IODeviceMemory. Ссылка будет использована вызывающей стороной для каждого вызова этого метода - implementatation должен создать новый экземпляр IODeviceMemory для каждого вызова или возвратить один экземпляр с сохранением для каждого вызова.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для описания памяти, используемой кадровым буфером в текущем режиме. OS отобразит этот диапазон памяти в пространство пользователя для клиентского доступа - диапазон должен только включать vram память не аппаратные регистры.
-
Возвратите информацию о смысле дисплея для устаревшего обнаружения Apple.
Объявление
C++
virtual IOReturn getAppleSense( IOIndex
connectIndex
, UInt32 *senseType
, UInt32 *primary
, UInt32 *extended
, UInt32 *displayType
);Параметры
connectIndex
Индекс соединения дисплея, от нуля до значения getConnectionCount ().
senseType
Возвратите нуль для указания устаревшего обнаружения Apple.
primary
Возвратите значение основного кода смысла Apple.
extended
Возвратите значение вторичного кода смысла Apple.
displayType
Возвратитесь Apple определил постоянный для типа обнаруженного дисплея. Например, kVGAConnect, kNTSCConnect, kPALConnect и т.д.
Возвращаемое значение
Код IOReturn.
Обсуждение
Аппаратные средства, поддерживающие простое обнаружение дисплея или классические 3 контакта обнаружение Apple, описанное в Разработке Карт и Драйверов, должны реализовать этот метод для возврата информации о смысле.
-
Общий метод получить некоторый атрибут устройства кадрового буфера.
Объявление
C++
virtual IOReturn getAttribute( IOSelect
attribute
, uintptr_t *value
);Параметры
attribute
Определяет атрибут, который будет установлен. Некоторые определенные атрибуты:
kIOHardwareCursorAttribute, Если устройство поддерживает аппаратный курсор и реализует setCursorImage () и setCursorState () вызовы, это должно возвратить true для этого атрибута.
value
Возвращает значение для атрибута.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать этот метод, чтобы позволить произвольным парам атрибут/значение быть возвращенными.
-
Общий метод получить некоторый атрибут устройства кадрового буфера, определенного для одного соединения дисплея.
Объявление
C++
virtual IOReturn getAttributeForConnection( IOIndex
connectIndex
, IOSelectattribute
, uintptr_t *value
);Параметры
attribute
Определяет атрибут, который будет возвращен. Некоторые определенные атрибуты:
kConnectionSupportsHLDDCSense, Если кадровый буфер поддерживает методы DDC hasDDCConnect () и getDDCBlock () это должно возвратить успех (и никакое значение) для этого атрибута.
kConnectionSupportsLLDDCSense, Если кадровый буфер хочет использовать IOFramebuffer:: реализация программного обеспечения doI2CRequest I2C, это должно реализовать методы I2C setDDCClock (), setDDCData (), readDDCClock (), readDDCData (), и это должно возвратить успех (и никакое значение) для этого атрибута.
value
Возвращает значение для атрибута.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать этот метод, чтобы позволить произвольным парам атрибут/значение быть возвращенными, определенный для одного соединения дисплея.
-
Сообщает число соединений дисплея о поддержках устройства, управляемых от одного кадрового буфера.
Объявление
C++
virtual IOItemCount getConnectionCount(
void
);Возвращаемое значение
Количество числа соединений дисплея, о которых сообщает кадровый буфер. Текущие версии OS X только поддерживают одно соединение полностью.
Обсуждение
Подклассы IOFramebuffer могут реализовать функциональность, где единственный кадровый буфер управляет многократными дисплеями. Это не рекомендуется или полностью поддерживается, и вместо этого мультиглавные карты должны реализовать многократные экземпляры объектов IOFramebuffer обеспечить полную функциональность.
-
getCurrentDisplayMode (IODisplayModeID *, IOIndex *) - getCurrentDisplayMode (IODisplayModeID *, IOIndex *)
Возвратите кадровые буферы текущий режим отображения и глубина.
Объявление
C++
virtual IOReturn getCurrentDisplayMode( IODisplayModeID *
displayMode
, IOIndex *depth
) = 0;Параметры
displayMode
Режим отображения ID, представляющий текущий режим.
depth
Индекс, указывающий конфигурацию глубины кадрового буфера. Индекс должен колебаться от нуля до значения maxDepthIndex поля от структуры IODisplayModeInformation для режима отображения.
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата текущего режима и глубины.
-
getCurrentDisplayMode (IODisplayModeID *, IOIndex *) - getCurrentDisplayMode (IODisplayModeID *, IOIndex *)
Возвратите режим отображения кадровых буферов и глубину, которая будет использоваться во время начальной загрузки и при запуске.
Объявление
C++
virtual IOReturn getStartupDisplayMode( IODisplayModeID *
displayMode
, IOIndex *depth
);Параметры
displayMode
Режим отображения ID, представляющий режим, используется во время запуска.
depth
Индекс, указывающий конфигурацию глубины кадрового буфера, используется во время запуска. Индекс должен колебаться от нуля до значения maxDepthIndex поля от структуры IODisplayModeInformation для режима отображения.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата текущего режима и глубины.
-
Возвратите дисплей данные EDID.
Объявление
C++
virtual IOReturn getDDCBlock( IOIndex
connectIndex
, UInt32blockNumber
, IOSelectblockType
, IOOptionBitsoptions
, UInt8 *data
, IOByteCount *length
);Параметры
connectIndex
Индекс соединения дисплея, от нуля до значения getConnectionCount ().
blockNumber
Номер блока, в пределах от одного к числу блоков возвращаются дисплеем.
blockType
kIODDCBlockTypeEDID будет передан.
options
Никакие опции в настоящее время не определяются.
data
Вызывающая сторона выделила буфер для получения блочных данных.
length
В / параметре - вызывающие стороны выделили размер буфера, драйвер возвращает фактический размер.
Возвращаемое значение
Код IOReturn.
Обсуждение
Аппаратные средства, поддерживающие обнаружение дисплея DDC/EDID, должны реализовать этот метод для возврата данных EDID в 128-байтовых блоках.
-
Возвратите число режимов отображения поддержки кадрового буфера.
Объявление
C++
virtual IOItemCount getDisplayModeCount(
void
) = 0;Возвращаемое значение
Количество доступных режимов отображения.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата количества доступных режимов отображения. Это количество должно измениться, если изменение соединения не отправляется для устройства, указал кадровый буфер, и/или конфигурация дисплея изменилась.
-
Возвратите число режимов отображения поддержки кадрового буфера.
Объявление
C++
virtual IOReturn getDisplayModes( IODisplayModeID *
allDisplayModes
) = 0;Параметры
allDisplayModes
Вызывающая сторона выделила буфер с размером, данным результатом getDisplayModeCount ().
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата массива режима отображения IDs, доступный для кадрового буфера. IDs определяется драйвером в диапазоне 0x00000001 - 0x7fffffff и должен быть постоянным для данного режима отображения.
-
Возвратите информацию о данном режиме отображения.
Объявление
C++
virtual IOReturn getInformationForDisplayMode( IODisplayModeID
displayMode
, IODisplayModeInformation *info
) = 0;Параметры
displayMode
Режим отображения ID, ранее возвращенный getDisplayModes ().
info
Указатель на структуру типа IODisplayModeInformation, чтобы быть заполненным драйвером. IODisplayModeInformation документируется в IOGraphicsTypes.h.
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата информации в структуре IODisplayModeInformation для режима отображения с переданным ID.
-
Перечислите форматы пикселя поддержки кадрового буфера.
Объявление
C++
virtual const char * getPixelFormats(
void
) = 0;Возвращаемое значение
Символ константы * указатель. Строка состоит из связи каждой строки формата пикселя, разделенной Символом Нулевого. Обычно поддерживаемые форматы пикселя для Mac OS X определяются как IO8BitIndexedPixels, IO16BitDirectPixels, IO32BitDirectPixels.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата массива строк, представляющих возможные форматы пикселя, доступные в кадровом буфере.
-
Устаревший.
Объявление
C++
virtual UInt64 getPixelFormatsForDisplayMode( IODisplayModeID
displayMode
, IOIndexdepth
) = 0;Параметры
displayMode
Проигнорированный.
depth
Проигнорированный.
Возвращаемое значение
Возвратите нуль.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата нуля.
-
Возвратите информацию о формате кадрового буфера для данного режима отображения и глубины.
Объявление
C++
virtual IOReturn getPixelInformation( IODisplayModeID
displayMode
, IOIndexdepth
, IOPixelApertureaperture
, IOPixelInformation *pixelInfo
) = 0;Параметры
displayMode
Режим отображения ID, ранее возвращенный getDisplayModes ().
depth
Индекс от нуля до значения maxDepthIndex поля от структуры IODisplayModeInformation (включительно).
info
Указатель на структуру типа IOPixelInformation, чтобы быть заполненным драйвером. IOPixelInformation документируется в IOGraphicsTypes.h.
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата информации в структуре IOPixelInformation для режима отображения с переданным ID, индексом глубины и апертурой. Апертура, используемая системой, всегда kIOFBSystemAperture. Драйверы могут определить альтернативные апертуры, будучи представлением кадрового буфера в различном формате пикселя от значения по умолчанию.
-
Возвратите режим отображения кадровых буферов и глубину, которая будет использоваться во время начальной загрузки и при запуске.
Объявление
C++
virtual IOReturn getStartupDisplayMode( IODisplayModeID *
displayMode
, IOIndex *depth
);Параметры
displayMode
Режим отображения ID, представляющий режим, используется во время запуска.
depth
Индекс, указывающий конфигурацию глубины кадрового буфера, используется во время запуска. Индекс должен колебаться от нуля до значения maxDepthIndex поля от структуры IODisplayModeInformation для режима отображения.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата текущего режима и глубины.
-
Возвращает описание синхронизации для режима отображения.
Объявление
C++
virtual IOReturn getTimingInfoForDisplayMode( IODisplayModeID
displayMode
, IOTimingInformation *info
);Параметры
displayMode
Режим отображения ID, представляющий режим для исследования.
info
Драйвер возвращает информацию для режима отображения в этой структуре.
Если режим имеет Apple, определенный постоянный, такие как timingVESA_1024x768_75hz, он должен быть возвращен в appleTimingID поле. Иначе поле должно быть установлено в timingInvalid.
Если драйвер в состоянии предоставить подробную информацию синхронизации, он должен возвратить его в detailedInfo.v2 поле структуры, иначе драйвер должен очистить флаг kIODetailedTimingValid от поля флагов.
Структура IODetailedTimingInformationV2 документируется в IOGraphicsTypes.h
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для возврата информации синхронизации для режима отображения. Это позволяет OS включать режимы отображения на основе его знания связанного типа дисплея. Два типа информации синхронизации определяются Apple, определенным постоянный, или подробным описанием параметров синхронизации режима.
-
Возвратите ссылку на объект IODeviceMemory, представляющий диапазон памяти всех карт vram.
Объявление
C++
virtual IODeviceMemory * getVRAMRange(
void
);Возвращаемое значение
экземпляр IODeviceMemory. Ссылка будет использована вызывающей стороной для каждого вызова этого метода - implementatation должен создать новый экземпляр IODeviceMemory для каждого вызова или возвратить один экземпляр с сохранением для каждого вызова.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для описания всей vram памяти, доступной на карте. OS отобразит этот диапазон памяти в пространство пользователя для клиентского доступа - диапазон должен только включать vram память не аппаратные регистры.
-
Уведомьте код суперкласса IOFramebuffer событий.
Объявление
C++
IOReturn handleEvent( IOIndex
event
, void *info = 0 );Параметры
event
Событие, произошедшее:
вызов kIOFBNotifyWillPowerOff прежде, чем ввести состояние кроме максимума.
вызов kIOFBNotifyDidPowerOn после ввода состояния максимальной мощности.
вызов kIOFBNotifyWillPowerOff прежде, чем ввести состояние кроме максимума.
вызов kIOFBNotifyDidPowerOn после ввода состояния кроме максимума.
info
Ни одно из вышеупомянутых событий не требует дополнительной информации, передает нуль.
Возвращаемое значение
код IOReturn, безопасно проигнорированный.
Обсуждение
Подклассы IOFramebuffer должны вызвать этот метод IOFramebuffer на определенных изменениях состояния электропитания.
-
Возвратитесь выводят на экран состояние подключения DDC.
Объявление
C++
virtual bool hasDDCConnect( IOIndex
connectIndex
);Параметры
connectIndex
Индекс соединения дисплея, от нуля до значения getConnectionCount ().
Возвращаемое значение
Истина, если обнаруживается дисплей DDC.
Обсуждение
Аппаратные средства, поддерживающие обнаружение дисплея DDC/EDID, должны реализовать этот метод для возвращения true, если обнаруживается дисплей DDC. Они должны также возвратить успех для атрибута соединения kConnectionSupportsHLDDCSense (от getAttributeForConnection ()).
-
Читает состояние ввода строки часов I2C на шине.
Объявление
C++
virtual bool readDDCClock( IOIndex
bus
);Параметры
bus
Индекс шины.
Возвращаемое значение
Булевская переменная, отражающая текущее состояние строки часов на данной шине.
Обсуждение
Кадровые буферы, использующие IOFramebuffer:: doI2CRequest () реализация программного обеспечения I2C должен реализовать этот метод для возврата состояния ввода строки часов I2C на данной шине. Иначе может быть не реализован.
-
Читает состояние ввода строки данных I2C на шине.
Объявление
C++
virtual bool readDDCData( IOIndex
bus
);Параметры
bus
Индекс шины.
Возвращаемое значение
Булевская переменная, отражающая текущее состояние строки данных на данной шине.
Обсуждение
Кадровые буферы, использующие IOFramebuffer:: doI2CRequest () реализация программного обеспечения I2C должен реализовать этот метод для возврата состояния ввода строки данных I2C на данной шине. Иначе может быть не реализован.
-
Обратные вызовы набора для драйвера для обращения к событиям прерывания.
Объявление
C++
virtual IOReturn registerForInterruptType( IOSelect
interruptType
, IOFBInterruptProcproc
, OSObject *target
, void *ref
, void **interruptRef
);Параметры
interruptType
Одна из этих констант:
kIOFBVBLInterruptType Указание вертикального прерывания очищения. kIOFBConnectInterruptType Указывают, что должно быть повторно обнаружено соединение дисплея.
proc
C обратный вызов, который вызовет драйвер, когда указанное событие имеет место.
target
Параметр Target для обратного вызова proc.
ref
Касательно параметра для обратного вызова proc.
interruptRef
Подкласс должен возвратить непрозрачную ссылку на установленного обработчика прерываний для использования с unregisterInterrupt () и setInterruptState ().
Возвращаемое значение
Код IOReturn.
Обсуждение
Класс IOFramebuffer вызовет свои подклассы для установки обратных вызовов, которые вызовут на событиях прерывания, сгенерированных аппаратными событиями. Только два используются в настоящее время - вертикальные пустые прерывания и соединение изменили прерывания.
-
Включите апертуру на кадровом буфере (обычно нереализовываемый, никакое использование OS).
Объявление
C++
virtual IOReturn setApertureEnable( IOPixelAperture
aperture
, IOOptionBitsenable
);Параметры
aperture
Устройство определенный апертурный индекс.
enable
Устройство определенная маска опций.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать этот метод для установки, включают нестандартную апертуру. Система не вызывает этот метод.
-
Общий метод установить некоторый атрибут устройства кадрового буфера.
Объявление
C++
virtual IOReturn setAttribute( IOSelect
attribute
, uintptr_tvalue
);Параметры
attribute
Определяет атрибут, который будет установлен. Некоторые определенные атрибуты:
kIOPowerAttribute класс IOFramebuffer реализует большую часть управления питанием (IOService) методы. Это вызывает подкласс для выполнения изменения состояния управления питанием с этим атрибутом. При выполнении изменений состояния электропитания подкласс должен вызвать IOFramebuffer:: handleEvent для определенных изменений - устанавливают тот метод для получения дополнительной информации.
value
Новое значение для атрибута.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать этот метод, чтобы позволить произвольным парам атрибут/значение быть установленными.
-
Общий метод установить некоторый атрибут устройства кадрового буфера, определенного для одного соединения дисплея.
Объявление
C++
virtual IOReturn setAttributeForConnection( IOIndex
connectIndex
, IOSelectattribute
, uintptr_tvalue
);Параметры
attribute
Определяет атрибут, который будет установлен. Некоторые определенные атрибуты:
когда атрибут kIOCapturedAttribute установлен в истину, kIOCapturedAttribute, Если поддержки устройства, заменяющие дисплеи в горячем режиме, это должно отключить генерацию прерываний замены в горячем режиме.
value
Новое значение для атрибута.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать этот метод, чтобы позволить произвольным парам атрибут/значение быть установленными, определенный для одного соединения дисплея.
-
Установите таблицу цветов, которая будет использоваться кадровым буфером в индексируемых режимах.
Объявление
C++
virtual IOReturn setCLUTWithEntries( IOColorEntry *
colors
, UInt32index
, UInt32numEntries
, IOOptionBitsoptions
);Параметры
colors
Указатель на массив numEntries RGB окрашивает записи.
index
Индекс первой записи в установленный.
numEntries
Число записей в таблице.
options
Опции, управляющие работой.
kSetCLUTByValue установлен, если индексное поле каждой записи должно использоваться для накрытия на стол редко, иначе последовательные записи от индексного параметра должны быть установлены.
kSetCLUTImmediately установлен, если набор CLUT не должен синхронизироваться с вертикальным пробелом, иначе это должно.
если CLUT должен быть установлен в уровень яркости, эквивалентный в яркости к переданной цветной записи, kSetCLUTWithLuminance установлен.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать этот метод, чтобы позволить палитре быть установленной для режимов индексного представления. Это не вызовут на кадровых буферах в прямых режимах отображения.
-
Установите кадровые буферы текущий режим отображения и глубина.
Объявление
C++
virtual IOReturn setDisplayMode( IODisplayModeID
displayMode
, IOIndexdepth
);Параметры
displayMode
Режим отображения ID, представляющий новый режим.
depth
Индекс, указывающий новую конфигурацию глубины кадрового буфера. Индекс должен колебаться от нуля до значения maxDepthIndex поля от структуры IODisplayModeInformation для режима отображения.
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для установки текущего режима и глубины. Кроме в enableController () время, это - единственный метод, который должен изменить формат кадрового буфера и синхронизируется с клиентами и присоединенными акселераторами, чтобы удостовериться, что доступ к устройству запрещен во время изменения.
-
Установите новое изображение для аппаратного курсора.
Объявление
C++
virtual IOReturn setCursorImage( void *
cursorImage
);Параметры
cursorImage
Непрозрачное описание курсора. Это должно быть передано convertCursorImage () метод для преобразования в формат, определенный для аппаратных средств.
Возвращаемое значение
Код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать аппаратную функциональность курсора, раз так они должны реализовать этот метод для изменения аппаратного изображения курсора. Изображение должно быть передано convertCursorImage (), метод с каждым типом курсора форматирует поддержку оборудования до успеха, если возвратился весь сбой, аппаратный курсор должен быть скрыт и kIOReturnUnsupported.
-
Установите новую позицию и видимость для аппаратного курсора.
Объявление
C++
virtual IOReturn setCursorState( SInt32
x
, SInt32y
, boolvisible
);Параметры
x
Оставленная координата изображения курсора. Значение со знаком, будет отрицательно, если горячая точка и позиция курсора поместят его частично вне экрана.
y
Главная координата изображения курсора. Значение со знаком, будет отрицательно, если горячая точка и позиция курсора поместят его частично вне экрана.
visible
Видимое состояние курсора.
Возвращаемое значение
Код IOReturn.
Обсуждение
Подклассы IOFramebuffer могут реализовать аппаратную функциональность курсора, раз так они должны реализовать этот метод, чтобы сменить положение и видимость курсора.
-
Устанавливает состояние строки часов I2C на шине.
Объявление
C++
virtual void setDDCClock( IOIndex
bus
, UInt32value
);Параметры
bus
Индекс шины.
value
Один из kIODDCLow, kIODDCHigh, kIODDCTristate.
Обсуждение
Кадровые буферы, использующие IOFramebuffer:: doI2CRequest () реализация программного обеспечения I2C должен реализовать этот метод для установки состояния строки часов I2C на данной шине. Иначе может быть не реализован.
-
Устанавливает состояние строки данных I2C на шине.
Объявление
C++
virtual void setDDCData( IOIndex
bus
, UInt32value
);Параметры
bus
Индекс шины.
value
Один из kIODDCLow, kIODDCHigh, kIODDCTristate.
Обсуждение
Кадровые буферы, использующие IOFramebuffer:: doI2CRequest () реализация программного обеспечения I2C должен реализовать этот метод для установки состояния строки данных I2C на данной шине. Иначе может быть не реализован.
-
Устанавливает массив запрограммированных подробных синхронизаций OS, которые будут сделаны доступным драйвером.
Объявление
C++
virtual IOReturn setDetailedTimings( OSArray *
array
);Параметры
array
OSArray объектов OSData. Каждый OSData содержит одну структуру IODetailedTimingInformationV2. Все данные, описанные массивом, должны быть скопированы или сохранены этим вызовом до следующего вызова этого метода.
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система установила программируемые режимы.
Обсуждение
Подклассы IOFramebuffer могут реализовать программируемую функциональность режима, где OS в состоянии установить режимы, описанные подробной синхронизацией в драйвер. Драйвер должен добавить эти режимы к своему внутреннему списку режима, если он обеспечивает эту функциональность.
-
Установите кадровые буферы текущий режим отображения и глубина.
Объявление
C++
virtual IOReturn setDisplayMode( IODisplayModeID
displayMode
, IOIndexdepth
);Параметры
displayMode
Режим отображения ID, представляющий новый режим.
depth
Индекс, указывающий новую конфигурацию глубины кадрового буфера. Индекс должен колебаться от нуля до значения maxDepthIndex поля от структуры IODisplayModeInformation для режима отображения.
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система использовала устройство.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для установки текущего режима и глубины. Кроме в enableController () время, это - единственный метод, который должен изменить формат кадрового буфера и синхронизируется с клиентами и присоединенными акселераторами, чтобы удостовериться, что доступ к устройству запрещен во время изменения.
-
Накройте на гамма стол, который будет использоваться кадровым буфером.
Объявление
C++
virtual IOReturn setGammaTable( UInt32
channelCount
, UInt32dataCount
, UInt32dataWidth
, void *data
);Параметры
channelCount
Определяет число каналов в данных, которыми снабжают. Если те же данные должны примениться ко всем каналам, OS X передаст три для отдельного R, G, B данные или тот.
dataCount
Число вводов данных на канал.
dataWidth
Число битов в каждой записи. 8 для Mac OS X 10.1 и ранее, 16 для более поздних выпусков.
data
Упакованный массив данных исправления. Данные передаются для R (или единственные) канал, сопровождаемый G & B channels. Каждая запись составляет один или два байта (если dataWidth> 8).
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод, чтобы позволить гамма таблице быть установленной.
-
Включите или отключите обратный вызов, ранее установленный registerForInterruptType ().
Объявление
C++
virtual IOReturn setInterruptState( void *
interruptRef
, UInt32state
);Параметры
state
Истина или ложь для включения обратного вызова.
Возвращаемое значение
Код IOReturn.
Обсуждение
Включите или отключите обратный вызов, ранее установленный registerForInterruptType ().
-
Установите режим отображения кадровых буферов и глубину, которая будет использоваться во время начальной загрузки и при запуске.
Объявление
C++
virtual IOReturn setStartupDisplayMode( IODisplayModeID
displayMode
, IOIndexdepth
);Параметры
displayMode
Режим отображения ID, представляющий новый режим запуска.
depth
Индекс, указывающий новую конфигурацию глубины запуска кадрового буфера. Индекс должен колебаться от нуля до значения maxDepthIndex поля от структуры IODisplayModeInformation для режима отображения.
Возвращаемое значение
код IOReturn.
Обсуждение
Подклассы IOFramebuffer должны реализовать этот метод для установки режима и глубины, которая будет использоваться во время начальной загрузки и при запуске, сократит необходимые изменения режима во время начальной загрузки, когда тип соединения дисплея является тем же. Если возможно этот режим должен также использоваться драйвером OpenFirmware для карты.
-
Удалите обратный вызов, ранее установленный registerForInterruptType ().
Объявление
C++
virtual IOReturn unregisterInterrupt( void *
interruptRef
);Параметры
interruptRef
interruptRef возвратился из вызова registerForInterruptType, установившего прерывание.
Возвращаемое значение
Код IOReturn.
Обсуждение
Удалите обратный вызов, ранее установленный registerForInterruptType ().
-
Включите или отключите обратный вызов, ранее установленный registerForInterruptType ().
Объявление
C++
virtual IOReturn setInterruptState( void *
interruptRef
, UInt32state
);Параметры
state
Истина или ложь для включения обратного вызова.
Возвращаемое значение
Код IOReturn.
Обсуждение
Включите или отключите обратный вызов, ранее установленный registerForInterruptType ().
-
Отчеты, в состоянии ли подробная синхронизация быть запрограммированной с устройством.
Объявление
C++
virtual IOReturn validateDetailedTiming( void *
description
, IOByteCountdescripSize
);Параметры
description
Указатель на структуру IODetailedTimingInformationV2. Драйвер должен исследовать это описание и изменить любые поля, которые это не может реализовать для отражения его самой близкой реализации.
descripSize
sizeof (IODetailedTimingInformationV2)
Возвращаемое значение
код IOReturn. Возврат кроме kIOReturnSuccess будет препятствовать тому, чтобы система установила программируемый режим.
Обсуждение
Подклассы IOFramebuffer могут реализовать программируемую функциональность режима, где OS в состоянии установить режимы, описанные подробной синхронизацией в драйвер.
-
Объявление
C++
struct ExpansionData { };
Обсуждение
Эта структура будет использоваться для расширения capablilties этого класса в будущем.
-
Зарезервированный для будущего использования. (Только внутреннее использование)
Объявление
C++
ExpansionData * reserved;