QCPlugInContext
QCPlugInContext
протокол определяет методы, которые Вы используете только из метода выполнения (execute:atTime:withArguments:
) из a QCPlugIn
объект.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Quartz
Objective C
@import Quartz;
Доступность
Доступный в OS X v10.5 и позже.
-
CGLContextObj () - CGLContextObj
ТребуемыйВозвращает целевой контекст CGL для использования для рендеринга OpenGL из метода выполнения. (требуемый)
Возвращаемое значение
Целевой контекст CGL.
Обсуждение
Отправить команды в контекст OpenGL:
Используйте макросы CGL вместо того, чтобы изменить текущий контекст OpenGL.
Сохраните и восстановите все состояния OpenGL кроме тех, определяет
GL_CURRENT_BIT
(позиция вершины, цвет, текстура, и т.д.)
Следующий код показывает, как Вы использовали бы метод
CGLContextObj
:// Set up using CGL macros.
#import <OpenGL/CGLMacro.h>
- (BOOL) execute:(id<QCPlugInContext>)context
atTime:(NSTimeInterval)time
withArguments:(NSDictionary *)arguments
{
// Set the CGL context to a local variable.
CGLContextObj cgl_ctx = [context CGLContextObj];
if(cgl_ctx == NULL)
return NO;
// Save and set OpenGL states.
// Put your OpenGL code here.
// Restore the OpenGL states.
return YES;
}
Можно получить соответствующий формат пикселя OpenGL путем вызывания функции
CGLGetPixelFormat
.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
logMessage: - logMessage:
ТребуемыйПишет сообщение в Кварцевый журнал Композитора. (требуемый)
Объявление
Objective C
- (void)logMessage:(NSString *)
format
,...
Параметры
format
Строка для записи в журнал. Расположение по умолчанию для журнала является стандартным выводом.
Обсуждение
Этот метод является альтернативой использованию функций
NSLog
илиprintf
.Оператор импорта
Objective C
@import Quartz;
Доступность
Доступный в OS X v10.5 и позже.
-
userInfo () - userInfo
ТребуемыйВозвращает непостоянный словарь, содержащий информацию, которой можно поделиться между всеми экземплярами
QCPlugIn
подкласс, работающий в том же Кварцевом контексте Композитора. (требуемый)Объявление
Swift
func userInfo() -> NSMutableDictionary!
Objective C
- (NSMutableDictionary *)userInfo
Возвращаемое значение
Непостоянный словарь.
Обсуждение
Когда Вы добавляете информацию к словарю, удостоверьтесь, что Вы используете уникальные ключи, такой как
com.myCompany.foo
. Можно использовать этот словарь для данных кэша, которые Вы хотите совместно использовать.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
границы () - границы
ТребуемыйВозвращает границы контекста рендеринга. (требуемый)
Возвращаемое значение
Границы контекста рендеринга выражены в Кварцевых модулях Композитора.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает цветовое пространство, использованное контекстом рендеринга. (требуемый)
Объявление
Swift
func colorSpace() -> Unmanaged<CGColorSpace>!
Objective C
- (CGColorSpaceRef)colorSpace
Возвращаемое значение
Цветовое пространство RGB;
NULL
если пользовательский режим выполнения патча не является потребителем.Обсуждение
Если метод возвращает цветовое пространство, это должно быть цветовое пространство RGB.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
outputImageProviderFromBufferWithPixelFormat(_:pixelsWide:pixelsHigh:baseAddress:bytesPerRow:releaseCallback:releaseContext:colorSpace:shouldColorMatch:) - outputImageProviderFromBufferWithPixelFormat:pixelsWide:pixelsHigh:baseAddress:bytesPerRow:releaseCallback:releaseContext:colorSpace:shouldColorMatch:
ТребуемыйВозвращает провайдера изображения из единственного буфера памяти. (требуемый)
Объявление
Swift
func outputImageProviderFromBufferWithPixelFormat(_
format
: String!, pixelsWidewidth
: Int, pixelsHighheight
: Int, baseAddressbaseAddress
: UnsafePointer<Void>, bytesPerRowrowBytes
: Int, releaseCallbackcallback
: QCPlugInBufferReleaseCallback, releaseContextcontext
: UnsafeMutablePointer<Void>, colorSpacecolorSpace
: CGColorSpace!, shouldColorMatchcolorMatch
: Bool) -> AnyObject!Objective C
- (id)outputImageProviderFromBufferWithPixelFormat:(NSString *)
format
pixelsWide:(NSUInteger)width
pixelsHigh:(NSUInteger)height
baseAddress:(const void *)baseAddress
bytesPerRow:(NSUInteger)rowBytes
releaseCallback:(QCPlugInBufferReleaseCallback)callback
releaseContext:(void *)context
colorSpace:(CGColorSpaceRef)colorSpace
shouldColorMatch:(BOOL)colorMatch
Параметры
format
Формат пикселя буфера памяти. Это должно быть совместимо с цветовым пространством.
width
Ширина, в байтах, буфера памяти.
height
Высота, в байтах, буфера памяти.
baseAddress
Базовый адрес буфера памяти, который должен быть многократным из 16.
rowBytes
Число байтов на строку буфера памяти, который должен быть многократным из 16.
callback
Обратный вызов выпуска. Ваш обратный вызов должен использовать это определение типа:
typedef void (*QCPlugInBufferReleaseCallback)(const void* address, void* context);
Если Вы называете свою функцию обратного вызова
MyQCPlugInBufferReleaseCallback
, Вы объявили бы его как это:void MyQCPlugInBufferReleaseCallback (const void address,
void * context);
Когда буфер памяти больше не необходим, кварцевый Композитор вызывает Ваш обратный вызов. Обратный вызов можно вызвать от любого потока в любое время
context
Контекст для передачи обратному вызову выпуска.
colorSpace
Цветовое пространство буфера памяти. Это должно быть совместимо с форматом пикселя.
colorMatch
Булевская переменная, указывающая, должен ли Кварцевый Композитор окрасить соответствие изображением. Передача
NO
false
если изображение является маской или градиентом или не должно быть цветом, соответствующим по некоторой другой причине. Иначе, передачаYES
true
.Возвращаемое значение
Провайдер изображения.
Обсуждение
Вы не должны изменять изображение, пока не вызывается обратный вызов выпуска.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
outputImageProviderFromTextureWithPixelFormat(_:pixelsWide:pixelsHigh:name:flipped:releaseCallback:releaseContext:colorSpace:shouldColorMatch:) - outputImageProviderFromTextureWithPixelFormat:pixelsWide:pixelsHigh:name:flipped:releaseCallback:releaseContext:colorSpace:shouldColorMatch:
ТребуемыйВозвращает провайдера изображения из текстуры OpenGL. (требуемый)
Объявление
Swift
func outputImageProviderFromTextureWithPixelFormat(_
format
: String!, pixelsWidewidth
: Int, pixelsHighheight
: Int, namename
: GLuint, flippedflipped
: Bool, releaseCallbackcallback
: QCPlugInTextureReleaseCallback, releaseContextcontext
: UnsafeMutablePointer<Void>, colorSpacecolorSpace
: CGColorSpace!, shouldColorMatchcolorMatch
: Bool) -> AnyObject!Objective C
- (id)outputImageProviderFromTextureWithPixelFormat:(NSString *)
format
pixelsWide:(NSUInteger)width
pixelsHigh:(NSUInteger)height
name:(GLuint)name
flipped:(BOOL)flipped
releaseCallback:(QCPlugInTextureReleaseCallback)callback
releaseContext:(void *)context
colorSpace:(CGColorSpaceRef)colorSpace
shouldColorMatch:(BOOL)colorMatch
Параметры
format
Формат пикселя текстуры. Это должно быть совместимо с цветовым пространством.
width
Ширина, в байтах, текстуры.
height
Высота, в байтах, текстуры.
name
Текстура OpenGL типа
GL_TEXTURE_RECTANGLE_EXT
это допустимо на Кварцевом Композиторе контекст OpenGL. Ваше приложение должно удостовериться, что текстура существует для жизненного цикла провайдера изображения.flipped
YES
true
сделать, чтобы Кварцевый Композитор зеркально отразил содержание текстуры вертикально.callback
Обратный вызов выпуска. Ваш обратный вызов должен использовать это определение типа:
typedef void (*QCPlugInTextureReleaseCallback)(CGLContextObj cgl_ctx, GLuint name, void* context);
Если Вы называете свою функцию обратного вызова
MyQCPlugInTextureReleaseCallback
, Вы объявили бы его как это:void MyQCPlugInTextureReleaseCallback (CGLContextObj cgl_ctx,
GLuint name,
void* context);
Когда буфер памяти больше не необходим, кварцевый Композитор вызывает Ваш обратный вызов. Обратный вызов можно вызвать от любого потока в любое время
context
Контекст для передачи обратному вызову выпуска.
colorSpace
Цветовое пространство текстуры. Это должно быть совместимо с форматом пикселя.
colorMatch
Булевская переменная, указывающая, должен ли Кварцевый Композитор окрасить соответствие текстурой. Передача
NO
false
если текстура является маской или градиентом или не должна быть цветом, соответствующим по некоторой другой причине. Иначе, передачаYES
true
.Возвращаемое значение
Провайдер изображения.
Обсуждение
Вы не должны изменять текстуру, пока не вызывается обратный вызов выпуска.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.