Константы
Константы совместного использования окна
Указывает, ли и как окна совместно используются приложениями.
enum { kCGWindowSharingNone = 0, kCGWindowSharingReadOnly = 1, kCGWindowSharingReadWrite = 2 };
Константы
kCGWindowSharingNone
Окно не совместно используется.
kCGWindowSharingReadOnly
Окно совместно используется, и его содержание может быть считано всеми процессами, но изменено только процессом, создавшим его.
kCGWindowSharingReadWrite
Окно совместно используется, и его содержание может быть считано и изменено любым процессом.
Типы запоминающего устройства
Указывает, как команды рисования буферизуются устройством окна.
enum { kCGBackingStoreRetained = 0, kCGBackingStoreNonretained = 1, kCGBackingStoreBuffered = 2 };
Константы
kCGBackingStoreRetained
Окно использует буфер, но рисует непосредственно на экран где возможный и на буфер для затененных частей.
Вы не должны обычно использовать этот режим. Это комбинирует ограничения
kCGBackingStoreNonretained
с использованием памятиkCGBackingStoreBuffered
. Исходная реализация NeXTSTEP была интересным компромиссом, работавшим хорошо с отображенными кадровыми буферами быстродействующей памяти на шине CPU — что-то, что не было во всеобщем употреблении приблизительно с 1994. Они имеют тенденцию иметь проблемы производительности.В OS X v10.5 и позже, запросы на сохраненные окна приведут к оконной системе, создающей буферизированное окно, как тот лучшие соответствия фактическое использование
kCGBackingStoreNonretained
Окно рисует непосредственно на экран, не используя буфера.
Вы не должны обычно использовать этот режим. Это существует прежде всего для использования в исходном Классическом Синем Поле. Это не поддерживает Кварцевое получение, альфа-смешивание или непрозрачность. Кроме того, это не поддерживает аппаратное ускорение и вмешивается в ускорение дисплея в масштабе всей системы. При использовании этого режима приложение должно управлять областью видимости, отсекающей себя, и управлять перекрашиванием на изменениях видимости.
kCGBackingStoreBuffered
Окно вовлекает дисплейный буфер и затем сбрасывает тот буфер на экран.
Необходимо обычно использовать этот режим. Это поддерживает аппаратное ускорение, Кварцевое получение, и использует в своих интересах GPU, если это возможно. Это также поддерживает получение альфа-канала, средства управления непрозрачностью, с помощью наборщика.
Константы опции списка окна
Указывает который окна в текущий сеанс пользователя включать в сгенерированный список.
enum { kCGWindowListOptionAll = 0, kCGWindowListOptionOnScreenOnly = (1 << 0), kCGWindowListOptionOnScreenAboveWindow = (1 << 1), kCGWindowListOptionOnScreenBelowWindow = (1 << 2), kCGWindowListOptionIncludingWindow = (1 << 3), kCGWindowListExcludeDesktopElements = (1 << 4) }
Константы
kCGWindowListOptionAll
Перечислите все окна, и включая экранные и включая внеэкранные окна. При получении списка с этой опцией relativeToWindow параметр должен быть установлен на
kCGNullWindowID
.kCGWindowListOptionOnScreenOnly
Перечислите все окна, которые являются в настоящее время экранными. Windows возвращается в порядке по всей длине. При получении списка с этой опцией relativeToWindow параметр должен быть установлен на
kCGNullWindowID
.kCGWindowListOptionOnScreenAboveWindow
Перечислите все окна, которые являются в настоящее время экранными и перед окном, указанным в relativeToWindow параметре. Windows возвращается в порядке по всей длине.
kCGWindowListOptionOnScreenBelowWindow
Перечислите все окна, которые являются в настоящее время экранными и в позади окна, указанного в relativeToWindow параметре. Windows возвращается в порядке по всей длине.
kCGWindowListOptionIncludingWindow
Включайте указанное окно (от relativeToWindow параметра) в возвращенном списке. Необходимо объединить эту опцию с
kCGWindowListOptionOnScreenAboveWindow
илиkCGWindowListOptionOnScreenBelowWindow
опция получить значимые результаты.kCGWindowListExcludeDesktopElements
Исключите любые окна из списка, которые являются элементами рабочего стола, включая фоновое изображение и значки на рабочем столе. Можно объединить эту опцию с другими опциями.
Обсуждение
kCGWindowListOptionIncludingWindow
и kCGWindowListExcludeDesktopElements
константы могут быть объединены с другими константами путем добавления (или осуществление операции ИЛИ) их вместе и передачи получающегося значения надлежащей функции.
Эти константы позволяют Вам получить окна в текущий сеанс пользователя только. Вы не можете использовать их для получения окон от других сеансов активного пользователя, работающих на системе.
Типы изображения окна
Указывает опции для получения изображения окна.
enum { kCGWindowImageDefault = 0, kCGWindowImageBoundsIgnoreFraming = (1 << 0), kCGWindowImageShouldBeOpaque = (1 << 1), kCGWindowImageOnlyShadows = (1 << 2), kCGWindowImageBestResolution = (1 << 3), kCGWindowImageNominalResolution = (1 << 4) };
Константы
kCGWindowImageDefault
Когда требуемый прямоугольник получения
CGRectNull
, использование этой опции получает все окно плюс область, требуемая вывести на экран любые эффекты структурирования, такие как тень окна. Это - поведение по умолчанию.kCGWindowImageBoundsIgnoreFraming
Когда требуемый прямоугольник получения
CGRectNull
, использование этой опции получает область окна только и не получает область, занятую никакими эффектами структурирования окна.kCGWindowImageShouldBeOpaque
При получении окна частично прозрачные области поддерживаются чистым белым цветом так, чтобы получающееся изображение было полностью непрозрачно. Можно объединить эту опцию с другими опциями.
kCGWindowImageOnlyShadows
При получении окна только получены эффекты тени.
kCGWindowImageBestResolution
kCGWindowImageNominalResolution
Тип кодировки CGWindowID
Определяет тип кодировки для окна IDs.
#define kCGWindowIDCFNumberType kCFNumberSInt32Type
Константы
kCGWindowIDCFNumberType
Тип кодировки для окна IDs внутри a
CFNumberRef
непрозрачный тип.
Нулевое окно
Определяет гарантируемое недопустимое окно ID.
#define kCGNullWindowID ((CGWindowID)0)
Константы
kCGNullWindowID
Гарантируемое недопустимое окно ID.
Окно, совместно использующее тип кодировки
Определяет тип кодировки для значений совместного использования окна.
#define kCGWindowSharingCFNumberType kCFNumberSInt32Type
Константы
kCGWindowSharingCFNumberType
Тип кодировки для окна, совместно использующего значения внутри a
CFNumberRef
непрозрачный тип.
Окно, поддерживающее тип кодировки
Определяет тип кодировки для типов поддержки окна.
#define kCGWindowBackingCFNumberType kCFNumberSInt32Type
Константы
kCGWindowBackingCFNumberType
Тип кодировки для окна, поддерживающего значения внутри a
CFNumberRef
непрозрачный тип.
Требуемые ключи списка окна
Ключи, которые, как гарантируют, будут доступны в информационном словаре окна.
const CFStringRef kCGWindowNumber; const CFStringRef kCGWindowStoreType; const CFStringRef kCGWindowLayer; const CFStringRef kCGWindowBounds; const CFStringRef kCGWindowSharingState; const CFStringRef kCGWindowAlpha; const CFStringRef kCGWindowOwnerPID; const CFStringRef kCGWindowMemoryUsage;
Константы
kCGWindowNumber
Значение для этого ключа является a
CFNumberRef
введите (закодированный какkCGWindowIDCFNumberType
) это содержит окно ID. Окно ID уникально в течение текущего сеанса пользователя.kCGWindowStoreType
Значение для этого ключа является a
CFNumberRef
введите (закодированный какkCFNumberIntType
) это содержит одну из констант, определенных в Типах Запоминающего устройства.kCGWindowLayer
Значение для этого ключа является a
CFNumberRef
введите (закодированный какkCFNumberIntType
) это содержит число уровня окна.kCGWindowBounds
Значение для этого ключа является a
CFDictionaryRef
введите, который должен декодироваться к aCGRect
введите использованиеCGRectMakeWithDictionaryRepresentation
функция. Координаты прямоугольника указаны в экранном пространстве, где источник находится в верхнем левом углу основного дисплея.kCGWindowSharingState
Значение для этого ключа является a
CFNumberRef
введите (закодированный какkCFNumberIntType
) это содержит одну из констант, определенных в Константах Совместного использования Окна.kCGWindowAlpha
Значение для этого ключа является a
CFNumberRef
введите (закодированный какkCFNumberFloatType
) это содержит альфу окна, исчезают уровень. Это число находится в диапазоне 0.0 к 1,0, где 0.0 полностью прозрачно, и 1.0 полностью непрозрачно.kCGWindowOwnerPID
Значение для этого ключа является a
CFNumberRef
введите (закодированный какkCFNumberIntType
) это содержит процесс ID приложения, которому принадлежит окно.kCGWindowMemoryUsage
Значение для этого ключа является a
CFNumberRef
введите (закодированный какkCFNumberLongLongType
) это содержит оценку объема памяти (измеренный в байтах) используемый окном и его структурами иллюстрирующих материалов.
Дополнительные ключи списка окна
Ключи, которые могут дополнительно быть доступными в информационном словаре окна.
const CFStringRef kCGWindowWorkspace; const CFStringRef kCGWindowOwnerName; const CFStringRef kCGWindowName; const CFStringRef kCGWindowIsOnscreen; const CFStringRef kCGWindowBackingLocationVideoMemory;
Константы
kCGWindowWorkspace
Ключ, идентифицирующий рабочую область, которой принадлежит окно. Значение для этого ключа является a
CFNumberRef
введите, чье значение кодируется с помощьюkCFNumberIntType
ввести.kCGWindowOwnerName
Ключ, идентифицирующий имя приложения, которому принадлежит окно. Значение для этого ключа является a
CFStringRef
ввести.kCGWindowName
Ключ, идентифицирующий имя окна, как сконфигурировано в Кварце. Значение для этого ключа является a
CFStringRef
ввести. (Обратите внимание на то, что немного приложений определяют имя окна Quartz.)kCGWindowIsOnscreen
Ключ, идентифицирующий, является ли окно в настоящее время экранным. Значение для этого ключа является a
CFBooleanRef
ввести.kCGWindowBackingLocationVideoMemory
Ключ, идентифицирующий, расположено ли запоминающее устройство окна в видеопамяти. Значение для этого ключа является a
CFBooleanRef
ввести.