Framework

Quartz

Allow users to browse, edit, and save images, using slideshows and Core Image filters.

Overview

This collection of documents provides the API reference for the Quartz framework; in particular, for Quartz Composer, Image Kit, and PDF Kit. The Quartz Composer API supports processing and rendering graphical data and allows developers to create custom patches for the Quartz Composer developer tool. Image Kit provides user interface support for browsing, editing, and saving images, showing slideshows, and browsing and previewing Core Image filters. PDF Kit is a technology that allows applications to display and manipulate PDF documents.

Symbols

Classes

IKCameraDeviceView

The IKCameraDeviceView class displays the contents of the selected camera.

IKDeviceBrowserView

The IKDeviceBrowserView allows you to select a camera or scanner from a list of the available devices.

IKFilterBrowserPanel

The IKFilterBrowserPanel class provides a user interface that allows users to browse Core Image filters (CIFilter), to preview a filter, and to get additional information about the filter, such as its description.

IKFilterBrowserView

The IKFilterBrowserView class is used as a container for the elements of an IKFilterBrowserPanel object.

IKFilterUIView

The IKFilterUIView class provides a view that contains input parameter controls for a Core Image filter (CIFilter). You need to use this class when providing a user interface for a custom filter. The class creates a view that has an object controller for the given filter. It also retains the filter.

IKImageBrowserCell

The IKImageBrowserCell class is used to display a cell conforming to the IKImageBrowserItem Protocol protocol in an IKImageBrowserView.

IKImageBrowserView

The IKImageBrowserView class is a view for displaying and browsing a large amount of images and movies efficiently. This class will be deprecated in a future release. Please switch to NSCollectionView instead.

IKImageEditPanel

The IKImageEditPanel class provides a panel, that is, a utility window that floats on top of document windows, optimized for image editing.

IKImageView

The IKImageView class provides an efficient way to display images in a view while at the same time supporting a number of image editing operations such as rotating, zooming, and cropping. It supports drag and drop for the NSFilenamesPboardType flavor so that the user can drag an image to the view. If possible, image rendering uses hardware acceleration to achieve optimal performance. The IKImageView class is implemented as a subclass of NSView. Similar to NSImageView, the IKImageView class is used to display a single image.

IKPictureTaker

The IKPictureTaker class represents a panel that allows users to choose images by browsing the file system. The picture taker panel provides an Open Recent menu, supports image cropping, and supports taking snapshots from an iSight or other digital camera.

IKSaveOptions

The IKSaveOptions class initializes, adds, and manages user interface options for saving image data.

IKScannerDeviceView

The IKScannerDeviceView class displays a view that allows scanning. It can be customized by specifying the display mode. The delegate receives the scanned data and must implement the IKScannerDeviceViewDelegate protocol.

IKSlideshow

The IKSlideshow class encapsulates a data source and options for a slideshow.

PDFAction

PDFAction, a subclass of NSObject, represents an action that is performed when, for example, a PDF annotation is activated or an outline item is clicked.

PDFActionGoTo

PDFActionGoTo, a subclass of PDFAction, defines methods for getting and setting the destination of a go-to action.

PDFActionNamed

PDFActionNamed defines methods used to work with actions in PDF documents, some of which are named in the Adobe PDF Specification.

PDFActionRemoteGoTo

PDFActionRemoteGoTo, a subclass of PDFAction, defines methods for getting and setting the destination of a go-to action that targets another document.

PDFActionResetForm

PDFActionResetForm, a subclass of PDFAction, defines methods for getting and clearing fields in a PDF form.

PDFActionURL

PDFActionURL, a subclass of PDFAction, defines methods for getting and setting the URL associated with a URL action.

PDFAnnotation

PDFAnnotation, a subclass of NSObject, represents an annotation in a PDF document, which associates an object (such as a note or a sound) with a location in a PDF document.

PDFAnnotationButtonWidget

A PDFAnnotationButtonWidget object provides user interactivity on a page of a PDF document. There are three types of buttons available: push button, radio button, and checkbox.

Deprecated
PDFAnnotationChoiceWidget

A PDFAnnotationChoiceWidget object provides user interactivity on a page of a PDF document, in the form of pop-up menus and lists.

Deprecated
PDFAnnotationFreeText

A PDFAnnotationFreeText object displays text on a page.

Deprecated
PDFAnnotationLine

A PDFAnnotationLine object displays a single line on a page.

Deprecated
PDFAnnotationMarkup

