QCView
QCView класс является пользовательским NSView класс, загружающийся, играет и управляет Кварцевыми составами Композитора. Это - автономное представление, управляющееся внутренним таймером, работающим на основном потоке.
Представление может быть установлено представить состав автоматически, когда оно помещается на экране. Представление прекращает представлять, когда оно помещается вне экрана. Если не представляя, представление заполнено текущим цветом стирания. Представленный состав автоматически синхронизируется с вертикалью, восстанавливают монитора.
Когда Вы архивируете a QCView объект, это сохраняет состав, это загружается в то время, когда представление архивируется.
Если Вы хотите выполнить пользовательские операции, в то время как состав представляет, такие как установка входных параметров или рисование содержания OpenGL, необходимо разделить на подклассы QCView и реализация renderAtTime:arguments: метод.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSAccessibility -
NSAccessibilityElementProtocol -
NSAnimatablePropertyContainer -
NSAppearanceCustomization -
NSCoding -
NSDraggingDestination -
NSObjectProtocol -
NSUserInterfaceItemIdentification -
Печатаемый -
QCCompositionRenderer -
Reflectable -
NSAccessibility -
NSAccessibilityElement -
NSAnimatablePropertyContainer -
NSAppearanceCustomization -
NSCoding -
NSDraggingDestination -
NSObject -
NSUserInterfaceItemIdentification -
QCCompositionRenderer
Оператор импорта
Swift
import Quartz
Objective C
@import Quartz;
Доступность
Доступный в OS X v10.4 и позже.
-
Переопределения для выполнения пользовательских операций до или после рендеринга кадра состава.
Объявление
Swift
func renderAtTime(_time: NSTimeInterval, argumentsarguments: [NSObject : AnyObject]!) -> BoolObjective C
- (BOOL)renderAtTime:(NSTimeInterval)timearguments:(NSDictionary *)argumentsПараметры
timeВремя рендеринга, в секундах, кадра состава.
argumentsДополнительный словарь, который может содержать
QCRendererEventKeyилиQCRendererMouseLocationKeyи присваиваемые значения. (См. Ссылку класса QCRenderer или больше информации.)Возвращаемое значение
NOfalseесли Ваш пользовательский рендеринг перестал работать, иначе,YEStrue.Обсуждение
Не вызывайте этот метод непосредственно. Вы переопределяете этот метод только для подклассов
QCViewкласс и только если Вы хотите выполнить пользовательские операции или OpenGL, представляющий прежде и/или после Кварцевого Композитора, представляет кадр состава.Наиболее распространенные причины переопределить этот метод к:
синхронизируйте связь с составом. Например, Вы могли бы хотеть установить входные параметры состава. Путем переопределения этого метода можно установить параметры только когда необходимый и только в определенное время.
лежал в основе или наложите пользовательский рендеринг OpenGL.
Для синхронизации коммуникации между составом и другой частью приложения реализация выглядит подобной следующему:
- (BOOL) renderAtTime:(NSTimeInterval)timearguments:(NSDictionary*)arguments{// Your code to computer the value of myParameterValue[self setValue:myParameterValue forInputKey:@”myInput”];BOOL success = [super renderAtTime:time arguments:arguments];id result = [self valueForOutputKey:@”myOutput”];//Your code to perform some operation on the resultreturn success;}
Выполнять получение OpenGL в a
QCViewвозразите, следуйте этим инструкциям:Используйте контекст OpenGL
QCViewобъект сделать получение. Можно получить контекст OpenGL путем вызова[self openGLContext]. Обратите внимание на то, что этот контекст будет не обязательно установлен как текущий контекст OpenGL.Используйте макросы CGL вместо того, чтобы управлять текущим контекстом OpenGL сами.
OpenGL выполняет глобальный контекст и поиск средства рендеринга для каждой команды, которую это выполняет, чтобы гарантировать, что все команды OpenGL даются к корректному контексту рендеринга и средству рендеринга. Существует значительный служебный связанный с этими поисками, которые могут в известной мере влиять на производительность. Макросы CGL позволили Вам обеспечить локальную переменную контекста и кэшировать текущее средство рендеринга в той переменной. Они просты использовать, проводя только несколько строк кода для установки.
Сохраните и восстановите все изменения состояния кроме тех, которые являются частью
GL_CURRENT_BIT(Цвет RGBA, индекс цвета, вектор нормали, координаты текстуры, и т.д).Проверьте на ошибки OpenGL с
glGetError.
Вот реализация в качестве примера этого метода с помощью OpenGL для рисования наложения:
#import <OpenGL/CGLMacro.h> // Set up using macros- (BOOL) renderAtTime:(NSTimeInterval)timearguments:(NSDictionary*)arguments{BOOL success = [super renderAtTime:time arguments:arguments];// Use the OpenGL context of the view for drawing.CGLContextObj cgl_ctx = [[self openGLContext] CGLContextObj];// Save and set OpenGL states appropriately.glGetIntegerv(GL_MATRIX_MODE, &saveMode);glMatrixMode(GL_MODELVIEW);glPushMatrix();glRotatef(45.0, 0.0, 0.0, 1.0);// The code that performs OpenGL drawing goes here.//After drawing, restore original OpenGL states.glPopMatrix();glMatrixMode(saveMode);// Check for errors.glGetError();return success;}
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
-
Загружает файл состава, расположенный в указанном пути.
Объявление
Swift
func loadCompositionFromFile(_path: String!) -> BoolObjective C
- (BOOL)loadCompositionFromFile:(NSString *)pathПараметры
pathСтрока, указывающая расположение Кварцевого файла состава Композитора.
Возвращаемое значение
Если неуспешный, возвраты
NOfalse; любой состав это уже загружается в представлении, остается загруженным.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
-
Загрузки a
QCCompositionобъект в представление.Объявление
Swift
func loadComposition(_composition: QCComposition!) -> BoolObjective C
- (BOOL)loadComposition:(QCComposition *)compositionПараметры
compositionQCCompositionвозразите для загрузки.Возвращаемое значение
YEStrueесли успешный; иначеNOfalse. Если неуспешный, любой состав, это уже загружается в представлении, остается загруженным.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
-
Возвращает состав, загруженный в представлении.
Объявление
Swift
func loadedComposition() -> QCComposition!Objective C
- (QCComposition *)loadedCompositionВозвращаемое значение
Состав загрузился в представлении; иначе
nil.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
-
Разгружает состав от представления.
Объявление
Swift
func unloadComposition()Objective C
- (void)unloadCompositionОбсуждение
Если необходимо, это вызовы метода
stopRenderingдо разгрузки состава.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
-
Очищает представление с помощью текущего цвета стирания.
Объявление
Swift
func erase()Objective C
- (void)eraseОператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Получает текущий цвет, используемый для стирания представления.
Возвращаемое значение
Цветовой объект ранее набор с помощью
setEraseColor:метод.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Выбирает цвет, используемый для стирания представления.
Объявление
Swift
func setEraseColor(_color: NSColor!)Objective C
- (void)setEraseColor:(NSColor *)colorПараметры
colorЦветовой объект.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Получает маску, используемую для фильтрации, какие типы событий передаются от представления до состава во время рендеринга.
Возвращаемое значение
Маска фильтрации событий.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Устанавливает маску, используемую для фильтрации, какие типы событий передаются от представления до состава во время рендеринга.
Объявление
Swift
func setEventForwardingMask(_mask: Int)Objective C
- (void)setEventForwardingMask:(NSUInteger)maskПараметры
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает максимальную частоту кадров для рендеринга.
Объявление
Swift
func maxRenderingFrameRate() -> FloatObjective C
- (float)maxRenderingFrameRateВозвращаемое значение
Максимальная частота кадров для рендеринга. Значение
0.0указывает, что нет никакого предела.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Устанавливает максимальную частоту кадров рендеринга.
Объявление
Swift
func setMaxRenderingFrameRate(_maxFPS: Float)Objective C
- (void)setMaxRenderingFrameRate:(float)maxFPSПараметры
maxFPSЧастота кадров для установки. Передача
0.0указать, что нет никакого предела.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Начинает представлять состав, который находится в представлении.
Объявление
Swift
func startRendering() -> BoolObjective C
- (BOOL)startRenderingВозвращаемое значение
Возвраты
NOfalseесли составу не удается начать представлять;YEStrueиначе.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Проверки, представляет ли состав в представлении.
Объявление
Swift
func isRendering() -> BoolObjective C
- (BOOL)isRenderingВозвращаемое значение
Возвраты
YEStrueесли состав представляет в представлении;NOfalseиначе.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
-
Проверки, установлено ли представление начать представлять автоматически.
Объявление
Swift
func autostartsRendering() -> BoolObjective C
- (BOOL)autostartsRenderingВозвращаемое значение
Возвраты
YEStrueкогда представление помещается на экран, если представление установлено начать представлять автоматически.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Наборы, начинает ли состав, который находится в представлении, представлять автоматически, когда представление помещается на экран.
Объявление
Swift
func setAutostartsRendering(_flag: Bool)Objective C
- (void)setAutostartsRendering:(BOOL)flagПараметры
flagПередача
YEStrueвключить режим автоматического запуска;NOfalseиначе.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Остановки, представляющие состав, который находится в представлении.
Объявление
Swift
func stopRendering()Objective C
- (void)stopRenderingОператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Рендеринг пауз в представлении.
Объявление
Swift
func pauseRendering()Objective C
- (void)pauseRenderingОбсуждение
Можно вложить вызовы к этому методу.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвраты, приостанавливается ли рендеринг в представлении.
Объявление
Swift
func isPausedRendering() -> BoolObjective C
- (BOOL)isPausedRenderingВозвращаемое значение
YEStrueесли приостанавливается рендеринг; иначеNOfalse.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Резюме, представляющие приостановленный состав.
Объявление
Swift
func resumeRendering()Objective C
- (void)resumeRenderingОбсуждение
Можно вложить вызовы к этому методу.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Игры или паузы состав в представлении.
Параметры
senderОбъект (такой как кнопка или пункт меню) отправка сообщения для игры состава. Необходимо соединить объект в интерфейсе к действию.
Возвращаемое значение
Сообщение отправило к цели.
Обсуждение
Этот метод начинает представлять состав, если он уже не представляет, приостанавливает состав, представляющий или продолжающий представлять для состава, рендеринг которого приостанавливается. Когда пользователь нажимает кнопку или дает команду от некоторого другого элемента пользовательского интерфейса, такого как меню, метод вызывается.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Начинает представлять состав в представлении.
Объявление
Swift
@IBAction func start(_sender: AnyObject!)Objective C
- (IBAction)start:(id)senderПараметры
senderОбъект (такой как кнопка или пункт меню) отправка сообщения, чтобы начать представлять. Необходимо соединить объект в интерфейсе к действию.
Возвращаемое значение
Сообщение отправило к цели.
Обсуждение
Когда пользователь нажимает кнопку или дает команду от некоторого другого элемента пользовательского интерфейса, такого как меню, метод вызывается. Это эквивалентно
startRenderingметод.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Остановки, представляющие состав в представлении.
Параметры
senderОбъект (такой как кнопка или пункт меню) отправка сообщения, чтобы прекратить представлять. Необходимо соединить объект в интерфейсе к действию.
Возвращаемое значение
Сообщение отправило к цели.
Обсуждение
Когда пользователь нажимает кнопку или дает команду от некоторого другого элемента пользовательского интерфейса, такого как меню, метод вызывается. Это эквивалентно
stopRenderingметод.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвраты
NSImageобъект текущего изображения в представлении.Возвращаемое значение
Изображение снимка.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает текущее изображение в представлении как объект изображения предоставленного типа изображения.
Объявление
Swift
func createSnapshotImageOfType(_type: String!) -> AnyObject!Objective C
- (id)createSnapshotImageOfType:(NSString *)typeПараметры
typeСтрока, указывающая любой из следующих типов изображения:
NSBitmapImageRep,NSImage,CIImage,CGImage,CVOpenGLBuffer,CVPixelBuffer.Возвращаемое значение
Изображение снимка в предоставленном типе изображения. Вы ответственны за выпуск этого объекта, когда Вам больше не нужен он.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает контекст OpenGL, используемый представлением.
Объявление
Swift
func openGLContext() -> NSOpenGLContext!Objective C
- (NSOpenGLContext *)openGLContextВозвращаемое значение
NSOpenGLContextобъект.Обсуждение
Этот контекст как объект только для чтения. Не пытайтесь изменить любую из его настроек. Если Вы разделяете на подклассы
QCViewтак, чтобы можно было выполнить пользовательское получение OpenGL, необходимо будет использовать этот метод для получения контекста OpenGL представления.Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает формат пикселя OpenGL, используемый представлением.
Объявление
Swift
func openGLPixelFormat() -> NSOpenGLPixelFormat!Objective C
- (NSOpenGLPixelFormat *)openGLPixelFormatВозвращаемое значение
NSOpenGLPixelFormatобъект.Обсуждение
Этот формат пикселя как объект только для чтения. Не пытайтесь изменить любую из его настроек.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.5 и позже.
-
Отправленный, когда представление начинает представлять.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
-
Отправленный, когда представление прекращает представлять.
Оператор импорта
Objective C
@import Quartz;Swift
import QuartzДоступность
Доступный в OS X v10.4 и позже.
