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

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

Разработчик

Системная ссылка платформы ссылка CVDisplayLink

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

На этой странице
Язык:

Ссылка CVDisplayLink

Когда данному дисплею будет нужен каждый кадр, Базовая ссылка Видеодисплея обеспечивает отдельный высокоприоритетный поток для уведомления приложения. Можно использовать ссылку дисплея для простой синхронизации с частотой обновления дисплея. Ссылка API дисплея использует Базовую систему Фундаментального класса внутренне для обеспечения поведения подсчета ссылок и других полезных свойств.

Функции

  • Создает ссылку дисплея для единственного дисплея.

    Объявление

    Swift

    func CVDisplayLinkCreateWithCGDisplay(_ displayID: CGDirectDisplayID, _ displayLinkOut: UnsafeMutablePointer<Unmanaged<CVDisplayLink>?>) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkCreateWithCGDisplay ( CGDirectDisplayID displayID, CVDisplayLinkRef *displayLinkOut );

    Параметры

    displayID

    Базовая Графика ID целевого дисплея.

    displayLinkOut

    На выводе, displayLinkOut точки к недавно создаваемой ссылке дисплея.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Используйте этот вызов для создания ссылки дисплея для единственного дисплея. Для получения дополнительной информации о типе идентификатора дисплея посмотрите CGDirectDisplayID.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

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

    Объявление

    Swift

    func CVDisplayLinkCreateWithActiveCGDisplays(_ displayLinkOut: UnsafeMutablePointer<Unmanaged<CVDisplayLink>?>) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkCreateWithActiveCGDisplays ( CVDisplayLinkRef *displayLinkOut );

    Параметры

    displayLinkOut

    На выводе, displayLinkOut точки к недавно создаваемой ссылке дисплея.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    CVDisplayLinkCreateWithActiveCGDisplays определяет дисплеи, активно используемые главным компьютером, и создает ссылку дисплея, совместимую со всеми ними. Для большинства приложений, вызывая эту функцию наиболее удобный способ создать ссылку дисплея. После создания можно присвоить ссылку дисплея к любому активному дисплею путем вызова CVDisplayLinkSetCurrentCGDisplay функция.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Создает ссылку дисплея для массива дисплеев.

    Объявление

    Swift

    func CVDisplayLinkCreateWithCGDisplays(_ displayArray: UnsafeMutablePointer<CGDirectDisplayID>, _ count: CFIndex, _ displayLinkOut: UnsafeMutablePointer<Unmanaged<CVDisplayLink>?>) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkCreateWithCGDisplays ( CGDirectDisplayID *displayArray, CFIndex count, CVDisplayLinkRef *displayLinkOut );

    Параметры

    displayArray

    Указатель на массив Базового Графического дисплея IDs, представляющий все активные мониторы, Вы хотите использовать с этой ссылкой дисплея.

    count

    Число дисплеев в массиве дисплея.

    displayLinkOut

    На выводе, displayLinkOut точки к недавно создаваемой ссылке дисплея.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Используйте этот вызов для создания ссылки дисплея для ряда дисплеев, идентифицированных Базовым Графическим дисплеем IDs. Для получения дополнительной информации о типе идентификатора дисплея посмотрите CGDirectDisplayID.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Создает ссылку дисплея из маски дисплея OpenGL.

    Объявление

    Swift

    func CVDisplayLinkCreateWithOpenGLDisplayMask(_ mask: CGOpenGLDisplayMask, _ displayLinkOut: UnsafeMutablePointer<Unmanaged<CVDisplayLink>?>) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkCreateWithOpenGLDisplayMask ( CGOpenGLDisplayMask mask, CVDisplayLinkRef *displayLinkOut );

    Параметры

    mask

    Маска дисплея OpenGL, описывающая доступные дисплеи.

    displayLinkOut

    На выводе, displayLinkOut точки к недавно создаваемой ссылке дисплея.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Используя эту функцию избегает иметь необходимость вызвать Базовую Графическую функцию CGOpenGLDisplayMaskToDisplayID.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Получает период обновления эффективной выходной мощности дисплея, как измерено к системному времени.

    Объявление

    Swift

    func CVDisplayLinkGetActualOutputVideoRefreshPeriod(_ displayLink: CVDisplayLink!) -> Double

    Objective C

    double CVDisplayLinkGetActualOutputVideoRefreshPeriod ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

    Ссылка дисплея для получения периода обновления от.

    Возвращаемое значение

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

    Обсуждение

    Этот вызов возвращает период обновления эффективной выходной мощности, вычисленный относительно системного времени (как измерено использование CVGetCurrentHostTime функция).

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Получает текущий дисплей, связанный со ссылкой дисплея.

    Объявление

    Swift

    func CVDisplayLinkGetCurrentCGDisplay(_ displayLink: CVDisplayLink!) -> CGDirectDisplayID

    Objective C

    CGDirectDisplayID CVDisplayLinkGetCurrentCGDisplay ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

    Ссылка дисплея, текущий дисплей которой Вы хотите получить.

    Возвращаемое значение

    Идентификатор, представляющий текущий дисплей. Для получения дополнительной информации о типе идентификатора дисплея посмотрите CGDirectDisplayID.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Получает ток («теперь») время данной ссылки дисплея.

    Объявление

    Swift

    func CVDisplayLinkGetCurrentTime(_ displayLink: CVDisplayLink!, _ outTime: UnsafeMutablePointer<CVTimeStamp>) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkGetCurrentTime ( CVDisplayLinkRef displayLink, CVTimeStamp *outTime );

    Параметры

    displayLink

    Ссылка дисплея, текущее время которой Вы хотите получить.

    outTime

    Указатель на a CVTimeStamp структура. Обратите внимание на то, что необходимо установить версию в структуре (в настоящее время 0) прежде, чем вызвать для указания, какую версию структуры метки времени Вы хотите.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Вы используете этот вызов для получения метки времени в настоящее время выводящегося на экран кадра.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Получает номинальный период обновления ссылки дисплея.

    Объявление

    Swift

    func CVDisplayLinkGetNominalOutputVideoRefreshPeriod(_ displayLink: CVDisplayLink!) -> CVTime

    Objective C

    CVTime CVDisplayLinkGetNominalOutputVideoRefreshPeriod ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

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

    Возвращаемое значение

    A CVTime структура, содержащая номинальный период обновления. Если недопустимая ссылка дисплея была указана, это значение неопределенно.

    Обсуждение

    Этот вызов позволяет получать идеальный период обновления устройства. Например, устройство вывода NTSC могло бы сообщить, что 1001/60000 представлял точную частоту кадровой развертки NTSC.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Получает номинальную задержку ссылки дисплея.

    Объявление

    Swift

    func CVDisplayLinkGetOutputVideoLatency(_ displayLink: CVDisplayLink!) -> CVTime

    Objective C

    CVTime CVDisplayLinkGetOutputVideoLatency ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

    Ссылка дисплея, значение задержки которой Вы хотите получить.

    Возвращаемое значение

    A CVTime структура, содержащая значение задержки. Это значение может быть неопределенным.

    Обсуждение

    Этот вызов позволяет Вам получать встроенную выходную задержку устройства. Например, устройство NTSC с одним кадром задержки могло бы сообщить 1001/30000 или 2002/60000.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Получает Базовую Основу, ID для дисплея соединяет тип данных.

    Объявление

    Swift

    func CVDisplayLinkGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CVDisplayLinkGetTypeID ( void );

    Возвращаемое значение

    Базовая Основа ID для этого типа.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Указывает, работает ли данная ссылка дисплея.

    Объявление

    Swift

    func CVDisplayLinkIsRunning(_ displayLink: CVDisplayLink!) -> Boolean

    Objective C

    Boolean CVDisplayLinkIsRunning ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

    Ссылка дисплея, выполненное состояние которой Вы хотите определить.

    Возвращаемое значение

    Возвраты true если ссылка дисплея работает, false иначе.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Выпускает ссылку дисплея.

    Объявление

    Objective C

    void CVDisplayLinkRelease ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

    Ссылка дисплея к выпуску. Эта функция NULL- безопасный.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Доступность

    Доступный в OS X v10.4 и позже.

  • Сохраняет ссылку дисплея.

    Объявление

    Objective C

    CVDisplayLinkRef CVDisplayLinkRetain ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

    Ссылка дисплея, которая будет сохранена. Эта функция NULL- безопасный.

    Возвращаемое значение

    Для удобства эта функция возвращает сохраненную ссылку дисплея в случае успеха.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Доступность

    Доступный в OS X v10.4 и позже.

  • Устанавливает текущий дисплей ссылки дисплея.

    Объявление

    Swift

    func CVDisplayLinkSetCurrentCGDisplay(_ displayLink: CVDisplayLink!, _ displayID: CGDirectDisplayID) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkSetCurrentCGDisplay ( CVDisplayLinkRef displayLink, CGDirectDisplayID displayID );

    Параметры

    displayLink

    Ссылка дисплея, дисплей которой Вы хотите установить.

    displayID

    ID дисплея, который будет установлен.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Выбирает ссылку дисплея, самую оптимальную для текущего средства рендеринга контекста OpenGL.

    Объявление

    Swift

    func CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext(_ displayLink: CVDisplayLink!, _ cglContext: CGLContextObj, _ cglPixelFormat: CGLPixelFormatObj) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext ( CVDisplayLinkRef displayLink, CGLContextObj cglContext, CGLPixelFormatObj cglPixelFormat );

    Параметры

    displayLink

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

    cglContext

    Контекст OpenGL для получения текущего средства рендеринга от.

    cglPixelFormat

    Формат пикселя OpenGL раньше создавал переданный - в контексте OpenGL.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Устанавливает выходную функцию обратного вызова средства рендеринга.

    Объявление

    Swift

    func CVDisplayLinkSetOutputCallback(_ displayLink: CVDisplayLink!, _ callback: CVDisplayLinkOutputCallback, _ userInfo: UnsafeMutablePointer<Void>) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkSetOutputCallback ( CVDisplayLinkRef displayLink, CVDisplayLinkOutputCallback callback, void *userInfo );

    Параметры

    displayLink

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

    callback

    Функция обратного вызова для установки для этой ссылки дисплея. Посмотрите CVDisplayLinkOutputCallback для получения дополнительной информации о реализации этой функции.

    userInfo

    Указатель на пользовательские данные.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Ссылка дисплея вызывает этот обратный вызов каждый раз, когда это хочет, чтобы Вы вывели кадр.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Активирует ссылку дисплея.

    Объявление

    Swift

    func CVDisplayLinkStart(_ displayLink: CVDisplayLink!) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkStart ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

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

    Возвращаемое значение

    Базовое Видео заканчивается код. Ссылка Констант Видео SeeCore для возможных значений.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Останавливает ссылку дисплея.

    Объявление

    Swift

    func CVDisplayLinkStop(_ displayLink: CVDisplayLink!) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkStop ( CVDisplayLinkRef displayLink );

    Параметры

    displayLink

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

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

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

    Если пользователь использует Быстрое переключение между пользователями, в OS X v.10.4 и позже, автоматически останавливается поток ссылки дисплея. Ссылка дисплея перезапущена при переключении назад на исходного пользователя.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Переводит время в основе времени ссылки дисплея от одного представления до другого.

    Объявление

    Swift

    func CVDisplayLinkTranslateTime(_ displayLink: CVDisplayLink!, _ inTime: UnsafePointer<CVTimeStamp>, _ outTime: UnsafeMutablePointer<CVTimeStamp>) -> CVReturn

    Objective C

    CVReturn CVDisplayLinkTranslateTime ( CVDisplayLinkRef displayLink, const CVTimeStamp *inTime, CVTimeStamp *outTime );

    Параметры

    displayLink

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

    inTime

    Указатель на a CVTimeStamp структура, содержащая исходное время для перевода.

    outTime

    Указатель на a CVTimeStamp структура, в которую записано целевое время. Перед вызовом необходимо установить поле версии (в настоящее время 0) указать, какую версию структуры Вы хотите. Необходимо также установить flags поле для указания, который представления перевести в.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Обратите внимание на то, что ссылка дисплея должна работать за этим вызовом для следования.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

