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)
time
arguments:(NSDictionary *)arguments
Параметры
time
Время рендеринга, в секундах, кадра состава.
arguments
Дополнительный словарь, который может содержать
QCRendererEventKey
илиQCRendererMouseLocationKey
и присваиваемые значения. (См. Ссылку класса QCRenderer или больше информации.)Возвращаемое значение
NO
false
если Ваш пользовательский рендеринг перестал работать, иначе,YES
true
.Обсуждение
Не вызывайте этот метод непосредственно. Вы переопределяете этот метод только для подклассов
QCView
класс и только если Вы хотите выполнить пользовательские операции или OpenGL, представляющий прежде и/или после Кварцевого Композитора, представляет кадр состава.Наиболее распространенные причины переопределить этот метод к:
синхронизируйте связь с составом. Например, Вы могли бы хотеть установить входные параметры состава. Путем переопределения этого метода можно установить параметры только когда необходимый и только в определенное время.
лежал в основе или наложите пользовательский рендеринг OpenGL.
Для синхронизации коммуникации между составом и другой частью приложения реализация выглядит подобной следующему:
- (BOOL) renderAtTime:(NSTimeInterval)time
arguments:(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 result
return 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)time
arguments:(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
Строка, указывающая расположение Кварцевого файла состава Композитора.
Возвращаемое значение
Если неуспешный, возвраты
NO
false
; любой состав это уже загружается в представлении, остается загруженным.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.4 и позже.
-
Загрузки a
QCComposition
объект в представление.Объявление
Swift
func loadComposition(_
composition
: QCComposition!) -> BoolObjective C
- (BOOL)loadComposition:(QCComposition *)
composition
Параметры
composition
QCComposition
возразите для загрузки.Возвращаемое значение
YES
true
если успешный; иначеNO
false
. Если неуспешный, любой состав, это уже загружается в представлении, остается загруженным.Оператор импорта
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() -> Float
Objective 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() -> Bool
Objective C
- (BOOL)startRendering
Возвращаемое значение
Возвраты
NO
false
если составу не удается начать представлять;YES
true
иначе.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Проверки, представляет ли состав в представлении.
Объявление
Swift
func isRendering() -> Bool
Objective C
- (BOOL)isRendering
Возвращаемое значение
Возвраты
YES
true
если состав представляет в представлении;NO
false
иначе.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.4 и позже.
-
Проверки, установлено ли представление начать представлять автоматически.
Объявление
Swift
func autostartsRendering() -> Bool
Objective C
- (BOOL)autostartsRendering
Возвращаемое значение
Возвраты
YES
true
когда представление помещается на экран, если представление установлено начать представлять автоматически.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Наборы, начинает ли состав, который находится в представлении, представлять автоматически, когда представление помещается на экран.
Объявление
Swift
func setAutostartsRendering(_
flag
: Bool)Objective C
- (void)setAutostartsRendering:(BOOL)
flag
Параметры
flag
Передача
YES
true
включить режим автоматического запуска;NO
false
иначе.Оператор импорта
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() -> Bool
Objective C
- (BOOL)isPausedRendering
Возвращаемое значение
YES
true
если приостанавливается рендеринг; иначеNO
false
.Оператор импорта
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 и позже.