A PDFAnnotationMarkup object appears as highlighting, underlining, or a strikethrough style applied to the text of a document.

Deprecated
PDFAnnotationPopup

A PDFAnnotationPopup object provides user interactivity on a PDF page in the form of a pop-up menu.

Deprecated
PDFAnnotationStamp

A PDFAnnotationStamp object allows you to display a word or phrase, such as “Confidential,“ in a PDF page.

Deprecated
PDFAnnotationText

A PDFAnnotationText object displays as an icon (such as a “sticky note”) attached to a specified point in the PDF document.

Deprecated
PDFAnnotationTextWidget

A PDFAnnotationTextWidget object allows you to manage the appearance and content of text fields.

Deprecated
PDFBorder

A PDFBorder object, when used, adds an optional border to an annotation. Borders are drawn completely within the annotation rectangle.

PDFDestination

A PDFDestination object describes a point on a PDF page.

PDFDocument

A PDFDocument object represents PDF data or a PDF file and defines methods for writing, searching, and selecting PDF data.

PDFOutline

A PDFOutline object is an element in a tree-structured hierarchy that can represent the structure of a PDF document.

PDFPage

PDFPage, a subclass of NSObject, defines methods used to render PDF pages and work with annotations, text, and selections.

PDFSelection

A PDFSelection object identifies a contiguous or noncontiguous selection of text in a PDF document.

PDFThumbnailView

A PDFThumbnailView object contains a set of thumbnails, each of which represents a page in a PDF document.

PDFView

A PDFView object encapsulates the functionality of PDF Kit into a single widget that you can add to your application using Interface Builder.

QCComposition

The QCComposition class represents a Quartz Composer composition that either:

QCCompositionLayer

The QCCompositionLayer class loads, plays, and controls Quartz Composer compositions in a Core Animation layer hierarchy. The composition tracks the Core Animation layer time and is rendered directly at the current dimensions of the QCCompositionLayer object.

QCCompositionParameterView

The QCCompositionParameterView class allows allows users to edit, in real time, the input parameters of a composition. The composition can be rendering in any of the following objects: QCRenderer, QCView, or QCCompositionLayer.

QCCompositionPickerPanel

The QCCompositionPickerPanel class represents a utility window that allows users to browse compositions that are in the Quartz Composer composition repository and, if supported, preview the composition. The QCCompositionPickerPanel class cannot be subclassed.

QCCompositionPickerView

The QCCompositionPickerView class allows users to browse compositions that are in the Quartz Composer composition repository, and to preview them. You can set the default input parameters for a composition preview by using the method setDefaultValue:forInputKey:.

QCCompositionRepository

The QCCompositionRepository class represents a system-wide centralized repository of built-in and installed Quartz Composer compositions (/Library/Compositions and ~/Library/Compositions). The QCCompositionRepository class cannot be subclassed.

QCPatchController
QCPlugIn

The QCPlugIn class provides the base class to subclass for writing custom Quartz Composer patches. You implement a custom patch by subclassing QCPlugIn, overriding the appropriate methods, packaging the code as an NSBundle object, and installing the bundle in the appropriate location. A bundle can contain more than one subclass of QCPlugIn, allowing you to provide a suite of custom patches in one bundle. Quartz Composer Custom Patch Programming Guide provides detailed instructions on how to create and package a custom patch. QCPlugIn Class Reference supplements the information in the programming guide.

QCPlugInViewController

The QCPlugInViewController class communicates (through Cocoa bindings) between a custom patch and the view used for the internal settings of the custom patch. Only custom patches that use internal settings exposed to the user need to use the QCPlugInViewController class.

QCRenderer

A QCRenderer class is designed for low-level rendering of Quartz Composer compositions. This is the class to use if you want to be in charge of rendering a composition to a specific OpenGL context—either using the NSOpenGLContext class or a CGLContextObj object. QCRenderer also allows you to load, play, and control a composition.

QCView

The QCView class is a custom NSView class that loads, plays, and controls Quartz Composer compositions. It is an autonomous view that is driven by an internal timer running on the main thread.

QLPreviewPanel

The QLPreviewPanel class implements the Quick Look preview panel—a user interface object that displays the preview of a list of items.

QLPreviewView

A QLPreviewView object generates a Quick Look preview of an item. This class allows you to imbed a Quick Look preview into your view hierarchy.

QuartzFilterQuartzFilterManagerQuartzFilterView

Protocols

IKCameraDeviceViewDelegate

