Ссылка QLThumbnailRequest
Генераторы Беглого взгляда используют QLThumbnailRequest
API, чтобы помочь создать представление миниатюры документа, возвращающегося клиентам Беглого взгляда (таким как Средство поиска и Центр внимания) для дисплея. Объект QLThumbnailRequest
непрозрачный тип представляет запрос от клиента для миниатюры документа и используется, чтобы содержать или определить местоположение изображения, которое создает генератор.
Генератор должен реализовать GenerateThumbnailForURL
функция обратного вызова, чтобы создать и возвратить изображение миниатюр, которое требуют на данный документ. QLThumbnailRequest
дает Вам четыре способа определять миниатюру для документа:
Можно создать графический контекст для рисования миниатюры в. Графические контексты для миниатюр являются двумя видами: битовый массив и вектор единственной страницы. Вы используете
QLThumbnailRequestCreateContext
с этой целью.Можно извлечь миниатюру из документа и возвратить его с помощью
QLThumbnailRequestSetImageWithData
функция. Для этого подхода приложение документа должно сохранить миниатюру как часть данных документа.Можно создать изображение миниатюр и присвоить его запросу миниатюры с помощью
QLThumbnailRequestSetImage
функция.
Большинство других функций QLThumbnailRequest
позвольте Вам связать данные с запросом миниатюры, таким как URL, определяющий местоположение документа, UTI идентификация типа контента документа, и максимальный размер допускал изображение миниатюр.
-
Создает графический контекст для рисования миниатюры в.
Объявление
Swift
func QLThumbnailRequestCreateContext(_
preview
: QLThumbnailRequest!, _size
: CGSize, _isBitmap
: Boolean, _properties
: CFDictionary!) -> Unmanaged<CGContext>!Objective C
CGContextRef QLThumbnailRequestCreateContext ( QLThumbnailRequestRef thumbnail, CGSize size, Boolean isBitmap, CFDictionaryRef properties );
Параметры
preview
Объект запроса миниатюры.
size
Размер миниатюры; если
isBitmap
true
размер находится в пикселях, иначе это находится в точках.isBitmap
true
если данные миниатюры основаны на битовом массиве,false
если основанный на векторе. Это значение этого параметра влияет на интерпретациюsize
параметр.properties
Словарь, содержащий свойства для ответа миниатюры. (Для OS X v10.5 никакие свойства были определены.).
Возвращаемое значение
Базовый Графический графический объект контекста, в котором можно составить изображение миниатюр. Необходимо явно выпустить этот объект, когда он больше не необходим.
Обсуждение
Можно непосредственно нарисовать данные миниатюры в графическом объекте контекста, создаваемом этой функцией. После вызывания этой функции необходимо сбросить контекст с
QLThumbnailRequestFlushContext
. Также обязательно выпуститеCGContext
объект.С этой функцией можно создать два типа графических контекстов для рисования миниатюр: битовый массив и основанная на векторе единственная страница; Вы используете
isBitmap
флаг для различения два. Беглый взгляд обрабатывает растровый контекст миниатюры по-другому, чем нерастровые контексты; в последнем случае Беглый взгляд мог бы увеличить масштаб получения или вниз при необходимости, и это уважает масштабный коэффициент (за поддержку HiDPI).Если Вы предпочитаете работать в коде Objective C, можно преобразовать создаваемый
CGContextRef
к aNSGraphicsContext
объектное использованиеgraphicsContextWithGraphicsPort:flipped:
.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Устанавливает запрос миниатюры в указанное изображение.
Объявление
Swift
func QLThumbnailRequestSetImage(_
thumbnail
: QLThumbnailRequest!, _image
: CGImage!, _properties
: CFDictionary!)Objective C
void QLThumbnailRequestSetImage ( QLThumbnailRequestRef thumbnail, CGImageRef image, CFDictionaryRef properties );
Параметры
thumbnail
Объект запроса миниатюры.
image
Объект изображения, который будет использоваться в качестве миниатюры документа.
properties
Словарь свойств для миниатюры. (Для OS X v10.5 никакие свойства были определены.).
Обсуждение
Вы вызываете эту функцию для имения использования Беглого взгляда
CGImage
объект, предоставленный вimage
как миниатюра. ВызватьQLThumbnailRequestGetMaximumSize
получить максимальный позволенный размер для миниатюры и изменить размеры его при необходимости перед вызовомQLThumbnailSetImage
.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Устанавливает ответ на запрос миниатюры к данным изображения, сохраненным в документе.
Объявление
Swift
func QLThumbnailRequestSetImageWithData(_
thumbnail
: QLThumbnailRequest!, _data
: CFData!, _properties
: CFDictionary!)Objective C
void QLThumbnailRequestSetImageWithData ( QLThumbnailRequestRef thumbnail, CFDataRef data, CFDictionaryRef properties );
Параметры
thumbnail
Объект запроса миниатюры.
data
Данные изображения, которые должны быть в формате, поддерживаемом Изображением платформой I/O (JPG, PNG, и т.д.). Другими словами, тип контента
kUTTypeImage
принят. (ImageIO.framework
подплатформа платформы Прикладных служб зонтика.)properties
Словарь свойств. Единственное свойство, которое можно в настоящее время указывать,
kCGImageSourceTypeIdentifierHint
; посмотрите Кварц 2D Руководство по программированию для получения информации об этом свойстве.Обсуждение
Эта функция возвращает миниатюру как a
CFData
объект, содержащий данные изображения. Приложение документа должно сохранить эти данные как часть данных документа; генератор получает его и использует эту функцию, чтобы возвратить его клиенту. Прежде чем Вы вызовете эту функцию, вызватьQLThumbnailRequestGetMaximumSize
получить максимальный позволенный размер для миниатюры и изменить размеры изображения при необходимости.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Сбросьте графический контекст, и устанавливает ответ миниатюры.
Объявление
Swift
func QLThumbnailRequestFlushContext(_
preview
: QLThumbnailRequest!, _context
: CGContext!)Objective C
void QLThumbnailRequestFlushContext ( QLThumbnailRequestRef thumbnail, CGContextRef context );
Параметры
preview
Объект запроса предварительного просмотра.
context
Графический контекст для сбрасывания.
Обсуждение
Необходимо вызвать этот метод после рисования в графическом контексте, создаваемом
QLThumbnailRequestCreateContext
.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает UTI для запроса миниатюры.
Объявление
Swift
func QLThumbnailRequestCopyContentUTI(_
thumbnail
: QLThumbnailRequest!) -> Unmanaged<CFString>!Objective C
CFStringRef QLThumbnailRequestCopyContentUTI ( QLThumbnailRequestRef thumbnail );
Параметры
thumbnail
Объект запроса миниатюры.
Возвращаемое значение
Идентификация UTI типа контента документа, на который требуют миниатюру; возвраты
NULL
если не может быть расположен UTI. Необходимо явно выпустить этот строковый объект, когда он больше не необходим.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает опции, указанные для запроса миниатюры.
Объявление
Swift
func QLThumbnailRequestCopyOptions(_
thumbnail
: QLThumbnailRequest!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef QLThumbnailRequestCopyOptions ( QLThumbnailRequestRef thumbnail );
Параметры
thumbnail
Объект запроса миниатюры.
Возвращаемое значение
Словарь, содержащий опции, что клиент указан для запроса миниатюры. Посмотрите Общие Опции Миниатюры для поддерживаемых опций. Необходимо явно выпустить словарь, когда он больше не необходим.
Обсуждение
Клиент устанавливает опции в запросе миниатюры для предоставления подсказок генератору. (Для OS X v10.5 никакие опции поддерживаются.) Необходимо явно выпустить словарь, когда он больше не необходим.
Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает URL документа, на который требуют запрос миниатюры.
Объявление
Swift
func QLThumbnailRequestCopyURL(_
thumbnail
: QLThumbnailRequest!) -> Unmanaged<CFURL>!Objective C
CFURLRef QLThumbnailRequestCopyURL ( QLThumbnailRequestRef thumbnail );
Параметры
thumbnail
Объект запроса миниатюры.
Возвращаемое значение
URL, идентифицирующий документ, на который требуют миниатюру. Необходимо явно выпустить объект CFURL, когда он больше не необходим.
Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Получите пакет генератора, получающего запрос миниатюры.
Объявление
Swift
func QLThumbnailRequestGetGeneratorBundle(_
thumbnail
: QLThumbnailRequest!) -> Unmanaged<CFBundle>!Objective C
CFBundleRef QLThumbnailRequestGetGeneratorBundle ( QLThumbnailRequestRef thumbnail );
Параметры
thumbnail
Объект запроса миниатюры.
Возвращаемое значение
Ссылка на объект пакета представление пакета генератора.
Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает максимальный размер (в точках) указанный для изображения миниатюр.
Объявление
Swift
func QLThumbnailRequestGetMaximumSize(_
thumbnail
: QLThumbnailRequest!) -> CGSizeObjective C
CGSize QLThumbnailRequestGetMaximumSize ( QLThumbnailRequestRef thumbnail );
Параметры
thumbnail
Объект запроса миниатюры.
Возвращаемое значение
Максимальный размер (в точках) указанный для изображения миниатюр.
Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвраты, был ли запрос миниатюры отменен клиентом.
Объявление
Swift
func QLThumbnailRequestIsCancelled(_
thumbnail
: QLThumbnailRequest!) -> BooleanObjective C
Boolean QLThumbnailRequestIsCancelled ( QLThumbnailRequestRef thumbnail );
Параметры
thumbnail
Объект запроса миниатюры.
Возвращаемое значение
true
если запрос отменяется,false
иначе.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в OS X v10.5 и позже.
-
Получает идентификатор типа для
QLThumbnailRequest
непрозрачный тип.Объявление
Swift
func QLThumbnailRequestGetTypeID() -> CFTypeID
Objective C
CFTypeID QLThumbnailRequestGetTypeID ( void );
Возвращаемое значение
Идентификатор типа для
QLThumbnailRequest
непрозрачный тип.Специальные замечания
Потокобезопасность: Эта функция должна быть вызвана в том же потоке, как запрос миниатюры выполнен в; обычно, это - тот же поток в который
GenerateThumbnailForURL
обратный вызов был вызван.Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в версии 10.5 OS X и позже.
Следующие функции для использования клиентами Беглого взгляда (обычно приложения), не плагинами генератора.
-
Создает изображение миниатюр для указанного файла.
Объявление
Swift
func QLThumbnailImageCreate(_
allocator
: CFAllocator!, _url
: CFURL!, _maxThumbnailSize
: CGSize, _options
: CFDictionary!) -> Unmanaged<CGImage>!Objective C
CGImageRef QLThumbnailImageCreate ( CFAllocatorRef allocator, CFURLRef url, CGSize maxThumbnailSize, CFDictionaryRef options );
Параметры
allocator
Средство выделения для использования для создания изображения миниатюр.
url
URL, определяющий местоположение файла для создания изображение миниатюр для.
maxThumbnailSize
Максимальный желаемый размер изображения миниатюр.
options
Словарь опций, влияющих на создание изображения миниатюр. Поддерживаются две опции:
kQLThumbnailOptionIconModeKey
иkQLThumbnailOptionScaleFactorKey
.Возвращаемое значение
Возвращает изображение миниатюр или
NULL
если Беглый взгляд не поддерживает этот тип файлаОбсуждение
Эта функция не вытесняет использование Icon Services приложениями как способ получить универсальные значки файла и пользовательские значки, сохраненные в ветвлении метаданных файлов.
Специальные замечания
Потокобезопасность: Эта функция ориентирована на многопотоковое исполнение, таким образом, можно вызвать ее от любого потока. Однако, потому что это синхронно, необходимо обычно вызывать его в фоновом потоке.
Оператор импорта
Objective C
@import QuickLook;
Swift
import QuickLook
Доступность
Доступный в OS X v10.5 и позже.
-
Определяет указатель на функцию обратного вызова, которую Беглый взгляд вызывает для запроса миниатюры от генератора.
Объявление
Objective C
OSStatus (*GenerateThumbnailForURL)( void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize );
Параметры
thisInterface
CFPlugIn
Интерфейс COM-стиля для генератора.thumbnail
Объект, содержащий всю информацию, относящуюся к запросу миниатюры. Роль генератора должна присвоить миниатюру документа (в одном из собственных типов Беглого взгляда) к этому объекту, прежде чем это возвратится.
url
URL (представленный a
CFURLRef
объект), который определяет местоположение документа, на который требуют миниатюру.contentTypeUTI
Указание UTI типа контента документа, на который требуют миниатюру.
options
Словарь опций передал от клиента (например, Средство поиска или Центр внимания), которые являются подсказками для обработки миниатюры.
maxSize
Максимальный желаемый размер миниатюры.
Возвращаемое значение
Код состояния, представляющий результат запроса. Для текущей версии этого обратного вызова необходимо всегда возвращаться
noErr
.Обсуждение
GenerateThumbnailForURL
функцию обратного вызова, реализованную генератором Беглого взгляда, можно вызвать один или несколько раз одновременно еслиQLSupportsConcurrentRequests
опция в пакете генератораInfo.plist
файл установлен вtrue
. Если это верно, используйтеthumbnail
параметр для различения среди текущих запросов. Генератор мог бы также иметьQLNeedsToBeRunInMainThread
набор свойств кtrue
, когда обратный вызов всегда вызывается в основном потоке.Специальные замечания
Потокобезопасность: Для обсуждения проблем и возможных подходов, см. “Обзор Реализации Генератора “в Руководстве по программированию Беглого взгляда.
Доступность
Доступный в версии 10.5 OS X и позже.
-
Определяет указатель на функцию, которую Беглый взгляд вызывает для отмены запроса миниатюры.
Объявление
Objective C
void (*CancelThumbnailGeneration)( void *thisInterface, QLThumbnailThumbnailRef thumbnail );
Параметры
thisInterface
CFPlugIn
Интерфейс COM-стиля для генератора.thumbnail
Объект, представляющий запрос миниатюры.
Обсуждение
Если клиентское приложение решает (обычно из-за пользовательского выбора), что это больше не интересуется миниатюрой, в настоящее время создаваемой генератором Беглого взгляда, это вызывает эту функцию обратного вызова. Генератор может реализовать эту функцию, чтобы прекратить создать миниатюру и очищать ресурсы, используемые для создания его.
Альтернатива реализации этого обратного вызова должна периодически опрашивать
QLThumbnailRequestRef
объект сQLThumbnailRequestIsCancelled
видеть, был ли отменен запрос.Доступность
Доступный в версии 10.5 OS X и позже.
-
Непрозрачная ссылка, представляющая
QLThumbnailRequest
объект.Объявление
Swift
typealias QLThumbnailRequestRef = QLThumbnailRequest
Objective C
typedef struct __QLThumbnailRequest *QLThumbnailRequestRef;
Доступность
Доступный в версии 10.5 OS X и позже.
-
Ключи, используемые для опций, переданных клиентом генератору и клиентом при запросе изображения миниатюр.
Объявление
Swift
let kQLThumbnailOptionScaleFactorKey: CFString!
Objective C
QL_EXPORT const CFStringRef kQLThumbnailOptionScaleFactorKey;
Константы
-
kQLThumbnailOptionScaleFactorKey
kQLThumbnailOptionScaleFactorKey
Ключ раньше указывал пользовательский масштабный коэффициент для миниатюры.
float
значение инкапсулируется в aCFNumber
объект. Если эта опция отсутствует, значение по умолчанию 1.0Доступный в OS X v10.5 и позже.
Обсуждение
Эта константа является ключом для доступа к значению масштабного коэффициента в словаре, переданном в
GenerateThumbnailForURL
вoptions
параметр. Это может также использоваться дляQLThumbnailImageCreate
функция, вызванная клиентами (обычно приложения) Беглого взгляда.Доступность
Доступный в версии 10.5 OS X и позже.
-
-
Клиенты Беглого взгляда могут указать следующие свойства словаря опции для специальной обработки изображений миниатюр.
Объявление
Swift
let kQLThumbnailOptionIconModeKey: CFString!
Objective C
QL_EXPORT const CFStringRef kQLThumbnailOptionIconModeKey;
Константы
-
kQLThumbnailOptionIconModeKey
kQLThumbnailOptionIconModeKey
Если значение
kCFBooleanTrue
, Беглый взгляд производит миниатюру как значок. Изображение включает всю типичную обстановку значка, такую как тени и вихревой угол. ЕслиkCFBooleanFalse
(значение по умолчанию), указан, никакая обстановка значка не включена с изображением миниатюр.Доступный в OS X v10.5 и позже.
-