Реферат: OC QNX
Інша фундаментальна концепція полягає у визначенні поняття графічного елемента(picture element ), інакше кажучи об'єкта маючого тип . Типи в основному відповідають стандартним елементам, визначеним в інтерфейсі OPEN LOOK, і, саме головне, ці типи відомі менеджеру екрана . Висновок у картинку здійснюється сервером, по запиті додатка, що повідомляє серверу тип елемента, якому необхідно створити, і його атрибути. Усе, що з'являється на екрані є екземпляри елементів того чи іншого типу. Картинка ж є не що інше, як упорядкований список елементів.Це відноситься не тільки до картинок, створеним програмою, але і до вікон, меню, іконкам і т.п.
QNX Windows використовує наступні типи елементів:
arc | дуга еліпса |
button | кнопка |
curve | крива Безьє 3-го порядку |
group | комбінований елемент визначений програмістом |
image | довільний кольоровий растр, від 4 до 16 біт на піксель |
line | лінія |
link | посилання на інший елемент |
number | число ( чиціле з крапкою, що плаває,) |
paragraph | параграф тексту (з табуляцією, відступами і шрифтом) |
pixmap | растр, у форматі залежному від пристрою висновку |
points | полігон (можливо замнкутый) |
rectangle | прямокутник |
symbol | довільний растр, що містить до 16 бітових площин |
string | простий неформатованный текст |
text | форматованный текст (з довільним шрифтом) |
З будь-яким елементом може бути асоційована мітка (label ), діалог чи довільні дані, визначені програмістом. У залежності від типу, елементи мають характерний набір атрибутів (координати, колір, колір тіла, товщина ліній, шрифт і т.п.). Елементи всіх типів можуть мати також опції (options) і стану (states), що визначають поводження елемента і спосіб його висновку. По поводженню при натисканні на нього мишею, елемент може бути 'обираним' (selectable), що редагується, ' щоповідомляє' (notify), блокованим, що інвертує чи стан запам'ятовує стан. Виводитися елемент може стандартно, безпосередньо у вікно (минаючи картинку), із затемненням, з рамкою, з 3D-ефектом, з тінню.
Описуються елементи з незалежним від пристрою способом, за допомогою спеціальних структур даних. Упорядкована сукупність таких описів, постачена заголовком, утворить стандартну картинку (елементи існують тільки усередині картинок). Така картинка може бути збережена у файлі формату PICT і прочитана з нього.
Як уже згадувалося вище, елементами можна маніпулювати. Основним засобом ідентифікації елементів служить ім'я елемента (звичайно називане тегом ). При цьому можуть використовуватися шаблони, схожі на шаблони імен файлів, що дозволяє ідентифікувати для однієї операції групу елементів (чи усі). Крім того, для ідентифікації може бути використана будь-яка комбінація опцій, що обмежує список елементів до бажаного складу (наприклад, можна специфікувати усі 'обирані' елементи), послідовний номер елемента в картинці, координати, прямокутна область картинки і т.д.
Для того, щоб зробити що-небудь з картинкою, додаток спецефікує елементи і вказує операцію, яку потрібно до них застосувати. З іншого боку, елементами може маніпулювати користувач, наприклад редагуючи значення текстового чи рядка змінюючи значення числа. У цьому випадку власник відповідного ресурсу (звичайно це процес створивший його), одержить відповідне повідомлення, якщо він замовляв подібне повідомлення. Інший підхід полягає в тому, що нові значення елементів можна запросити тоді, коли вони реально знадобляться. Процес-власник може також передати свої повноваження іншому процесу.
Для мінімізації вихідного коду QNX Windows використовує поняття графічного контексту, у якому зберігаються поточні значення ресурсів і атрибутів елементів усіх типів. Графічний контекст теж може бути збережений у файлі і відновлений відтіля.
Розглянуті вище концепції дозволили розроблювачам QNX Windows застосувати трохи дуже красивих і ефективних рішень, деякі з який не мають аналогів.
По-перше, усі ресурси, створювані додатками (вікна, картинки, діалоги) створюються менеджером екр?