Графика для Windows средствами DirectDraw

Интерфейсы 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()



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