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

bda5893f

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


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