Microsoft DirectX 2

         

Интерфейс IDirectDraw


Объекты DirectDraw представляют аппаратные средства дисплея.  Три типа объектов могут быть созданы объектом DirectDraw: DirectDrawSurface, DirectDrawPalette, и DirectDrawClipper.

Больше чем один объект DirectDraw могут быть инициализированы одновременно. Самый простой пример -  использование двух мониторов на Windows 95 системе. Хотя Windows 95 не поддерживает двойные мониторы непосредственноy, возможно писать в DirectDraw HAL для каждого устройства дисплея. Устройство дисплея, которое Windows 95 и GDI распознает - то, которое будет использоваться, когда инициализирован заданный по умолчанию объект DirectDraw. Устройство дисплея, которое Windows 95 и GDI не распознает, может быть адресовано другим, независимым объектом DirectDraw, который должен быть создан, используя вторую идентификацию устройства дисплея GUID. Этот GUID может быть получен через функцию DirectDrawEnumerate.

Объект DirectDraw управляет всеми объектами, которые он создает. Он управляет заданной по умолчанию палитрой, если основная поверхность находится в 8 bpp режим, заданными по умолчанию color key, и аппаратными режимами дисплея. Он отслеживает, какие ресурсы были распределены и какие ресурсы остаются, чтобы быть распределенными.

Изменение режима дисплея - важная часть функциональных возможностей DirectDraw. Разрешающая способность режима дисплея может быть изменена в любое время, если другая прикладная программа не получила исключительный доступ к DirectDraw. Глубина  пикселей режима дисплея может быть изменена, если прикладная программа, запрашивающая изменение получила исключительный доступ к объекту DirectDraw. Все объекты  DirectDrawSurface потеряют поверхностную память и станут бездействующими, когда режим изменен. Память поверхности должна быть перераспределена, используя IDirectDrawSurface::Restore.



Содержание раздела