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

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

Разработчик

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

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

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

Ссылка CGLayer

Объекты CGLayer полезны для внеэкранного получения и могут использоваться почти таким же способом, которым может использоваться растровый контекст. Фактически, объект CGLayer является намного лучшим представлением, чем растровый контекст.

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

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

Когда Вы хотите применить тень к группе объектов (таких как группа кругов), а не к отдельным объектам, можно использовать CGLayer.

Используйте эти уровни в своем коде каждый раз, когда Вы можете, особенно когда:

  • Необходимо снова использовать заполненную или перечеркиваемую форму.

  • Вы создаете сцену, и по крайней мере часть ее может быть снова использована. Вставьте допускающее повторное использование получение его собственный CGLayer.

Любой CG возражает, что Вы неоднократно рисуете — включая CGPath, CGShading, и CGPDFPage — получают преимущества от улучшенной производительности при рисовании его к объекту CGLayer.

Функции

  • Создает объект CGLayer, связанный с графическим контекстом.

    Объявление

    Swift

    func CGLayerCreateWithContext(_ context: CGContext!, _ size: CGSize, _ auxiliaryInfo: CFDictionary!) -> CGLayer!

    Objective C

    CGLayerRef CGLayerCreateWithContext ( CGContextRef context, CGSize size, CFDictionaryRef auxiliaryInfo );

    Параметры

    context

    Графический контекст Вы хотите создать уровень относительно. Уровень использует этот графический контекст в качестве ссылки для инициализации.

    size

    Размер, в модулях пространства пользователя по умолчанию, уровня относительно графического контекста.

    auxiliaryInfo

    Зарезервированный для будущего использования. Передача NULL.

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

    Объект CGLayer. Вы ответственны за выпуск этого объекта с помощью функции CGLayerRelease когда Вам больше не нужен уровень.

    Обсуждение

    После создания объекта CGLayer необходимо снова использовать его каждый раз, когда Вы можете для упрощения Кварцевой стратегии кэширования. Кварц кэширует любые объекты, снова использующиеся, включая объекты CGLayer. Объекты, снова использующиеся часто, остаются в кэше. Напротив, объекты, использующиеся время от времени, могут быть перемещены в и из кэша согласно их частоте использования. Если Вы не снова используете объекты CGLayer, то Кварц не будет кэшировать их. Это означает потерю возможности улучшить производительность приложения.

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

  • Вовлекает содержание объекта CGLayer в указанный прямоугольник.

    Объявление

    Swift

    func CGContextDrawLayerInRect(_ context: CGContext!, _ rect: CGRect, _ layer: CGLayer!)

    Objective C

    void CGContextDrawLayerInRect ( CGContextRef context, CGRect rect, CGLayerRef layer );

    Параметры

    context

    Графический контекст связался с уровнем.

    rect

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

    layer

    Уровень, содержание которого Вы хотите нарисовать.

    Обсуждение

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

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

  • Рисует содержание объекта CGLayer в указанной точке.

    Объявление

    Swift

    func CGContextDrawLayerAtPoint(_ context: CGContext!, _ point: CGPoint, _ layer: CGLayer!)

    Objective C

    void CGContextDrawLayerAtPoint ( CGContextRef context, CGPoint point, CGLayerRef layer );

    Параметры

    context

    Графический контекст связался с уровнем.

    point

    Расположение, в текущих координатах пространства пользователя, для использования в качестве источника для получения.

    layer

    Уровень, содержание которого Вы хотите нарисовать.

    Обсуждение

    Вызывание функции CGContextDrawLayerAtPoint эквивалентно вызыванию функции CGContextDrawLayerInRect с прямоугольником, возникающим в point и его размер равняется размеру уровня.

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

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

    Объявление

    Objective C

    void CGLayerRelease ( CGLayerRef layer );

    Параметры

    layer

    Уровень для выпуска.

    Обсуждение

    Эта функция эквивалентна вызову CFRelease (layer) за исключением того, что это не отказывает (как CFRetain делает), если layer параметр null.

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

    Objective C

    @import CoreGraphics;

    Доступность

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

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

    Объявление

    Objective C

    CGLayerRef CGLayerRetain ( CGLayerRef layer );

    Параметры

    layer

    Уровень для сохранения.

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

    Тот же уровень Вы передали в как layer параметр.

    Обсуждение

    Эта функция эквивалентна вызову CFRetain (layer) за исключением того, что это не отказывает (как CFRetain делает), если layer параметр null.

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

    Objective C

    @import CoreGraphics;

    Доступность

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

  • Возвращает уникальный идентификатор типа, используемый для объектов CGLayer.

    Объявление

    Swift

    func CGLayerGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CGLayerGetTypeID ( void );

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

    Идентификатор типа для объектов CGLayer.

    Обсуждение

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

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

  • Возвращает ширину и высоту объекта CGLayer.

    Объявление

    Swift

    func CGLayerGetSize(_ layer: CGLayer!) -> CGSize

    Objective C

    CGSize CGLayerGetSize ( CGLayerRef layer );

    Параметры

    layer

    Уровень, ширину которого и высоту Вы хотите получить.

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

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

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

  • Возвращает графический контекст, связанный с объектом CGLayer.

    Объявление

    Swift

    func CGLayerGetContext(_ layer: CGLayer!) -> CGContext!

    Objective C

    CGContextRef CGLayerGetContext ( CGLayerRef layer );

    Параметры

    layer

    Уровень, графический контекст которого Вы хотите получить.

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

    Графический контекст связался с уровнем.

    Обсуждение

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

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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

Типы данных

  • Непрозрачный тип используется для внеэкранного получения.

    Объявление

    Swift

    typealias CGLayerRef = CGLayer

    Objective C

    typedef struct CGLayer *CGLayerRef;

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

    Objective C

    @import CoreGraphics;

    Swift

    import CoreGraphics

    Доступность

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