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

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

Разработчик

Ссылка платформы ApplicationServices ссылка CGFunction

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

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

Ссылка CGFunction

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

Кварц использует объекты CGFunction реализовать штриховки. Ссылка CGShading описывает параметры и семантику, требуемую для обратных вызовов, используемых объектами CGFunction.

Функции

  • Создает Кварцевую функцию.

    Объявление

    Swift

    func CGFunctionCreate(_ info: UnsafeMutablePointer<Void>, _ domainDimension: UInt, _ domain: UnsafePointer<CGFloat>, _ rangeDimension: UInt, _ range: UnsafePointer<CGFloat>, _ callbacks: UnsafePointer<CGFunctionCallbacks>) -> CGFunction!

    Objective C

    CGFunctionRef CGFunctionCreate ( void *info, size_t domainDimension, const CGFloat *domain, size_t rangeDimension, const CGFloat *range, const CGFunctionCallbacks *callbacks );

    Параметры

    info

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

    domainDimension

    Число вводов.

    domain

    Массив (2*domainDimension) плавания раньше указывали допустимые интервалы входных значений. Для каждого k от 0 к (domainDimension - 1), domain[2*k] должно быть меньше чем или равно domain[2*k+1], и kвходное значение th будет отсечено для расположения в интервале domain[2*k] . Если этот параметр NULL, тогда входные значения не отсекаются.

    rangeDimension

    Число выводов.

    range

    Массив (2*rangeDimension) плавания, который указывает допустимые интервалы выходных значений. Для каждого k от 0 к (rangeDimension - 1), range[2*k] должно быть меньше чем или равно range[2*k+1], и kвыходное значение th будет отсечено для расположения в интервале range[2*k] . Если этот параметр NULL, тогда выходные значения не отсекаются.

    callbacks

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

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

    Новая Кварцевая функция. Вы ответственны за выпуск этого объектного использования CGFunctionRelease.

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

  • Декременты сохранить количество функционального объекта.

    Объявление

    Objective C

    void CGFunctionRelease ( CGFunctionRef function );

    Параметры

    function

    Функциональный объект для выпуска.

    Обсуждение

    Эта функция эквивалентна CFRelease, за исключением того, что это не вызывает ошибку если function параметр NULL.

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

    Objective C

    @import CoreGraphics;

    Доступность

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

  • Инкременты сохранить количество функционального объекта.

    Объявление

    Objective C

    CGFunctionRef CGFunctionRetain ( CGFunctionRef function );

    Параметры

    function

    Тот же функциональный объект Вы передали в как function параметр.

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

    Обсуждение

    Эта функция эквивалентна CFRetain, за исключением того, что это не вызывает ошибку если function параметр NULL.

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

    Objective C

    @import CoreGraphics;

    Доступность

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

  • Возвращает идентификатор типа для Кварцевых функциональных объектов.

    Объявление

    Swift

    func CGFunctionGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CGFunctionGetTypeID ( void );

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

    Идентификатор для непрозрачного типа CGFunctionRef.

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

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

  • Выполняет пользовательские операции на входных данных, которыми снабжают, для создания выходных данных.

    Объявление

    Swift

    typealias CGFunctionEvaluateCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafePointer<CGFloat>, UnsafeMutablePointer<CGFloat>) -> Void)>

    Objective C

    typedef void (*CGFunctionEvaluateCallback) ( void *info, const float *inData, float *outData );

    Параметры

    info

    info параметр передал CGFunctionCreate.

    inData

    Массив плаваний. Размер массива - указанный domainDimension параметр передал CGFunctionCreate функция.

    outData

    Массив плаваний. Размер массива - указанный rangeDimension параметр передал CGFunctionCreate функция.

    Обсуждение

    Обратный вызов, который Вы пишете, ответственен за реализацию вычисления выходных значений от предоставленных входных значений. Например, если Вы хотите реализовать простую функцию «обработки на квадрат» одного входного аргумента к одному выходному параметру, Ваша функция оценки могла бы быть:

    • void evaluateSquare(void *info, const float *inData, float *outData)
    • {
    • outData[0] = inData[0] * inData[0];
    • }

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

  • Когда Кварц освобождает объект CGFunction, выполняет пользовательские задачи очистки.

    Объявление

    Swift

    typealias CGFunctionReleaseInfoCallback = CFunctionPointer<((UnsafeMutablePointer<Void>) -> Void)>

    Objective C

    typedef void (*CGFunctionReleaseInfoCallback) ( void *info );

    Параметры

    info

    info параметр передал CGFunctionCreate.

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

Типы данных

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

    Объявление

    Swift

    typealias CGFunctionRef = CGFunction

    Objective C

    typedef struct CGFunction *CGFunctionRef;

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

  • Структура, содержащая обратные вызовы, необходимые объекту CGFunction.

    Объявление

    Swift

    struct CGFunctionCallbacks { var version: UInt32 var evaluate: CGFunctionEvaluateCallback var releaseInfo: CGFunctionReleaseInfoCallback }

    Objective C

    struct CGFunctionCallbacks { unsigned int version; CGFunctionEvaluateCallback evaluate; CGFunctionReleaseInfoCallback releaseInfo }; typedef struct CGFunctionCallbacks CGFunctionCallbacks;

    Поля

    version

    Номер версии структуры. Для этой структуры версия должна быть 0.

    evaluate

    Обратный вызов, оценивающий функцию.

    releaseInfo

    Если не -NULL, обратный вызов раньше выпускал info параметр передал CGFunctionCreate.

    Доступность

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