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>)contextatTime:(NSTimeInterval)timewithArguments:(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 *)formatpixelsWide:(NSUInteger)widthpixelsHigh:(NSUInteger)heightbaseAddress:(const void *)baseAddressbytesPerRow:(NSUInteger)rowBytesreleaseCallback:(QCPlugInBufferReleaseCallback)callbackreleaseContext:(void *)contextcolorSpace:(CGColorSpaceRef)colorSpaceshouldColorMatch:(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Булевская переменная, указывающая, должен ли Кварцевый Композитор окрасить соответствие изображением. Передача
NOfalseесли изображение является маской или градиентом или не должно быть цветом, соответствующим по некоторой другой причине. Иначе, передачаYEStrue.Возвращаемое значение
Провайдер изображения.
Обсуждение
Вы не должны изменять изображение, пока не вызывается обратный вызов выпуска.
Оператор импорта
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 *)formatpixelsWide:(NSUInteger)widthpixelsHigh:(NSUInteger)heightname:(GLuint)nameflipped:(BOOL)flippedreleaseCallback:(QCPlugInTextureReleaseCallback)callbackreleaseContext:(void *)contextcolorSpace:(CGColorSpaceRef)colorSpaceshouldColorMatch:(BOOL)colorMatchПараметры
formatФормат пикселя текстуры. Это должно быть совместимо с цветовым пространством.
widthШирина, в байтах, текстуры.
heightВысота, в байтах, текстуры.
nameТекстура OpenGL типа
GL_TEXTURE_RECTANGLE_EXTэто допустимо на Кварцевом Композиторе контекст OpenGL. Ваше приложение должно удостовериться, что текстура существует для жизненного цикла провайдера изображения.flippedYEStrueсделать, чтобы Кварцевый Композитор зеркально отразил содержание текстуры вертикально.callbackОбратный вызов выпуска. Ваш обратный вызов должен использовать это определение типа:
typedef void (*QCPlugInTextureReleaseCallback)(CGLContextObj cgl_ctx, GLuint name, void* context);
Если Вы называете свою функцию обратного вызова
MyQCPlugInTextureReleaseCallback, Вы объявили бы его как это:void MyQCPlugInTextureReleaseCallback (CGLContextObj cgl_ctx,GLuint name,void* context);
Когда буфер памяти больше не необходим, кварцевый Композитор вызывает Ваш обратный вызов. Обратный вызов можно вызвать от любого потока в любое время
contextКонтекст для передачи обратному вызову выпуска.
colorSpaceЦветовое пространство текстуры. Это должно быть совместимо с форматом пикселя.
colorMatchБулевская переменная, указывающая, должен ли Кварцевый Композитор окрасить соответствие текстурой. Передача
NOfalseесли текстура является маской или градиентом или не должна быть цветом, соответствующим по некоторой другой причине. Иначе, передачаYEStrue.Возвращаемое значение
Провайдер изображения.
Обсуждение
Вы не должны изменять текстуру, пока не вызывается обратный вызов выпуска.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
