Контекст пристроїв (Device context)

Контекст пристроїв (device context) це структури, які визначають установки графічних об'єктів і асоційовані з ними атрибути, а також графічні режими, що впливають на висновок. Поняття «графічні об'єкти» має на увазі олівці (pen) для малювання ліній, кисті (brush) для заливки, зображення (bitmap) для копіювання або скролювання частини екрану, палітри (palette) для визначення доступних кольорів, регіони (regions) для вирізування та інших операцій , а також контури (path) для малювання.

Однією з головних можливостей інтерфейсу програмування додатків (API) Microsoft Win32 є концепція пристрій-незалежності (device independence). Програми Windows можуть малювати та друкувати на різних пристроях. Програмна підтримка пристрою-незалежності міститься у двох бібліотеках DLL. Перша - GDI. DLL підтримує інтерфейс графічних пристроїв (GDI), друга підтримує драйвери пристроїв. Назва другої бібліотеки залежить від пристрою, на якому програма збирається робити висновок. Наприклад, якщо програма збирається виводити інформацію в клієнтську область VGA-дисплея, то буде використана бібліотека VGA. DLL; а якщо висновок буде здійснюватись на принтер Epson® FX-80, то використовуватиметься EPSON9.DLL.

Додаток повинен інформувати GDI про завантаження драйвера пристрою, і як тільки завантаження зроблено підготувати пристрій до виведення інформації (налаштувати шрифт, олівці, пензлі, регіони тощо). Всі ці дії необхідні для створення та підтримки контексту пристрою. Як уже говорилося вище, контексти пристроїв є структурами, що описують будь-який пристрій виведення, але на відміну від більшості структур, додатки ніколи не мають прямого доступу до них і всі дії надними здійснюються шляхом виклику різних функцій.

Графічні об'єкти

Олівець, пензель, палітра, зображення, регіон та контур, асоційовані з контекстом пристрою, розглядаються як графічні об'єкти контексту пристрою. Нижче показані атрибути, пов'язані з кожним об'єктом.