Ссылка CGPattern
CGPatternRef
непрозрачный тип представляет образец, который можно использовать, чтобы перечеркнуть вперед или заполнить графический контур. Кварц размещает ячейку образца рядом для Вас, на основе параметров, которые Вы указываете, когда Вы вызываете CGPatternCreate
.
Для создания пунктирной линии посмотрите CGContextSetLineDash
в ссылке CGContext.
-
Создает объект образца.
Объявление
Swift
func CGPatternCreate(_
info
: UnsafeMutablePointer<Void>, _bounds
: CGRect, _matrix
: CGAffineTransform, _xStep
: CGFloat, _yStep
: CGFloat, _tiling
: CGPatternTiling, _isColored
: Bool, _callbacks
: UnsafePointer<CGPatternCallbacks>) -> CGPattern!Objective C
CGPatternRef CGPatternCreate ( void *info, CGRect bounds, CGAffineTransform matrix, CGFloat xStep, CGFloat yStep, CGPatternTiling tiling, bool isColored, const CGPatternCallbacks *callbacks );
Параметры
info
Указатель на частное хранение, используемое Вашей функцией рисования образца, или
NULL
. Для получения дополнительной информации посмотрите обсуждение ниже.bounds
Ограничительная рамка ячейки образца, указанной в пространстве образца. (Пространство образца является абстрактным пространством, отображающимся на пространство пользователя по умолчанию матрицей преобразования, которую Вы указываете с
matrix
параметр.) Получение, сделанное в Вашей функции рисования образца, отсекается к этому прямоугольнику.matrix
Матрица, представляющая преобразование от пространства образца до пространства пользователя по умолчанию контекста, в котором используется образец. Если никакие не преобразовывают, необходим, передайте единичную матрицу.
xStep
Горизонтальное смещение между ячейками, указанными в пространстве образца. Ни для какого дополнительного горизонтального пространства между ячейками (так, чтобы каждый образец ячейки примкнул к предыдущей ячейке образца в горизонтальном направлении), передайте ширину ячейки образца.
yStep
Вертикальное смещение между ячейками, указанными в пространстве образца. Ни для какого дополнительного вертикального пространства между ячейками (так, чтобы каждый образец ячейки примкнул к предыдущей ячейке образца в вертикальном направлении), передайте высоту ячейки образца.
tiling
A
CGPatternTiling
постоянный, который указывает желаемый метод мозаичного размещения. Для получения дополнительной информации о мозаичном размещении методов, посмотрите“Tiling Patterns”
.isColored
Если Вы хотите нарисовать свой образец с помощью его собственного внутреннего цвета, передачи
true
. Если Вы хотите нарисовать бесцветное (или маскирующий) образец, использующий цвет заливки или цвет обводки в состоянии графики, передачеfalse
.callbacks
Указатель на таблицу функции обратного вызова образца — Ваша функция рисования образца является записью в этой таблице. Посмотрите
CGPatternCallbacks
для получения дополнительной информации о таблицах функции обратного вызова для образцов.Возвращаемое значение
Новый Кварцевый образец. Вы ответственны за выпуск этого объектного использования
CGPatternRelease
.Обсуждение
Кварц вызывает Вашу функцию получения в подходящее время для рисования ячейки образца. Ячейка образца должна быть инвариантной — т.е. ячейка образца должна быть нарисована точно тот же путь каждый раз, когда функция получения вызвана.
Появление ячейки образца незатронуто изменениями в состоянии графики контекста, в котором используется образец.
Посмотрите
CGPatternDrawPatternCallback
для получения дополнительной информации о функциях рисования образца.Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в версии 10.1 OS X и позже.
-
Возвращает идентификатор типа для Кварцевых образцов.
Объявление
Swift
func CGPatternGetTypeID() -> CFTypeID
Objective C
CFTypeID CGPatternGetTypeID ( void );
Возвращаемое значение
Идентификатор для непрозрачного типа
CGPatternRef
.Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в версии 10.2 OS X и позже.
-
Инкременты сохранить количество Кварцевого образца.
Объявление
Objective C
CGPatternRef CGPatternRetain ( CGPatternRef pattern );
Параметры
pattern
Образец для сохранения.
Возвращаемое значение
Тот же образец Вы передали в как
pattern
параметр.Обсуждение
Эта функция эквивалентна
CFRetain
, за исключением того, что это не вызывает ошибку еслиpattern
параметрNULL
.Оператор импорта
Objective C
@import CoreGraphics;
Доступность
Доступный в версии 10.1 OS X и позже.
-
Декременты сохранить количество Кварцевого образца.
Объявление
Objective C
void CGPatternRelease ( CGPatternRef pattern );
Параметры
pattern
Образец для выпуска.
Обсуждение
Эта функция эквивалентна
CFRelease
, за исключением того, что это не вызывает ошибку еслиpattern
параметрNULL
.Оператор импорта
Objective C
@import CoreGraphics;
Доступность
Доступный в версии 10.1 OS X и позже.
-
Рисует ячейку образца.
Объявление
Swift
typealias CGPatternDrawPatternCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, CGContext!) -> Void)>
Objective C
typedef void (*CGPatternDrawPatternCallback) ( void * info, CGContextRef context );
Параметры
info
Универсальный указатель на частные данные связался с образцом. Это - тот же указатель, к которому Вы предоставили
CGPatternCreate
.context
Графический контекст для рисования ячейки образца.
Обсуждение
Когда образец используется, чтобы перечеркнуть или заполнить графический контур, Кварц вызывает Вашу пользовательскую функцию получения в подходящее время для рисования ячейки образца. Ячейка должна быть нарисована точно тот же путь каждый раз, когда функция получения вызвана.
В функции получения, связанной с бесцветным образцом, Вы не должны пытаться выбрать цвет обводки или цвет заливки или цветовое пространство — если Вы делаете так, результат не определен.
Чтобы изучить, как связать Вашу функцию получения с Кварцевым образцом, посмотрите
CGPatternCreate
иCGPatternCallbacks
.Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.2 и позже.
-
Выпустите частные данные или ресурсы, связанные с образцом.
Объявление
Swift
typealias CGPatternReleaseInfoCallback = CFunctionPointer<((UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*CGPatternReleaseInfoCallback) ( void * info );
Параметры
info
Универсальный указатель на частные данные совместно используется среди Ваших функций обратного вызова. Это - тот же указатель, к которому Вы предоставили
CGPatternCreate
.Обсуждение
Кварц вызывает Вашу функцию выпуска, когда это освобождает Ваш объект образца.
Чтобы изучить, как связать Вашу функцию выпуска с Кварцевым образцом, посмотрите
CGPatternCreate
иCGPatternCallbacks
.Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.2 и позже.
-
Непрозрачный тип, представляющий образец.
Объявление
Swift
typealias CGPatternRef = CGPattern
Objective C
typedef struct CGPattern * CGPatternRef;
Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.1 и позже.
-
Структура, содержащая версию и две функции обратного вызова для рисования пользовательского образца.
Объявление
Swift
struct CGPatternCallbacks { var version: UInt32 var drawPattern: CGPatternDrawPatternCallback var releaseInfo: CGPatternReleaseInfoCallback }
Objective C
struct CGPatternCallbacks { unsigned int version; CGPatternDrawPatternCallback drawPattern; CGPatternReleaseInfoCallback releaseInfo; }; typedef struct CGPatternCallbacks CGPatternCallbacks;
Поля
version
Версия структуры передала в в качестве параметра
CGPatternCreate
. Для этой версии структуры необходимо обнулить это значение.drawPattern
Указатель на пользовательскую функцию, рисующую образец. Для получения информации об этой функции обратного вызова посмотрите
CGPatternDrawPatternCallback
.releaseInfo
Дополнительный указатель на пользовательскую функцию, это вызывается, когда выпущен образец.
CGPatternReleaseInfoCallback
.Обсуждение
Вы предоставляете a
CGPatternCallbacks
структура к функцииCGPatternCreate
создать провайдера данных для прямого доступа. Функции, указанныеCGPatternCallbacks
структура ответственна за рисование образца и за обработку управления памятью образца.Доступность
Доступный в OS X v10.1 и позже.
-
Различные методы для рендеринга мозаичного образца.
Объявление
Swift
struct CGPatternTiling { init(_
value
: UInt32) var value: UInt32 }Objective C
enum CGPatternTiling { kCGPatternTilingNoDistortion, kCGPatternTilingConstantSpacingMinimalDistortion, kCGPatternTilingConstantSpacing }; typedef enum CGPatternTiling CGPatternTiling;
Константы
-
kCGPatternTilingNoDistortion
kCGPatternTilingNoDistortion
Ячейка образца не искажена, когда нарисовано. Интервал между ячейками образца может варьироваться целым 1 пикселем устройства.
Доступный в OS X v10.1 и позже.
-
kCGPatternTilingConstantSpacingMinimalDistortion
kCGPatternTilingConstantSpacingMinimalDistortion
Ячейки образца последовательно располагаются с интервалами. Когда образец красится, ячейка образца может быть искажена целым 1 пикселем устройства.
Доступный в OS X v10.1 и позже.
-
kCGPatternTilingConstantSpacing
kCGPatternTilingConstantSpacing
Ячейки образца последовательно располагаются с интервалами, как с
kCGPatternTilingConstantSpacingMinimalDistortion
. Ячейка образца может быть искажена дополнительно для разрешения более эффективного внедрения.Доступный в OS X v10.1 и позже.
Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.1 и позже.
-