Контекст на устройството

Контекстите на устройството са структури, които дефинират настройки за графични обекти и свързаните с тях атрибути, както и графични режими, които влияят на изхода. Концепцията за „графични обекти“ включва моливи (pen) за рисуване на линии, четки (brush) за запълване, изображения (bitmap) за копиране или превъртане на част от екрана, палети (palette) за определяне на наличните цветове, области (regions) за изрязване и други операции, както и контури (path) за рисуване.

Една от основните характеристики на интерфейса за програмиране на приложения (API) на Microsoft® Win32® е концепцията за независимост на устройството. Приложенията на Windows могат да рисуват и печатат на голямо разнообразие от устройства. Софтуерната поддръжка за независимост на устройството се съдържа в две DLL файлове. Първият е GDI. DLL поддържа интерфейса на графичните устройства (GDI), вторият поддържа драйвери на устройства. Името на втората библиотека зависи от устройството, на което приложението ще се показва. Например, ако дадено приложение ще изведе информация към клиентската област на VGA дисплей, тогава ще се използва VGA библиотеката. DLL и ако изходът е към принтер Epson® FX-80, ще се използва EPSON9.DLL.

Приложението трябва да информира GDI за зареждането на драйвера на устройството и след като зареждането приключи, подгответе устройството за показване на информация (конфигурирайте шрифта, моливите, четките, регионите и т.н.). Всички тези стъпки са необходими за създаване и поддържане на контекст на устройство. Както бе споменато по-горе, контекстите на устройства са структури, които описват някакъв вид изходно устройство, но за разлика от повечето структури, приложенията никога нямат директен достъп до тях и всички действия нате се извършват чрез извикване на различни функции.

Графични обекти

Моливът, четката, палитрата, изображението, регионът и пътят, свързани с контекст на устройство, се третират като графични обекти на контекста на устройството. Атрибутите, свързани с всеки от обектите, са показани по-долу.