The IKCameraDeviceViewDelegate protocol is adopted by the delegate of the IKCameraDeviceView class. It allows downloading of camera content, handling selection changes, and handling errors.

IKDeviceBrowserViewDelegate

The IKDeviceBrowserViewDelegate defines the methods that the delegate of the IKDeviceBrowserView class can implement. All the methods are optional.

IKFilterCustomUIProvider

The IKFilterCustomUIProvider protocol is an addition to the CIFilter class that defines a method for providing a view for a filter. This protocol is implemented by any filter that provides its own user interface.

IKImageBrowserDataSource Protocol

The IKImageBrowserDataSource informal protocol declares the methods that an instance of the IKImageBrowserView class uses to access the contents of its data source object.

IKImageBrowserDelegate Protocol

The IKImageBrowserDelegate is an informal protocol for the delegate of an IKImageBrowserView object. You can implement these methods to perform custom tasks when in response to events in the image browser view.

IKImageBrowserItem Protocol

The IKImageBrowserItem informal protocol declares the methods that an instance of the IKImageBrowserView class uses to access the contents of its data source for a given item. Some of the methods in this protocol are needed frequently, so you should implement them efficiently.

IKImageEditPanelDataSource

The IKImageEditPanelDataSource protocol describes the methods that an IKImageEditPanel object uses to access the contents of its data source object.

IKScannerDeviceViewDelegate

The IKScannerDeviceViewDelegate protocol defines the delegate protocol that the IKScannerDeviceView delegate must conform to.

IKSlideshowDataSource

The IKSlideshowDataSource protocol describes the methods that an IKSlideshow object uses to access the contents of its data source object.

PDFViewDelegate
QCCompositionParameterViewDelegate

The QCCompositionParameterViewDelegate informal protocol allows your application to define which parameters should be visible in a QCCompositionParameterView object.

QCCompositionPickerViewDelegate

The QCCompositionPickerViewDelegate informal protocol defines methods that allow your application to respond to changes in a composition picker view (a QCCompositionPickerView object).

QCCompositionRenderer

The QCRenderer protocol defines the methods used to pass data to the input ports or retrieve data from the output ports of the root patch of a Quartz Composer composition. This protocol is adopted by the QCRenderer, QCView, and QCCompositionLayer classes.

QCPlugInContext

The QCPlugInContext protocol defines methods that you use only from within the execution method (execute(_:atTime:withArguments:)) of a QCPlugIn object.

QCPlugInInputImageSource

The QCPlugInInputImageSource protocol eliminates the need to use explicit image types for the image input ports on your custom patch. Not only does using the protocol avoid restrictions of a specific image type, but it avoids impedance mismatches, and provides better performance by deferring pixel computation until it is needed. When you need to access the pixels in an image, you simply convert the image to a representation (texture or buffer) using one of the methods defined by the QCPlugInInputImageSource protocol. Use a texture representation when you want to use input images on the GPU. Use a buffer representation when you want to use input images on the CPU.

QCPlugInOutputImageProvider

The QCPlugInOuputImageProvider protocol eliminates the need to use explicit image types for the image output ports on a custom patch. The methods in this protocol are called by the Quartz Composer engine when the output image is needed. If your custom patch has an image output port, you need to implement the appropriate methods for rendering image data and to supply information about the rendering destination and the image bounds.

QLPreviewItem

The QLPreviewItem protocol defines properties you implement to make your application’s content visible in a QuickLook preview (QLPreviewController in iOS or QLPreviewPanel in macOS).

QLPreviewPanelDataSource

The QLPreviewPanelDataSource protocol declares the methods that the Quick Look preview panel (QLPreviewPanel) uses to access the contents of its data source object.

QLPreviewPanelDelegate

QLPreviewPanelDelegate is the protocol for the delegate of the Quick Look preview panel (QLPreviewPanel) object.

Structures

IKImageBrowserCellState

The possible states for the browser cell. These values are used by the cellState() method.

IKImageBrowserDropOperation

These constants specify the locations for dropping items onto the browser view. Used by the method setDrop(_:dropOperation:).

QCPlugInExecutionMode

Execution modes for custom patches.

QCPlugInTimeMode

Time modes for custom patches.

Extended Types

CIFilter

An image processor that produces an image by manipulating one or more input images or by generating new image data.

Name
NSObject

NSObject is the root class of most Objective-C class hierarchies. Through NSObject, objects inherit a basic interface to the runtime system and the ability to behave as Objective-C objects.