"Стэн Трухильо. Графика для Windows средствами DirectDraw (fb2) " - читать интересную книгу автора (Трухильо Стэн)

Функция GetFourCCCodes()

Наш обзор интерфейса DirectDraw завершается функцией GetFourCCCodes() . Она возвращает коды FourCC, поддерживаемые видеокартой. Коды FourCC используются для описания YUV-поверхностей, не относящихся к стандарту RGB. Мы не будем рассматривать такие поверхности, так как они выходят за рамки этой книги.


Интерфейсы DirectDrawSurface

Множественные интерфейсы DirectDrawSurface , как и интерфейсы DirectDraw , возникли из-за особенностей спецификации COM. В исходном варианте работа с поверхностями осуществлялась через интерфейс DirectDrawSurface . В DirectX 2 появились новые функциональные возможности, представленные интерфейсом DirectDrawSurface2 , а в DirectX 5 возник интерфейс DirectDrawSurface3 .

Хотя в этой книге вместо DirectDraw повсюду используется интерфейс DirectDraw2 , для работы с поверхностями мы будем придерживаться исходного интерфейса DirectDrawSurface , потому что нововведения интерфейсов DirectDrawSurface2 и DirectDrawSurface3 не слишком важны. В оставшейся части книги термин интерфейс DirectDrawSurface будет обозначать все три интерфейса, если при этом не возникает двусмысленности.

Самый большой из всех интерфейсов DirectDraw, DirectDrawSurface , позволяет копировать и стирать содержимое поверхности, а также напрямую работать с ним из программы. В общей сложности он поддерживает 36 функций, перечисленных ниже (в алфавитном порядке):

• AddAttachedSurface()

• AddOverlayDirtyRect()

• Blt()

• BltBatch()

• BltFast()

• DeleteAttachedSurface()

• EnumAttachedSurfaces()

• EnumOverlayZOrders

• Flip

• GetAttachedSurface()

• GetBltStatus()

• GetCaps()

• GetClipper()

• GetColorKey()

• GetDC()

• GetDDInterface()

• GetFlipStatus()

• GetOverlayPosition()

• GetPalette()

• GetPixelFormat()

• GetSurfaceDesc()

• IsLost()

• Lock()

• PageLock()

• PageUnlock()

• ReleaseDC()

• Restore()

• SetClipper()

• SetColorKey()

• SetOverlayPosition()

• SetPalette()

• SetSurfaceDesc()

• Unlock()

• UpdateOverlay()

• UpdateOverlayDisplay()

• UpdateOverlayZOrder()