Обратные вызовы

  • Определяет указатель на выходную функцию обратного вызова ссылки дисплея, которую вызывают каждый раз, когда ссылка дисплея хочет, чтобы приложение вывело кадр.

    Объявление

    Swift

    typealias CVDisplayLinkOutputCallback = CFunctionPointer<((CVDisplayLink!, UnsafePointer<CVTimeStamp>, UnsafePointer<CVTimeStamp>, CVOptionFlags, UnsafeMutablePointer<CVOptionFlags>, UnsafeMutablePointer<Void>) -> CVReturn)>

    Objective C

    typedef CVReturn (*CVDisplayLinkOutputCallback)( CVDisplayLinkRef displayLink, const CVTimeStamp *inNow, const CVTimeStamp *inOutputTime, CVOptionFlags flagsIn, CVOptionFlags *flagsOut, void *displayLinkContext );

    Параметры

    displayLink

    Ссылка дисплея, запрашивающая кадр.

    inNow

    Указатель на текущее время.

    inOutputTime

    Указатель на время, когда кадр будет выведен на экран.

    flagsIn

    В настоящее время неиспользованный. Передача 0.

    flagsOut

    В настоящее время неиспользованный. Передача 0.

    displayLinkContext

    Указатель на определенные с помощью приложения данные. Это - указатель, который Вы передали в CVDisplayLinkOutputCallback функционируйте при регистрации обратного вызова.

    Обсуждение

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

    Ваш обратный вызов должен получить кадр с меткой времени, указанной (inOutputTime параметр, управляйте им при желании (например, примените коррекцию цвета или карту в на поверхность), и затем выведите его к дисплею.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.3 и позже.

Типы данных

  • Ссылка на объект ссылки дисплея.

    Объявление

    Swift

    typealias CVDisplayLinkRef = CVDisplayLink

    Objective C

    typedef struct __CVDisplayLink *CVDisplayLinkRef;

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.3 и позже.

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

    Объявление

    Swift

    typealias CVOptionFlags = UInt64

    Objective C

    typedef uint64_t CVOptionFlags;

    Обсуждение

    Никакие флаги в настоящее время не определяются.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.3 и позже.