Ссылка QLPreviewRequest
Генераторы Беглого взгляда используют QLPreviewRequest
API, чтобы помочь создать предварительный просмотр документа, возвращающийся клиентам Беглого взгляда (таким как Средство поиска и Центр внимания) для дисплея. Объект QLPreviewRequest
непрозрачный тип представляет запрос от клиента для предварительного просмотра документа и используется для возврата, предварительный просмотр отображают генератор, создает или располагается
Генератор должен реализовать GeneratePreviewForURL
функция обратного вызова, чтобы создать и возвратить изображение предварительного просмотра, которое требуют на данный документ. QLPreviewRequest
дает Вам четыре способа создать или определить местоположение предварительного просмотра для документа:
Можно создать графический контекст для рисования предварительного просмотра в. Графические контексты для предварительных просмотров являются тремя видами: битовый массив, вектор единственной страницы и многостраничный вектор.
Для битового массива и контекстов вектора единственной страницы, используйте
QLPreviewRequestCreateContext
функция.Для многостраничного (PDF) контексты используйте
QLPreviewRequestCreatePDFContext
функция.
Генератор может извлечь данные предварительного просмотра из документа и возвратить его клиенту, использующему
QLPreviewRequestSetDataRepresentation
функция. (Для этого подхода к работе документ приложения должен сохранить предварительный просмотр как часть документа.) Генератор может также динамично генерировать предварительный просмотр и возвратить его с этой функцией.Как улучшение этого того же подхода, генератор может динамично генерировать предварительный просмотр как данные HTML, это ссылается на присоединения. Это может тогда вызвать
QLPreviewRequestSetDataRepresentation
, передача в типе контента HTML и словарей, указывающих присоединения.
Большинство других функций QLPreviewRequest
позвольте Вам связать данные с запросом предварительного просмотра, таким как URL, определяющий местоположение документа и UTI идентификация типа контента документа.
-
Создает графический контекст для рисования предварительного просмотра в.
Объявление
Swift
func QLPreviewRequestCreateContext(_
preview
: QLPreviewRequest!, _size
: CGSize, _isBitmap
: Boolean, _properties
: CFDictionary!) -> Unmanaged<CGContext>!Objective C
CGContextRef QLPreviewRequestCreateContext ( QLPreviewRequestRef preview, CGSize size, Boolean isBitmap, CFDictionaryRef properties );
Параметры
preview
Объект запроса предварительного просмотра.
size
Размер предварительного просмотра; если
isBitmap
true
размер находится в пикселях, иначе это находится в точках.isBitmap
true
если предварительный просмотр использует основанный на битовом массиве графический контекст,false
иначе. Это значение этого параметра влияет на интерпретациюsize
параметр.properties
Словарь, содержащий свойства для ответа предварительного просмотра. Свойства предварительного просмотра перечисляют текущие ключи свойства и описывают их значения.
Возвращаемое значение
Базовый Графический графический объект контекста, в котором можно нарисовать изображение предварительного просмотра. Необходимо явно выпустить этот объект, когда он больше не необходим.
Обсуждение
Можно непосредственно нарисовать данные предварительного просмотра в графическом объекте контекста, создаваемом этой функцией. После вызывания этой функции необходимо сбросить контекст с
QLPreviewRequestFlushContext
. Также обязательно выпуститеCGContext
объект.Беглый взгляд обеспечивает три типа графических контекстов для рисования предварительных просмотров: битовый массив, основанная на векторе единственная страница, и многостраничная основанный на векторе (для предварительных просмотров PDF). Вы используете эту функцию для получения контекста для битового массива и получения вектора единственной страницы;
isBitmap
параметр используется для различения их. Для многостраничных контекстов используйтеQLPreviewRequestCreatePDFContext
функция.Если Вы предпочитаете работать в коде Objective C, можно преобразовать создаваемый
CGContextRef
к aNSGraphicsContext
объектное использованиеgraphicsContextWithGraphicsPort:flipped:
.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Создает контекст PDF, подходящий для рисования многостраничного предварительного просмотра.
Объявление
Swift
func QLPreviewRequestCreatePDFContext(_
preview
: QLPreviewRequest!, _mediaBox
: UnsafePointer<CGRect>, _auxiliaryInfo
: CFDictionary!, _properties
: CFDictionary!) -> Unmanaged<CGContext>!Objective C
CGContextRef QLPreviewRequestCreatePDFContext ( QLPreviewRequestRef preview, const CGRect *mediaBox, CFDictionaryRef auxiliaryInfo, CFDictionaryRef properties );
Параметры
preview
Объект запроса предварительного просмотра.
mediaBox
Указатель на поле носителей контекста.
Поле носителей является прямоугольником, определяющим размер и расположение страницы PDF. Источник прямоугольника должен обычно быть (0,0). При передаче NULL Кварц использует размер страницы по умолчанию 8,5 на 11 дюймов (612 792 точками). Для получения информации см. описание для
CGPDFContextCreate
.auxiliaryInfo
Словарь, содержащий PDF вспомогательная информация. См. описание вспомогательных ключей словаря в Ссылке CGPDFContext для получения дополнительной информации о ключах и значениях этого словаря.
properties
Словарь, содержащий дополнительные свойства для ответа предварительного просмотра. Для получения информации о приемлемых ключах и значениях, посмотрите Свойства Предварительного просмотра.
Возвращаемое значение
Ссылка на Базовый Графический объект контекста, использующийся для отображения версии PDF предварительного просмотра. Необходимо явно выпустить этот объект, когда он больше не необходим.
Обсуждение
Обязательно заключите в скобки каждую страницу PDF, записанную в контекст с
CGPDFContextBeginPage
иCGPDFContextEndPage
вызовы. После вызывания этой функции необходимо сбросить контекст сQLPreviewRequestFlushContext
.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Устанавливает запрос предварительного просмотра в данные, сохраненные в документе или к динамично сгенерированным данным.
Объявление
Swift
func QLPreviewRequestSetDataRepresentation(_
preview
: QLPreviewRequest!, _data
: CFData!, _contentTypeUTI
: CFString!, _properties
: CFDictionary!)Objective C
void QLPreviewRequestSetDataRepresentation ( QLPreviewRequestRef preview, CFDataRef data, CFStringRef contentTypeUTI, CFDictionaryRef properties );
Параметры
preview
Объект запроса предварительного просмотра.
data
Данные предварительного просмотра возвратились к клиенту..
contentTypeUTI
UTI указание типа контента предварительного просмотра.
properties
Дополнительные свойства для ответа предварительного просмотра. Для больше на поддерживаемых ключах и значениях для этого словаря, посмотрите Свойства Предварительного просмотра. Если сохраненными данными является HTML, можно указать специальный набор свойств; посмотрите обсуждение ниже для получения дополнительной информации.
Обсуждение
Эта функция возвращает данные предварительного просмотра клиенту. Данные или извлечены из документа (где приложение документа сохранило их,), или они динамично сгенерированы. То, как Беглый взгляд обрабатывает данные, зависит от значения
contentTypeUTI
. Данные содержания предварительного просмотра должны иметь собственный тип Беглого взгляда. В настоящее время поддерживаемые UTIs для этих типов:kUTTypeImage
,kUTTypePDF
,kUTTypeHTML
,kUTTypeXML
,kUTTypePlainText
,kUTTypeRTF
,kUTTypeMovie
, иkUTTypeAudio
.Если тип UTI
kUTTypeHTML
, у Вас может быть дескриптор WebKit расположение и дисплей Вашего предварительного просмотра. Необходимо обеспечить HTML вdata
плюс любые присоединения (например, карты Адресной книги, Сообщения электронной почты или документы Планировщика Omni) вproperties
словарь. Этот словарь беретkQLPreviewPropertyAttachmentsKey
как его ключ и состоит из одной руды больше подсловарей (один на присоединение). Каждый подсловарь использует идентификатор произвольной строки в качестве ключа; на присоединение нужно сослаться в данных HTML с помощьюkQLPreviewContentIDScheme
Схема URL («cid») и идентификатор как спецификатор ресурса URL — например, «cid:the_identifier». Ключи свойств подсловаряkQLPreviewPropertyMIMETypeKey
,kQLPreviewPropertyTextEncodingNameKey
, иkQLPreviewPropertyAttachmentDataKey
.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Сбросьте контекст, и устанавливает ответ предварительного просмотра.
Объявление
Swift
func QLPreviewRequestFlushContext(_
preview
: QLPreviewRequest!, _context
: CGContext!)Objective C
void QLPreviewRequestFlushContext ( QLPreviewRequestRef preview, CGContextRef context );
Параметры
preview
Объект запроса предварительного просмотра.
context
Графический контекст для сбрасывания.
Обсуждение
Необходимо сразу вызвать этот метод после рисования в графических контекстах, создаваемых
QLPreviewRequestCreateContext
иQLPreviewRequestCreatePDFContext
.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает UTI для запроса предварительного просмотра.
Объявление
Swift
func QLPreviewRequestCopyContentUTI(_
preview
: QLPreviewRequest!) -> Unmanaged<CFString>!Objective C
CFStringRef QLPreviewRequestCopyContentUTI ( QLPreviewRequestRef preview );
Параметры
preview
Объект запроса предварительного просмотра.
Возвращаемое значение
UTI связанного запроса предварительного просмотра; возвраты
NULL
если UTI не доступен. Необходимо явно выпустить этот объект, когда он больше не необходим.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает опции, указанные для запроса предварительного просмотра.
Объявление
Swift
func QLPreviewRequestCopyOptions(_
preview
: QLPreviewRequest!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef QLPreviewRequestCopyOptions ( QLPreviewRequestRef preview );
Параметры
preview
Объект запроса предварительного просмотра.
Возвращаемое значение
Словарь, содержащий свойства, указан для запроса предварительного просмотра. Посмотрите Свойства Предварительного просмотра для поддерживаемых опций. Необходимо явно выпустить этот объект, когда он больше не необходим.
Обсуждение
Клиент устанавливает опции в запросе предварительного просмотра для предоставления подсказок генератору. (Для OS X v10.5 никакие опции поддерживаются.)
Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает URL документа, на который требуют предварительный просмотр.
Объявление
Swift
func QLPreviewRequestCopyURL(_
preview
: QLPreviewRequest!) -> Unmanaged<CFURL>!Objective C
CFURLRef QLPreviewRequestCopyURL ( QLPreviewRequestRef preview );
Параметры
preview
Объект запроса предварительного просмотра.
Возвращаемое значение
URL, идентифицирующий файл, на который требуют предварительный просмотр.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Получите пакет генератора, получающего запрос предварительного просмотра.
Объявление
Swift
func QLPreviewRequestGetGeneratorBundle(_
preview
: QLPreviewRequest!) -> Unmanaged<CFBundle>!Objective C
CFBundleRef QLPreviewRequestGetGeneratorBundle ( QLPreviewRequestRef preview );
Параметры
preview
Объект запроса предварительного просмотра.
Возвращаемое значение
Ссылка на объект пакета представление пакета генератора.
Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвраты, был ли запрос предварительного просмотра отменен клиентом.
Объявление
Swift
func QLPreviewRequestIsCancelled(_
preview
: QLPreviewRequest!) -> BooleanObjective C
Boolean QLPreviewRequestIsCancelled ( QLPreviewRequestRef preview );
Параметры
preview
Объект, представляющий запрос предварительного просмотра.
Возвращаемое значение
true
если запрос отменяется,false
иначе.Обсуждение
При вычислениях ответа генератор может опросить объект запроса предварительного просмотра с этой функцией, чтобы определить, отменил ли клиент запрос. Также генератор может реализовать
CancelPreviewGeneration
обратный вызов. но так как та функция вызвана во вторичном потоке, обычно более безопасно проявить подход опроса.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Получает идентификатор типа для
QLPreviewReqest
непрозрачный тип.Объявление
Swift
func QLPreviewRequestGetTypeID() -> CFTypeID
Objective C
CFTypeID QLPreviewRequestGetTypeID ( void );
Возвращаемое значение
Идентификатор типа для
QLPreviewReqest
непрозрачный тип.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос предварительного просмотра выполнен в; обычно, это - тот же поток в который
GeneratePreviewForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Определяет указатель на функцию обратного вызова, которую Беглый взгляд вызывает для запроса предварительного просмотра от генератора.
Объявление
Objective C
OSStatus (*GeneratePreviewForURL)( void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options );
Параметры
thisInterface
CFPlugIn
Интерфейс COM-стиля для генератора.preview
Объект, содержащий всю информацию, относящуюся к запросу предварительного просмотра. Роль генератора должна присвоить предварительный просмотр документа (в требуемом собственном типе) к этому объекту, прежде чем это возвратится.
url
URL (представленный a
CFURLRef
объект), который определяет местоположение документа, на который требуют предварительный просмотр.contentTypeUTI
Указание UTI типа контента документа, на который требуют предварительный просмотр.
options
Словарь опций для обработки предварительного просмотра. Опции могут быть переданы от клиента (например, Средство поиска или Центр внимания).
Возвращаемое значение
Код состояния, представляющий результат запроса. Для текущей версии этого обратного вызова необходимо всегда возвращаться
noErr
.Обсуждение
GeneratePreviewForURL
функцию обратного вызова, реализованную генератором Беглого взгляда, можно вызвать один или несколько раз concurrenly еслиQLSupportsConcurrentRequests
свойство в пакете генератораInfo.plist
файл установлен вtrue
. Если это верно, используйтеpreview
параметр для различения среди текущих запросов. Генератор мог бы также иметьQLNeedsToBeRunInMainThread
набор свойств кtrue
, когда обратный вызов всегда вызывается в основном потоке.Специальные замечания
Потокобезопасность: Для обсуждения проблем и возможных подходов, см. “Обзор Реализации Генератора “в Руководстве по программированию Беглого взгляда.
Доступность
Доступный в версии 10.5 OS X и позже.
-
Определяет указатель на функцию, которую Беглый взгляд вызывает для отмены запроса предварительного просмотра.
Объявление
Objective C
void (*CancelPreviewGeneration)( void *thisInterface, QLPreviewRequestRef preview );
Параметры
thisInterface
CFPlugIn
Интерфейс COM-стиля для генератора.preview
Объект, представляющий запрос предварительного просмотра.
Обсуждение
Если клиентское приложение указывает (обычно из-за пользовательского выбора), что это больше не интересуется предварительным просмотром, в настоящее время создаваемым генератором Беглого взгляда, эта функция обратного вызова вызывается. Генератор может реализовать эту функцию, чтобы прекратить создать предварительный просмотр и очищать ресурсы, используемые для создания его.
Альтернатива реализации этого обратного вызова должна периодически опрашивать
QLPreviewRequestRef
объект сQLPreviewRequestIsCancelled
видеть, был ли отменен запрос.Специальные замечания
Потокобезопасность: Для обсуждения проблем и возможных подходов, см. Обзор Реализации Генератора в Руководстве по программированию Беглого взгляда.
Доступность
Доступный в версии 10.5 OS X и позже.
-
Непрозрачная ссылка, представляющая
QLPreviewRequest
объект.Объявление
Swift
typealias QLPreviewRequestRef = QLPreviewRequest
Objective C
typedef struct __QLPreviewRequest *QLPreviewRequestRef;
Доступность
Доступный в версии 10.5 OS X и позже.
-
Ключи словаря свойств в функциях раньше создавали предварительный просмотр.
Объявление
Swift
let kQLPreviewPropertyDisplayNameKey: CFString! let kQLPreviewPropertyWidthKey: CFString! let kQLPreviewPropertyHeightKey: CFString! let kQLPreviewPropertyStringEncodingKey: CFString! let kQLPreviewPropertyMIMETypeKey: CFString! let kQLPreviewPropertyTextEncodingNameKey: CFString! let kQLPreviewPropertyAttachmentDataKey: CFString! let kQLPreviewPropertyAttachmentsKey: CFString! let kQLPreviewContentIDScheme: CFString!
Objective C
QL_EXPORT const CFStringRef kQLPreviewPropertyDisplayNameKey; QL_EXPORT const CFStringRef kQLPreviewPropertyWidthKey; QL_EXPORT const CFStringRef kQLPreviewPropertyHeightKey; QL_EXPORT const CFStringRef kQLPreviewPropertyStringEncodingKey; QL_EXPORT const CFStringRef kQLPreviewPropertyMIMETypeKey; QL_EXPORT const CFStringRef kQLPreviewPropertyTextEncodingNameKey; QL_EXPORT const CFStringRef kQLPreviewPropertyAttachmentDataKey; QL_EXPORT const CFStringRef kQLPreviewPropertyAttachmentsKey; QL_EXPORT const CFStringRef kQLPreviewContentIDScheme;
Константы
-
kQLPreviewPropertyDisplayNameKey
kQLPreviewPropertyDisplayNameKey
Указывает пользовательское имя дисплея в панели предварительного просмотра. Имя дисплея по умолчанию является заголовком документа. Значение должно инкапсулироваться в a
CFString
объект.Доступный в OS X v10.5 и позже.
-
kQLPreviewPropertyWidthKey
kQLPreviewPropertyWidthKey
Указывает ширину (в точках) предварительного просмотра. Обратите внимание на то, что это свойство является подсказкой; Беглый взгляд мог бы установить ширину автоматически для некоторых типов предварительных просмотров. Значение должно инкапсулироваться в a
CFNumber
объект.Доступный в OS X v10.5 и позже.
-
kQLPreviewPropertyHeightKey
kQLPreviewPropertyHeightKey
Указывает высоту (в точках) предварительного просмотра. Обратите внимание на то, что это свойство является подсказкой; Беглый взгляд мог бы установить высоту автоматически для некоторых типов предварительных просмотров. Значение должно инкапсулироваться в a
CFNumber
объект.Доступный в OS X v10.5 и позже.
-
kQLPreviewPropertyStringEncodingKey
kQLPreviewPropertyStringEncodingKey
Указывает строковое кодирование (как
CFStringEncoding
значение) данных предварительного просмотра, если собственный тип является простым текстом. Значение должно инкапсулироваться в aCFNumber
объект.Доступный в OS X v10.5 и позже.
-
kQLPreviewPropertyMIMETypeKey
kQLPreviewPropertyMIMETypeKey
Дает веб-контент или присоединяемый тип пантомимы. Для основных данных тип по умолчанию является «текстом/HTML». Значение является a
CFString
объект.Доступный в OS X v10.5 и позже.
-
kQLPreviewPropertyTextEncodingNameKey
kQLPreviewPropertyTextEncodingNameKey
Указывает кодирование присоединяемого текста или веб-контента. Для значения используйте кодировки IANA как «UTF-8». Значение значения является a
CFString
объект.Доступный в OS X v10.5 и позже.
-
kQLPreviewPropertyAttachmentDataKey
kQLPreviewPropertyAttachmentDataKey
Дает присоединяемые данные. Значение является a
CFData
объект.Доступный в OS X v10.5 и позже.
-
kQLPreviewPropertyAttachmentsKey
kQLPreviewPropertyAttachmentsKey
Дает список присоединений (или подресурсы). Значение является a
CFDictionary
объект.Ключи словаря являются присоединяемыми идентификаторами (
CFString
объекты), на который можно сослаться сcid:id
URL; значения являются словарями с помощьюkQLPreviewPropertyAttachmentDataKey
,kQLPreviewPropertyMIMETypeKey
иkQLPreviewPropertyTextEncodingNameKey
свойства.Доступный в OS X v10.5 и позже.
-
kQLPreviewContentIDScheme
kQLPreviewContentIDScheme
cid
Схема URL.cid
Схема URL разрешает HTML сообщения электронной почты относиться к изображениям или другим данным, включенным в сообщении. Для получения дополнительной информации перейдите в http://www .rfc-archive.org/getrfc.php? rfc=2111.Доступный в OS X v10.5 и позже.
Обсуждение
Вы используете эти ключи, чтобы указать, что свойства сгенерированного предварительного просмотра в словаре передали в функции
QLPreviewRequestCreateContext
,QLPreviewRequestCreatePDFContext
, иQLPreviewRequestSetDataRepresentation
как заключительный параметр.Доступность
Доступный в версии 10.5 OS X и позже.
-