Глоссарий
accelerate
Клавиша акселератор. - См. hotkey
activate
Активация (приведение в действие). Виджет обычно активирован, когда Вы отпускаете кнопку мыши в то время, когда указываете на взведенный (armed) виджет.
activate window
Активное окно. Окно, имеющее в данный момент фокус (focus)
anchor offset
Смещение привязки. Расстояние между краями некоторого виджета и родительского виджета, к которому он привязан (anchored).
anchor
Привязка. Механизм ограничения, использующийся для управления тем, что происходит с виджетом, когда его родитель расширяется или сужается. Например, панель, привязанная к сторонам окна, расширяется или сужается, когда изменяются размеры окна.
application region
Регион приложения. Регион (region), принадлежащий приложению Photon'а (в противоположность системным процессам Photon'а, таким как оконный менеджер, графические драйверы, прочая). Регион приложения обычно размещается позади региона устройств (device region). Также называется регионом окна (window region).
argument list
Список аргументов. Некий массив типа PtArg_t, используемый при установке и получении ресурсов виджета.
arm
Взведение (приведение в состояние готовности). Виджет обычно взводится (armed), когда Вы нажимаете кнопку мыши в момент, когда указатель мыши находится на виджете.
backdrop
Фон. Изображение, которое отображается в качестве фона на Вашем экране.
backdrop regin
Регион фона. Регион, размещённый позади всех окон для отображения фонового изображения.
balloon
Всплывающая подсказка. Маленький прямоугольник, который всплывает для того, чтобы охарактеризовать или объяснить часть пользовательского интерфейса. Всплывающая подсказка отображается, когда указатель мыши задерживается над виджетом.
bitmap
Побитовый образ. Цветная картинка, состоящая из одной или нескольких побитовых плоскостей (bitplanes)
bitplane
Побитовая плоскость. Массив битов, представляющих в побитовом образе (bitmap) пиксели одного цвета.
blit
Блитирование. Операция, перемещающая некую область графического контекста (напр., экран) в другую область с таким же или иным контекстом.
callback
Ответная реакция. Функция ответной реакции (callback function) или ресурс ответной реакции (callback resource).
callback function
Функция ответной реакции. Код, соединяющий некий пользовательский интерфейс приложения с кодом приложения. Например, ответная реакция вызывается при нажатии на кнопку.
callback resource
Ресурс ответной реакции. Ресурс (resource), который определяет список функций и их клиентские данные, вызываемых при совершении определённого действия.
canvas
Холст. Часть виджета, используемая под прорисовку. Для PtWidget это область внутри границ виджета. Для PtBasic и его потомков полотнищем является область границ виджета и окаймления (margins). Другие виджеты, такие как PtLabel, могут определять дополнительные окаймления.
class
Класс. См. класс виджета (class widget).
class hierarchy
Иерархия классов. Взаимосвязи между всеми классами виджетов.
client data
Данные клиента. Какие-либо произвольные данные, которые нужны приложению для выполнения функции ответной реакции.
clipping list
Список отсечений. Некий массив прямоугольников, используемый для ограничения вывода в определённые области .
clipping rectagle
Прямоугольник отсечения. Прямоугольник, использующийся для ограничения вывода в определённую область.
CMY value
Значение CMY. Цвет, выраженный в уровнях голубого, сиреневого и жёлтого (C[yan]M[agenta]Y[ellow])
CMYK value
Значение CMYK. Цвет, выраженный в уровнях голубого, сиреневого, жёлтого и чёрного.
code-type link callback
Связанная ответная реакция кодового типа. В приложении PhAB – некая функция, вызываемая при вызове списка ответных реакций.
color depth
Глубина цвета. Число битов на пиксель для экрана или попиксельного отображения.
Common User Access
Общепользовательский доступ. См. CUA.
compose sequence
Составная (формируемая) последовательность. Последовательность нажатий клавиш, которая может использоваться для набора символов, которых может не оказаться на клавиатуре.
console
Консоль. Один из девяти виртуальных экранов рабочего стола (desktop). Также называется рабочим пространством (workspase).
consume
Поглощение. Когда виджет обработал какое-то событие и взаимодействие других виджетов с этим событием не допускается, говорят, что первый виджет поглотил (consumed) событие.
container
Контейнер. Виджет, который может иметь другие виджеты в качестве потомков, например, PtWindow, PtGroup и PtOSContainer.
cooked event
Сотворённое событие. Событие нажатия клавиши или кнопки мыши, назначенное какой-то локации в пространстве событий Photon'а. Также называется сфокусированным событием (focused event).
CUA Common User Access
Общепользовательский доступ. Стандарт, определяющий, как Вы можете изменить фокус, используя клавиатуру.
cursor
Курсор. Некий указатель позиции на экране, такой как указатель мыши (pointer) или указатель вставки в текстовой области.
damaged
Повреждённость. Каждый раз, когда какой-то виджет требует перерисовки в окне (напр., виджет был изменён, перемещён или реализован (realized)), говорят, что виджет повреждён.
dead key
Пассивная клавиша. Клавиша, которая, будучи нажатой, не производит символ, а инициализирует составную последовательность (compose sequence).
default placement
Размещение по умолчанию. Размещение региона, когда для него не заданы братья. Противоположность заданному размещению (specific placement).
desktop
Рабочий стол. Виртуальный экран, состоящий из девяти консолей (consoles) или рабочих пространств (workspase).
device region
Регион устройств. Регион (region), расположенный в середине пространства событий (event space), с регионами приложений (application regions) позади него и регионами драйверов (drives regions) перед ним (с точки зрения пользователя).
dialog module
Модуль диалога. Модуль (module) PhAB, похожий на модуль окна (window module), за исключением того, что модуль диалога может существовать для каждого процесса только в одном экземпляре.
direct-color
Напрямую определённый цвет. Цветовая схема, в которой каждый пиксель представлен значением RGB. Противоположность цвету, основанному на палитре (palette-based).
disjoint parent
Отделённый родитель. Отделённый виджет (disjoint widget), являющийся прародителем другого виджета.
disjoinit widget
Отделённый виджет. Виджет, который может существовать без родителя. Если отделённый виджет имеет родителя, он может существовать вне полотнища своего родителя. Например, PtWindow, PtMenu и PtRegion являются отделёнными виджетами, а PtButton, PtBkgd, PtRect – нет.
Отделённый виджет явялется владельцем регионов, которые не являются потомками регионов его родителя. Любой набор отсечения родителя отделённого виджета не применяется к отделённому виджету. Регионы отделённых виджетов чувствительны и непрозрачны к испускаемым событиям.
dithering
Сглаживание. Процесс, при котором пиксели двух цветов комбинируются для создания текстуры или смешанного цвета.
draw context
Контекст прорисовки. Структура, описывающая поток прорисовки. Принимаемый по умолчанию контекст прорисовки генерирует события прорисовки для графических драйверов. Контексты печати (print contexts) и контексты памяти (memory contexts) являются типами контекстов прорисовки.
draw stream
Поток прорисовки. Набор маркеров (токенов), которые отсылаются в событиях прорисовки и могут накапливаться движком визуализации, таким как графический драйвер.
driver region
Регион драйверов. Регион (region), созданный драйвером, обычно располагается перед регионом устройств (device region).
encapsulation driver
Инкапсулированный драйвер. Программа, которая отображает графический вывод Phonon'а внутри другой оконной системы, такой как X Window System.
event
Событие. Структура данных, которая представляет из себя некое взаимодействие между Вами и приложением или между приложениями. События проходят через пространство событий к Вам либо от Вас (т.е. в сторону корневого региона (root region)).
event compression
Сжатие событий. Слияние событий таким образом, что приложение видит только их самые последние (поздние) значения. Приложению не приходится обрабатывать множество ненужных событий.
event handler
Отработчик событий. Функция ответной реакции, которая позволяет приложению реагировать непосредственно на события Photon'а, такие как перетаскивание событий.
event mask
Маска событий. Набор типов событий, которые представляют интерес для некоего обработчика событий (event handler). Когда одно из них встречается, вызывается обработчик событий.
event space
Пространство событий. Абстрактно, это трёхмерное пространство, содержащее регионы – от корневого региона сзади до графического региона впереди. Вы сидите вне пространства событий, глядя на него спереди. События проходят сквозь пространство событий в сторону корневого региона или в направлении к Вам.
exported subordinate child
Экспортированный подчинённый потомок. Виджет, созданный виджетом контейнерного типа (в противоположность приложению), к чьим ресурсам Вы можете получить доступ только через его родителя.
exposure
Дефект. Обычно происходит, когда регион (region) уничтожен, изменены его размеры или он перемещён. Событие дефекта посылается приложению, информируя его, когда содержание регионов приложения требует перерисовки.
extent
Размер, занимаемое пространство. Прямоугольник, описывающий самые удалённые края виджета.
File Manager
Файловый менеджер. Приложение Photon File Manager (PFM), использующееся для обслуживания и организации файлов и директорий.
focus
Фокус. Виджет, имеющий фокус, будет получать любые события клавиатуры, накопленные его окном.
focus region
Регион фокуса. Регион, помещённый непосредственно позади региона устройств (device region) оконным менеджером Photon'а (Photon Window Manager), что позволяет ему перехватывать события клавиатуры и направлять их на активное окно (active window).
focused event
Сфокусированное событие. Событие клавиатуры или кнопки мыши, назначенное локации в пространстве событий Photon'а. Также называется сотворённым событием (cooked event).
folder
Папка. В файловом менеджере Photon'а – метафора директории.
GC
Графический контекст. См. графический контекст (graphics context).
geometry negotiation
Согласование геометрии. Процесс определения расположения виджета и его потомков, который зависит от политики расположения виджетов, всех наборов размеров виджетов и размеров и желательных позиций каждого потомка виджета.
global header file
Глобальный заголовочный файл. Заголовочный файл, который включается во весь код, генерируемый PhAB'ом для приложения. Глобальный заголовочный файл задаётся в PhAB'овском диалоге задания стартовой информации приложения (Application Startup Information dialog).
graphics driver
Графический драйвер. Программа, которая размещает регион, чувствительный к событиям прорисовки, с пользовательской стороны региона устройств, накапливает события прорисовки и визуализирует на экране графическую информацию.
graphics context (GC)
Графический контекст. Структура данных, определяющая характеристики примитивов, включая цвет переднего плана, цвет фона, ширину линий, отсечение, прочая.
Helpviewer
Хэлпвьювер (да ну там, ну какой "Просмотровщик помощи???" Никто так не говорит... – Прим.пер.). Приложение Photon'а для просмотра он-лайновой информации.
hotkey
Горячая клавиша. Специальная клавиша или сочетание клавиш, которая вызывает некое действие (такое, как пункт меню) без фактического выбора виджета. Также называется клавишей-акселератором (accelerator). Отличается от клавиш быстрого доступа (keyboard short cut).
hotspot
Горячая точка. Часть указателя мыши, соответствующая координатам, которые сообщаются указателю (например, точка пересечения перекрестья, или конец острия стрелки основного указателя).
HSB
Цветовая модель "Оттенок – Насыщенность – Яркость" (Hue – Saturation – Brightness)
HSV
Цветовая модель "Оттенок – Насыщенность – Значение" (Hue – Saturation – Value)
icon module
Модуль иконки. Модуль PhAB, который связывает иконки с приложением.
image
Образ. Прямоугольный массив значений цвета, в котором каждый элемент представляет один пиксель. См. также напрямую определённый цвет (direct-color) и цвет, основанный на палитре (palette-based).
initilization function
Функция инициализации. В приложении Photon'а это некая функция, которая вызывается до того, как будет создан какой-либо виджет.
input driver
Драйвер ввода. Программа, которая генерирует и явлется источником событий клавиатуры и/или указателя мыши.
input group
Группа ввода. Набор устройств ввода/вывода. Обычно имеется по одной группе ввода на пользователя.
input handler (or input-handling function)
Обработчик ввода (или функция обработки ввода). Функция, которая подключена в главную петлю обработки событий для перехвата и обработки сообщений и импульсов (pulses), посылаемых приложению другими процессами.
instance
Экземпляр. Конкретный образец абстрактного класса; например, "Тузик" является экземпляром класса "Собака". В Photon'е экземпляр – это обычно экземпляр виджета; например, кнопка для нажатия является экземпляром виджетного класса PtButton. Когда создаётся экземпляр виджета, для него определяются начальные значения его ресурсов.
instance name
Имя экземпляра объекта. В PhAB – строка, идентифицирующая конкретный экземпляр виджета, так что Вы можете получить доступ к экземпляру из кода Вашего приложения.
instatiation
Реализация экземпляра. Действие, создающее экземпляр (instance) виджетного класса в приложении.
internal link
Внутреннее связывание. Механизм в PhAB, позволяющий разработчику получать доступ к модулю PhAB непосредственно из программного кода приложения.
Image Viewer
Просмотровщик рисунков. Приложение Photon'а (pv), отображающее рисунки (образы).
Key modifier
Модификатор клавиши. Флаг в событии клавиатуры, указывающий состояние соответствующей клавиши-модификатора (modifer key), когда была нажата другая клавиша.
Keyboard driver
Драйвер клавиатуры. Программа, получающая информацию от клавиатуры как аппаратного средства, выстраивающая Photon'овские события клавиатуры и генерирующая их в направлении корневого региона.
Keyboard shortcut
Клавиша быстрого доступа. Клавиша, которая выбирает пункт меню. Клавиша быстрого выбора работает только тогда, когда меню отображено. Противоположность "горячей" клавише (hotkey).
language database
Языковая база данных. Файл, содержащий текстовые строки, используемые в приложении PhAB; языковая база данных упрощает создание многоязычных приложений с использованием языкового редактора PhAB'а.
link callback
Связанная ответная реакция. Механизм, соединяющий различные части приложения PhAB. Например, связанная ответная реакция может вызываться, чтобы отобразить диалог при нажатии некой клавиши.
margin
Граница. Область между рамкой виджета и его полотнищем (canvas).
memory context
Контекст памяти. Контекст прорисовки (draw context), в котором Photon прорисовывает события, которые были направлены в память для дальнейшего отображения этого контекста на экране, в отличие от контекста печати, направляемого на принтер, или принимаемого по умолчанию контекста прорисовки, направляемого непосредственно (напрямую) на экран.
menu module
Модуль меню. Модуль PhAB'а, используемый для создания меню.
method
Метод. Функция, являющаяся внутренней по отношению к классу виджета и вызывающаяся при определённых условиях (например, прорисовка виджета). Методы обеспечиваются через указатели на функции в записях класса виджета.
modifier key
Клавиша-модификатор. Клавиша (такая, как Shift, Alt или Ctrl), используемая для изменения смысла другой клавиши.
module
Модуль. Некий объект в PhAB, который содержит виджеты приложения. Модули PhAB'а включают окна (windows), меню (menus), иконки (icons), картинки (pictures) и диалоги (dialogs).
module-type link callback
Связанная ответная реакция модульного типа. Ответная реакция, котоая выводит изображение некоего модуля PhAB.
mouse driver
Драйвер мыши. Программа, которая получает информацию от аппаратного устройства позиционирования, выстраивает Photon'овские необработанные события указателя мыши и затем генерирует эти события в направлении корневого региона.
opaque
Непрозрачность. Состояние региона в отношении к событиям. Если регион непрозрачен (oraque) к какому-то типу событий, то любое событие этого типа, которое интересует регион, имеет свой набор прямоугольников, установленный для вырезки интересущей области. Регион препятствует прохождению события через себя.
palette
Палитра. Некий массив цветов. Аппаратная палитра (hard palette) имеется в аппаратном обеспечении; программная палитра (soft palette) – в программном обеспечении.
palette-based
Основанный на палитре. Схема цветности, в которой каждый пиксель представлен индексом в палитре. Противоположность схеме непосредственного цвета (direct-color).
PDP
См. "Нажать-перетащить-бросить" (Press-draw-release).
PFM
См. Файловый менеджер Photon'а (Photon File manager).
PhAB
Построитель приложений Photon'а (Photon Application Builder). Визуальное средство разработки, которое генерирует код, требующийся для реализации пользовательского интерфейса.
phditto
Утилита, которая позволяет получить доступ к рабочему пространству Photon'а на удалённом узле. См. также ditto.
Phindows
Photon в среде Windows. Приложение, позволяющее получить доступ к сессии Photon'а из среды Microsoft Windows.
PhinX
Photon в среде Х. Приложение, позволяющее получить доступ к сессии Photon'а из среды X Window System.
Photon File Manager (PFM)
Файловый менеджер Phonon'а. Приложение, использующееся для обслуживания и организации файлов и директорий.
Photon Manager or server
Менеджер Photon'а или сервер. Программа, обслуживающая пространство событий Photon'а через управление регионами и событиями.
Photon Terminal
Терминал Photon'а. Приложение (pterm), которое эмулирует символьный терминал в окне Photon'а.
Photon Window Manager (PWM)
Оконный менеджер Photon'а.Приложение, которое управляет внешним видом оконных рамок и других объектов на экране. Например, оконный менеджер добавляет к окну приложения бруски изменения размеров рамки, брус заголовка и различные кнопки. Оконный менеджер также обеспечивает функционирование метода фокусирования событий клавиатуры.
picture module
Модуль картинки. Модуль PhAB, содержащий некие систематизированные виджеты, который может быть изображён в другом виджете либо использоваться как база данных виджета.
pixmap
Пиксельное отображение. Побитовое отображение (bitmap) или образ (image).
plane mask
Маска плоскости. Маска, используемая для ограничения графических действий, так чтобы они оказывали воздействие только на некое подмножество набора битов цвета.
point source
Точечный источник. Используемый как источник какого-то события набор прямоугольников (rectangle set), состоящий из одной точки.
pointer
Указатель мыши. Некий объект на экране, отслеживающий позицию устройства указания (напр., мыши, планшета, трекбола или джойстика). Photon имеет несколько изображений указателя мыши, указывающих на различные состояния: Основное, Занят, Помощь, Перемещение, Изменение размера, Двутавр, Блокировка ввода.
Press-drag-release (PDR)
Нажать-тащить-бросать. Метод выбора пункта меню путём нажатия кнопки мыши в момент, когда указатель мыши указывает на кнопку меню, перетаскивания указателя до тех пор, пока не высветится нужный пункт, и отпускания кнопки мыши.
print context
Контекст печати. Контекст прорисовки (draw context), в котором события прорисовки Photon'а направляются в файл, в противоположность направлению на экран (принимаемый по умолчанию контекст прорисовки) или в память (контекст памяти (memory context)).
printer driver
Драйвер принтера. Программа, преобразующая формат потока прорисовки Photon'а в формат, пригодный для принтера, включая PostScript, Hewlett-Packard PCL, и Canon.
procreated widget
Порождённый виджет. Виджет, созданный другим виджетом (а не приложением), такой как, например, PhList или PtText, созданный виджетом PtComboBox. Также называется подчинённый потомок (subordinate child).
pterm
Консоль Photon'а. Терминал Photon'а – приложение, которое в окне Photon'а эмулирует алфавитно-цифровой терминал.
pulse
Импульс. Малое сообщение, не требующее отклика, используется для асинхронной передачи сообщений в приложениях Photon'а.
pv
Просмотровщик рисунков. См. просмотровщик рисунков (Image Viever).
PWM
Оконный менеджер Photon'а. См. Оконный Менеджер Photon'а (Photon Window Manager).
raw event
Неотфильтрованное событие. Некое событие ввода, которое не назначено какой-то локации в пространстве событий Photon'а. Также называется несфокусированным событием (unfocused event).
raw callback
Неотфильтрованная ответная реакция. Функция, позволяющая приложению отзываться непосредственно на события Photon'а, такие как события перетаскивания. Также называется обработчиком событий (event handler).
realize
Реализация. Вывод на экран виджета и его потомков, возможно делая их интеактивными.
rectangle set
Набор прямоугольников. Массив неперекрывающихся прямоугольников, связанных с каким-то событием.
region
Регион. Прямоугольная область в пространстве событий Photon'а, используемая приложением для сбора и генерирования событий.
resize policy
Политика изменения размеров. Правила, управляющие тем, как виджет изменяет свои размеры, когда изменяется его содержание.
resource
Ресурс. Некий атрибут виджета, такой как цвет заполнения, размеры или список ответных реакций.
root region
Корневой регион. Самый задний регион пространства событий Photon'а.
sensitive
Чувствительность. Состояние региона по отношению к событиям. Если регион является чувствительным (sensitive) к определённому типу событий, владелец региона накапливает копии всех тех событий, которые интересуют регион.
setup function
Установочная функция. Функция, вызываемая после создания модуля PhAB.
shelf
"Полка". Приложение, которое прикрепляет к внешнему краю экрана свои области. Вы можете добавить плагины, чтобы настроить эти области – такие плагины, как панель задач, плагин запуска, часы, "лупу".
Snapshot
"Снимок". Приложение Photon'а для "захвата" образов с экрана.
specific placement
Определённое месторасположение. Месторасположение региона, когда у него определены один или более братьев. Является противоположностью месторасположения по умолчанию (default placement).
subordinate child
Подчинённый потомок. Виджет, созданный другим виджетом (а не приложением), такой как PtList и PtText, созданные виджетом PtComboBox. Также известен как порождённый виджет (procreated widget).
table-of-contens (TOC) file
Файл таблицы содержания (ТОС-файл). В Просмотровщике Помощи (Helpviewer) Photon'а – файл, описывающий иерархию тем помощи.
taskbar
Панель задач. Плагин "полки", отображающий иконки, представляющие из себя приложения, выполняющиеся в настоящий момент.
tile
"Черепица". Структура данных, используемая для построения связного списка прямоугольников, такого как список повреждённых частей интерфейса.
topic path
Путь к теме. Информация помощи, определяемая строчкой заголовков, отделённых слэшами (знаком "/").
topic root
Корень темы. Путь к теме, используемый как начальная точка отыскания тем помощи.
topic tree
Дерево тем. Иерархия информации помощи.
translation file
Файл перевода. Файл, содержащий строки для приложения PhAB. Имеется один файл перевода для каждого языка, поддерживаемого приложением.
unfocuced event
Несфокусированное событие. См. неотфильтрованное событие (raw event).
Unicode
Уникод. 16-битовая схема кодирования по стандарту ISO/IEC 10646 для представления символов, используемых в большинстве языков.
UTF-8
Кодирование символов по Уникоду (Unicode), где каждый символ представлен одним, двумя или тремя байтами.
widget
Виджет. Компонент (напр., кнопка) графического пользовательского интерфейса.
widget class
Класс виджета. Некий шаблон для виджетов, которые выполняют схожие функции и предоставляют один и тот же общедоступный интерфейс. Например, PtButton является классом виджета.
widget database
База данных виджетов. В PhAB'е – модуль, содержащий виджеты, которые могут быть в любой момент скопированы в окно, диалог или иной контейнер.
widget family
Семейство виджетов. Иерархия экземпляров (instances) виджетов. Например, окно и виджеты, в нём содержащиеся.
widget instantce
Экземпляр виджета. См. экземпляр (instance).
window frame region
Регион рамки окна. Регион, который PWM добавляет к окну. Он позволяет Вам перемещать, изменять размеры, сворачивать в иконку и закрывать окно.
Window Manager
Оконный менеджер. См. Оконный Менеджер Photon'а (Photon Window Manager).
window module
Модуль окна. Модуль PhAB'а, обрабатываемый как экземпляр виджета PtWindow.
window region
Регион окна. Регион, соответствующий окну приложения.
work procedure
Рабочая процедура. Функция, которая вызывается, когда у приложения нет необработанных ("висящих") событий Photon'а.
workspace
Рабочее пространство. См. консоль (console).
worcspace menu
Меню рабочего пространства. Конфигурируемое меню, отображающееся, когда Вы нажимаете или щёлкаете правой кнопкой мыши в момент, когда указатель мыши находится на заднем плане рабочего стола.
Yandex.RTB R-A-252273-3
- Руководство программиста в Photon
- Перевод выполнен Владимиром Зайцевым, г.Харьков Редактирование текста выполнено Михаилом Поспеловым, г.Калуга
- Глава 1. Уроки 34
- Глава 2. Окружение PhAb 63
- Глава 3. Работа с приложениями 75
- Глава 4. Работа с модулями 83
- Глава 5. Создание виджетов в PhAb 98
- Глава 6. Редактирование ресурсов и ответных реакций в PhAb 114
- Глава 7. Управление геометрией 134
- Глава 8. Генерирование, компилирование и запуск программного кода на исполнение 146
- Глава 9. Работа с программным кодом 158
- Глава 10. Манипулирование ресурсами в коде приложения 175
- Глава 11. Управление виджетами в исходном коде приложения 186
- Глава 12. Поверхности управления 196
- Глава 13. Доступ к модулям PhAb из программного кода 202
- Глава 14. Поддержка международных языков 209
- Глава 15. Контекстно-чувствительная помощь 219
- Глава 16. Межпроцессные связи 224
- Глава 17. Параллельные операции 239
- Глава 18. Необработанное рисование и мультипликация 249
- Глава 19. Шрифты 286
- Глава 20. Печать 297
- Глава 21. "Тащить и бросать" 306
- Глава 22. Регионы 319
- Глава 23. События 328
- Глава 24. Управление окнами 340
- Глава 25. Программирование в Photon'е без PhAb'а 350
- Небольшое пояснение переводчика
- Введение
- Обзор архитектурыPhoton'а
- Построитель Photon'овских приложений – PhAb
- Получение немедленных результатов
- Концентрация на функциональности
- Создание прототипов без написания кода
- Сокращение размера кода
- Создание последовательных приложений
- Создание всех разновидностей приложений
- Концепции виджетов
- Жизненный цикл виджета
- Геометрия виджета
- Парадигма (система понятий) программирования
- Приложение текстового режима
- PhAb приложение
- БиблиотекиPhoton'а
- Обзор построения приложений подPhAb
- Шаг 1. Создание модулей
- Шаг 2. Добавление виджетов
- Шаг 3. Прикрепление ответных реакций
- Шаг 4. Генерация кода
- Шаг 5. Запуск Вашего приложения на выполнение
- Шаг 6. Повторение любого предыдущего шага
- Написание приложений без PhAb
- Глава 1. Уроки
- Перед тем как Вам начать...
- Урок 1 – Привет, мир
- Создание приложения
- Генерирование кода
- Хотите больше информации?
- Урок 2. Редактирование ресурсов
- Добавление виджета "Кнопка"
- Изменение ширины фаски
- Изменение шрифта
- Изменение выравнивания текста
- Установка флагов
- Изменение цвета заполнения
- Редактирование пиксельной карты
- Редактирование многострочного текста
- Редактирование списка текстовых параграфов
- Создание шаблона
- Желаете узнать побольше?
- Урок 3. Создание меню и панелей меню
- О присоединении ответных реакций
- Об именах экземпляров
- Создание панели меню
- Создание модуля меню "File"
- Добавление пунктов меню
- Создание модуля меню "Help"
- Присоединение ответных реакций
- Присоединение ответной реакции модульного типа
- Присоединение ответной реакции кодового типа
- Подготовка кода
- Хотите узнать больше?
- Урок 4. Создание диалогов
- О диалогах
- Ещё об именах экземпляров
- Прикрепление модуля диалога
- Добавление виджетов в диалог
- Добавление ответной реакции к кнопке Done
- Модификация сгенерированного кода функции
- Компиляция и запуск на выполнение
- Желаете узнать больше?
- Урок 5. Создание окон
- Создание окна
- Прикрепление ответной реакции
- Добавление виджетов
- Генерирование и модификация кода
- Генерирование кода
- Модификация функции установки
- Модификация функции изменения цвета
- Модификация функции закрытия окна
- Компиляция и запуск
- Хотите узнать больше?
- Глава 2. Окружение PhAb
- Меню "File"
- Меню "Edit"
- Меню "View"
- Меню "Options"
- Меню "Application"
- Меню "Window"
- Меню "Help"
- Панели инструментов
- Инструмент корректировки положения
- Панели управления
- Палитра виджетов
- Режимы (создание или выбор)
- Панель ответных реакций
- Панель дерева модулей
- Панель связей модуля
- Панель поиска
- Подгонка Вашего окружения PhAb
- Общие предпочтения ("General preferences")
- Предпочтение цвета ("Color preferences")
- Предпочтение по перетаскиванию (Dragging preferences)
- Предпочтения сетки
- Глава 3. Работа с приложениями
- Создание приложения
- Открытие приложения
- Сохранение приложения
- Именование и переименование приложения
- Сохранение существующего приложения
- Переписывание существующего приложения
- Закрытие приложения
- Задание стартовой информации приложения
- Задание глобального заголовочного файла
- Функция инициализации
- Опции командной строки
- Включение имён экземпляров
- Окна запуска
- Добавление окна запуска
- Модификация окна запуска
- Удаление окна запуска
- Импортирование файлов
- Импортирование модулей PhAb из других приложений
- Импортирование графических образов
- Глава 4. Работа с модулями
- Типы модулей
- Анатомия модуля
- Выбор модуля
- Как сохраняются модули
- Изменение ресурсов модуля
- Использование селектора модулей
- Создание нового модуля
- Просмотр модулей
- Открытие модулей
- Удаление модуля
- Сворачивание модулей в иконки
- Закрытие модуля
- Отображение модулей в реальном времени
- Позиционирование модуля
- Нахождение потерянных модулей и иконок
- Модули окон
- Изменение размера модуля окна
- Модули диалога
- Изменение размеров модуля диалога
- Предопределённые диалоги
- Модули меню
- Открытие редактора меню
- Задание имён экземпляров
- Создание "горячих клавиш" и "кнопок быстрого доступа" (hotkeys and shortcuts)
- Изменение размеров модуля меню
- Создание командных пунктов меню
- Создание пунктов подменю
- Создание разделителей пунктов
- Создание пунктов-переключателей
- Создание пунктов-функций
- Перемещение пунктов меню
- Использование модуля меню
- Модули картинок
- Отображение картинки
- Использование картинок как баз данных виджетов
- Изменение размера модуля картинки
- Модули иконок
- Задание размеров и имён экземпляров
- Глава 5. Создание виджетов в PhAb
- Типы виджетов
- Имена экземпляров
- Принимаемое по умолчанию имя экземпляра
- Когда назначать уникальное имя
- Имена экземпляров и переводы
- Дублированные имена
- Создание виджета
- Создание нескольких виджетов
- Несколько виджетов
- Использование охватывающего прямоугольника
- Использование панелей управления
- Виджеты внутри группы
- Использование панели "Module Tree"
- Использование кнопок "Следующая" и "Предыдущая"
- Скрытые виджеты
- Выравнивание виджетов
- По другому виджету
- По родительскому контейнеру
- Общепользовательский доступ (сиа) и управление фокусом
- Изменение фокусировки через клавиатуру
- Управление фокусом
- Ответные реакции фокусировки
- Функции обработки фокусировки
- Упорядочивание виджетов
- Перетаскивание виджетов
- Предустановки перетаскивания
- Установка координатxиyвиджетов
- Перемещение виджетов между контейнерами
- Изменение размеров виджетов и модулей
- Буфер обмена
- Вырезание и копирование
- Вклеивание
- Просмотр буфера обмена
- Редактирование буфера обмена
- Дублирование виджетов и контейнеров
- Удаление виджетов
- Импортирование графических файлов
- Изменение класса виджета
- Шаблоны
- Создание шаблонов
- Добавление подогнанного виджета
- Редактирование шаблонов
- Удаление шаблонов
- Глава 6. Редактирование ресурсов и ответных реакций в PhAb
- Редактирование ресурсов виджета
- Попиксельный редактор
- Установка размеров попиксельного образа
- Рисование линий, прямоугольников и кругов
- Заполнение замкнутой области
- Выбор области
- "Подталкивание" области
- Использование панели инструментов попиксельного образа
- Другие средства управления попиксельным образом
- Редактор цвета
- Полный редактор цвета
- Быстрый редактор цвета
- Редактор списка
- Редактирование существующих пунктов списка
- Удаление пунктов списка
- Редактор чисел
- Текстовые редакторы
- Редактор функций
- Ответные реакции
- Редактирование ответных реакций:
- Модульные ответные реакции
- Предреализационная установочная функция
- Постреализационная установочная функция
- Установочные функции хранятся в заготовочных файлах
- Ответные реакции кодового типа
- Функции ответных реакций хрянятся в заготовочных файлах
- Ответные реакции горячих клавиш
- Горячие клавиши – основы
- Задание метки горячей клавиши
- Задание ответной реакции
- Где должен появиться модуль
- Какой виджет Вам нужен в функции ответной реакции
- Куда идти пользователю, чтобы нажать горячую клавишу
- Обработка горячих клавиш
- Отключение горячих клавиш
- Обработчики событий – необработанные и отфильтрованные ответные реакции
- Глава 7. Управление геометрией
- Контейнер виджетов
- Согласование геометрии
- Политика изменения размеров
- Установка политики изменения размеров в PhAb
- Установка политики изменения размеров в программном коде приложения
- Абсолютное позиционирование
- Выравнивание виджетов с использованием групп
- Объединение виджетов в группу
- Получение доступа к виджетам в группе
- Горизонтальное или вертикальное выравнивание виджетов
- Использование флагов групп
- Расщепление группы на составляющие
- Управление привязкой с использованием анкеров – средств привязки
- Ресурсы анкеров
- Установка флагов анкеров в PhAb
- Установка флагов анкеров в программном коде Вашего приложения
- Установка ограничений по размерам или позиционированию без анкеров
- Глава 8. Генерирование, компилирование и запуск программного кода на исполнение
- Генерирование программного кода приложения
- Что генерирует PhAb
- Управление версиями
- Некоторые рекомендации по использованию cvs
- Прототипы функций
- Потенциальные проблемы с генерированием proto.H
- Как организовать файлы приложения
- Многоплатформенные приложения
- Одноплатформенные приложения
- Преобразование к мультиплатформенности
- Редактирование исходного кода
- Выбор редактора или броузера
- Создание модуля с исходным кодом
- Изменение отображения файлов
- Компилирование и линковка
- Выбор библиотек
- Запуск команды make
- Модифицирование команды make
- Запуск приложения на исполнение
- Отладка
- Модифицирование команды отладчика
- Включение в Ваше приложение не-PhABфайлов
- Мультиплатформенные приложения
- Одноплатформенные приложения
- Добавление библиотек
- Создание результирующей dll как приложения PhAb
- Компилирование и линковка
- Инициализация dll
- Выгрузка Вашей dll
- Глава 9. Работа с программным кодом
- Переменные и декларации
- Переменные и декларации виджетов
- Использование глобальной переменной и декларация виджета
- Обработка множества экземпляров окна
- Декларация внутренних связей
- Декларации иконок
- Глобальный хеадер-файл
- Имена функций и имена файлов
- Функция инициализации
- Обработка опций командной строки
- Установочные функции модуля
- Функции ответных реакций кодового типа
- Типы данных геометрии
- Таймеры
- Использование PtTimer
- Функции RtTimer*
- Меню инициализации
- Включение, отключение или переключение пунктов меню
- Изменение текста пунктов меню
- Генерирование пунктов меню
- Создание подменю
- Задержка и принудительное обновление изображения на экране
- Глобально
- Для конкретного контейнера
- Принудительное обновление
- Глава 10. Манипулирование ресурсами в коде приложения
- Список аргументов
- Установка ресурсов
- Списки аргументов для установки ресурсов
- Ресурсы scalar и color
- Ресурсы string
- Ресурсы alloc
- Ресурсы image
- Ресурсы array
- Ресурсы flag
- Ресурсы function
- Ресурсы pointer
- Ресурсы Link
- Ресурсы struct
- Ресурсы boolean
- Вызов PtSetResources()
- Установка одного ресурса
- Получение ресурсов
- Не используя указатели
- Ресурсы scalar и flags (безуказательный метод)
- Ресурс string (безуказательный метод)
- Ресурс boolean (безуказательный метод)
- Использование указателей
- Ресурсы scalar и flag (указательный метод)
- Ресурсы string (указательный метод)
- Ресурсы alloc (указательный метод)
- Ресурсы image (указательный метод)
- Ресурсы array (указательный метод)
- Ресурсы pointer (указательный метод)
- Ресурсы link (указательный метод)
- Ресурсы struct (указательный метод)
- Ресурсы boolean (указательный метод)
- Вызов функции PtGetResources()
- Получение одного ресурса
- Глава 11. Управление виджетами в исходном коде приложения
- Создание виджетов
- Задание порядка виджетов
- Работа с семейством виджетов
- Ответные реакции
- Добавление ответных реакций
- Вызов ответной реакции
- Удаление ответных реакций
- Просмотр ответных реакций
- Обработчики событий
- Добавление обработчиков событий
- Удаление обработчиков событий
- Запуск обработчика событий
- Стили виджетов
- Глава 12. Поверхности управления
- Что такое поверхности управления?
- Ограничения
- Привязка действий к поверхностям управления
- Ссылка на поверхности управления
- ApIповерхностей управления
- Создание и уничтожение поверхностей управления
- Нахождения идентификаторов для поверхностей управления
- Вычисление геометрии для поверхностей управления
- Прорисовка поверхностей управления
- Активация поверхностей управления
- Включение и отключение поверхностей управления
- Нахождение поверхностей управления
- Скрытие и демонстрирование поверхностей управления
- Установление порядка поверхностей управления
- Размещение пользовательских данных вместе с поверхностями управления
- Глава 13. Доступ к модулям PhAb из программного кода
- Создание внутренних связей
- Использование внутренних связей в Вашем программном коде
- Декларации
- Функции внутренней связи
- Пример – отображение меню
- Использование базы данных виджетов
- Создание базы данных
- Предварительно прикреплённые ответные реакции
- Назначение уникального имени экземпляра
- Создание динамической базы данных
- Функции базы данных виджетов
- Глава 14. Поддержка международных языков
- Соображения о проектировании приложения
- Размер виджетов, основанных на тексте
- Выравнивание
- Высота шрифта
- Жёстко закодированные строки
- Использование символа "@" в именах экземпляров
- Двуязычные приложения
- Общие строки
- Генерация языковой базы данных
- Базы данных сообщений
- Редактор языка
- Запуск языкового редактора из PhAb
- Запуск языкового редактора как автономного приложения
- Создание нового файла перевода
- Редактирование существующего файла перевода
- Перевод текста
- Горячие клавиши
- Ресурсы help'a
- Функции перевода
- Запуск Вашего приложения на исполнение
- Распространение Вашего приложения
- Глава 15. Контекстно-чувствительная помощь
- Создание текста помощи
- Файлы помощи
- Файлы таблиц содержания
- Ссылки на темы помощи
- Унифицированный указатель информационного ресурса (url)
- Маршрут тем
- Связывание помощи с виджетами
- Отображение помощи в просмотрщике помощи
- Отображение помощи во всплывающем баллоне
- Помощь без иконки "?"
- Получение доступа к помощи из Вашего программного кода
- Глава 16. Межпроцессные связи
- Коннекции
- Создание коннектора
- Асинхронные клиентские вызовы
- Соглашения по именам
- ОтсылкаQnx-сообщений
- Приём qnx-сообщений
- Добавление обработчика ввода
- Функции name_attach и PtAppAddInput()
- Удаление обработчика ввода
- Размер буфера сообщений
- Пример – регистрация сообщений об ошибках
- ИмпульсыPhoton'а
- Приложение Photon'а, получающее импульсы
- Создание импульса
- Взведение импульса
- Пересылка сообщения импульса испускателю импульсов
- Регистрация обработчика ввода
- Посылка импульса самому себе
- Удаление импульса
- Пример – очередь сообщений
- Приложение Photon, отправляющее импульсы
- Обработка сигналов
- Добавление функции обработки сигналов
- Удаление функции обработки сигналов
- Другие механизмы ввода/вывода
- Глава 17. Параллельные операции
- Фоновое исполнение
- Рабочие процедуры
- Запирание библиотеки Photon'а
- Несколько потоков, обрабатывающих события
- Потоки реального времени
- Модальные операции и потоки
- Завершение многопоточной программы
- Потоки и рабочие процедуры
- Глава 18. Необработанное рисование и мультипликация
- ВиджетPtRaw
- Функция необработанного рисования
- Определение холста необработанного виджета
- Преобразование координат
- Отсечение
- Использование повреждённых черепиц (tiles)
- Использование модели для более сложного рисования
- Примеры простых функций прорисовки PtRaw
- Атрибуты рисования
- Общие атрибуты
- Текстовые атрибуты
- Атрибуты заполнения
- Атрибуты черты (линии)
- Дуги, эллипсы, многоугольники и прямоугольники
- Прямоугольники
- Прямоугольники со скруглёнными углами
- Прямоугольники с фасками, прямоугольники и стрелки
- Многоугольники
- Перекрытие многоугольников
- Дуги, круги, хорды и сектора
- Спэны – сложные кривые
- Линии, пиксели и массивы пикселей
- Побитовые образы (bitmaps)
- Образы (images)
- Образы на основе палитры
- Образы в непосредственных цветах
- Образы в градиентных цветах
- Создание образов
- Кэширование образов
- Прозрачность в образах
- Использование хромоключа
- Использование маски прозрачности
- Отображение образов
- Управление образами
- Освобождение образов
- Мультипликация
- Создание серии кадров
- Использование базы данных виджетов
- Использование файла
- Циклическая прокрутка кадров
- Исключение мерцания в мультипликации
- Функции контекста памяти
- Режим рисования с прямым доступом
- Внеэкранная видеопамять
- Внеэкранные замки
- Поддержка альфа-сопряжения
- Поддержка хроматического ключа
- Операции расширенного растра
- Видеорежимы
- Градиенты
- Градиенты уровня драйвера
- Градиенты уровня приложения
- Видеоверлей
- Поверхности
- Окна просмотра
- Api слоев
- Глава 19. Шрифты
- Метрики символа
- Имена шрифтов
- Запрос доступных шрифтов
- Структура FontDetails
- Генерирование имён шрифтов
- Написание текста в прямоугольной области
- Исправление повреждений в случае пропорционального шрифта текста
- Глава 20. Печать
- Контекст печати
- Создание контекста печати
- Модифицирование контекста печати
- Запуск процесса печати
- Печать требуемых виджетов
- Печать новой страницы
- Печать скроллирующихся виджетов
- Приостановка и возобновление работы печати
- Завершение работы печати
- Освобождение контекста печати
- Глава 21. "Тащить и бросать"
- Механизм транспортировки
- Использование "тащи и бросай"
- Запуск операции "тащи и бросай"
- Получение событий "тащи и бросай"
- Виджет-источник
- Виджет-адресат
- Отмена операции "тащи и бросай"
- Регистрация новых транспортных типов
- Простая структура данных
- Более сложная структура
- Список ссылок на очистку
- Эндиан-список
- Fixup-список
- Элемент реестра
- Транспортные функции
- Оба приложения
- Приложение-источник
- Приложение-адресат
- Глава 22. Регионы
- Координатное пространствоPhoton'а
- Координаты региона
- Начало координат региона
- Начальные размеры и расположение
- Начало координат в (0,0) и начальный прямоугольник в (0,0)
- Начало координат в (0,0) и начальный прямоугольник не в (0,0)
- Начало координат не в (0,0) и начальный прямоугольник не в (0,0)
- О регионах потомка
- Регионы и отсечение событий
- Месторасположение и иерархия Иерархия регионов:
- Родительский регион
- Братские регионы
- Месторасположение по умолчанию
- ФлагPh_force_front
- Задаваемое месторасположение
- Использование регионов
- Открытие региона
- Размещение регионов
- Изменение месторасположения региона
- Изменение родителя
- Задаваемые братья
- Системная информация
- Глава 23. События
- События мыши
- Нажатие кнопки
- Отпускание кнопки
- Несколько щелчков
- Клавиши-модификаторы
- Генерирование событий
- Нацеливание на определённые регионы
- Неисключительное событие
- Направленное событие
- Нацеливание на определённые виджеты
- События, генерируемые клавиатурными клавишами
- Координаты события
- Обработчики события – необработанные и отфильтрованные ответные реакции
- Накопление событий
- Сжатие событий
- Перетаскивание
- Инициализация перетаскивания
- Контурное перетаскивание
- Непрозрачное перетаскивание
- Обработка событий перетаскивания
- Контурное перетаскивание
- Непрозрачное перетаскивание
- Глава 24. Управление окнами
- Флаги управления окнами
- Флаги отображения окна
- Флаги управления окном
- Оконные флаги уведомления
- Ответная реакция уведомления
- Пример: проверка закрытия окна
- Получение и установка состояния окна
- Управление несколькими окнами
- Функции управления окнами
- Запуск самостоятельного приложения
- Модальные диалоги
- Глава 25. Программирование в Photon'е без PhAb'а
- Основные шаги
- Компилирование и линковка неPhAb'овского приложения
- Образец приложения
- Что происходит
- PtCreateWidget() – первый вызов
- PtCreateWidget() – второй вызов
- Подсоединение программного кода приложения к виджету
- Ответные реакции
- Обработка событий
- Полный пример приложения
- Приложение 1. Архитектура Photon'а
- Пространство событий
- Регионы и события
- События
- Начальный набор прямоугольников
- Накопленный набор прямоугольников
- Регионы
- Чувствительность
- Непрозрачность
- Краткая сводка атрибутов
- Регистрация событий (event logging)
- Типы событий
- Как владельцы регионов уведомляются о событиях
- Упорядоченный опрос
- Синхронное уведомление
- Асинхронное уведомление
- Регион устройств
- Фокусировка указателя
- Фокусировка клавиатуры
- События перетаскивания
- Событие "тащи и бросай"
- Драйверы фотона
- Драйверы ввода
- Драйвер мыши
- Драйвер клавиатуры
- Драйверы вывода
- Графический драйвер
- Несколько графических драйверов
- Драйверы, использующие отдельные регионы
- Драйверы, использующие перекрывающиеся регионы
- Инкапсуляция драйверов
- Оконный менеджерPhoton'а
- Регионы оконных рамок
- Регион фокусировки
- Регион рабочей области
- Регион фона
- Приложение 2. Обзор виджетов
- Приложение 3. Поддержка многоязычности Unicode
- Широкие и многобайтовые символы
- Функции преобразования
- Другие кодировки
- Драйверы клавиатуры
- Пример: текстовые виджеты
- Слепые клавиши (deadkeys) и скомпонованные последовательности
- Скомпонованные последовательностиPhoton'а
- Приложение 4. Photon во встроенных системах
- Принимаемые допущения
- Введение
- Шаги по загрузке Photon'а
- Шаг 1. Экспорт переменной окруженияPhoton_path
- Шаг 2. Запуск сервераPhoton'а
- Шаг 3. Запуск драйверов ввода
- Шаг 4. Запуск менеджера шрифтов
- Конфигурирование шрифтов
- Запуск сервера шрифтов
- Шаг 5. Переключение в графический режим
- Установка карты в правильный режим
- Шаг 6. Запуск графического драйвера
- Шаг 7. Запуск оконного менеджера
- Необходимые файлы
- Графика
- Требуемые бинарные файлы
- Требующиеся библиотеки
- Требуемые шрифты
- Службы шрифтов
- Сборка всего этого в единое целое
- Полезные советы
- Приложение 5. Использование PhAb под Microsoft Windows
- Photonв одиночном окне
- ЗавершениеPhAb
- Дополнительные опции
- Файловые имена с буквами в обоих регистрах
- Строка запуска отладчика
- Функциональность панели управления ресурсами
- Разработка индивидуальных виджетов иPhAb
- Статическое линкование Ваших индивидуальных виджетов
- Глоссарий
- Ненеобходимое послесловие переводчика.