"Стэн Трухильо. Графика для Windows средствами DirectDraw (fb2) " - читать интересную книгу автора (Трухильо Стэн)
Интерфейсы DirectDraw и DirectDraw2
В первоначальном варианте библиотеки DirectX (еще в те времена, когда она называлась Game SDK) вся основная функциональность DirectDraw была сосредоточена в интерфейсе DirectDraw . Позднее, с выходом DirectX 2, рабочий интерфейс был усовершенствован. В соответствии со спецификацией COM интерфейс DirectDraw не изменился, а для работы с новыми возможностями использовался новый интерфейс DirectDraw2 . Следует заметить, что интерфейс DirectDraw2 представляет собой расширение DirectDraw . Он предоставляет все возможности интерфейса DirectDraw , а также ряд дополнительных. При работе с DirectX версий 2 и выше можно выбирать между интерфейсом DirectDraw и DirectDraw2 . Поскольку DirectDraw2 делает все то же, что и DirectDraw , а также многое другое, вряд ли можно найти какие-то доводы в пользу работы с DirectDraw . Кроме того, Microsoft выступает против хаотичного, непоследовательного использования этих интерфейсов. По этим причинам во всех программах, приведенных в книге, будет использован интерфейс DirectDraw2 .
Ниже перечислены все функции интерфейсов DirectDraw и DirectDraw2 (в алфавитном порядке):
• Compact()
• CreateClipper()
• CreatePalette()
• CreateSurface()
• DuplicateSurface()
• EnumDisplayModes()
• EnumSurfaces()
• FlipToGDISurface()
• GetAvailableVidMem()
• GetCaps()
• GetDisplayMode()
• GetFourCCCodes()
• GetGDISurface()
• GetMonitorFrequency()
• GetScanLine()
• GetVerticalBlankStatus()
• RestoreDisplayMode()
• SetCooperativeLevel()
• SetDisplayMode()
• WaitForVerticalBlank()
Далее рассмотрены функции интерфейса DirectDraw . Обратите внимание на то, что в оставшейся части этой главы термин интерфейс DirectDraw относится как к интерфейсу DirectDraw , так и к DirectDraw2 . Уточнения будут приведены лишь в тех случаях, когда функция отличается в двух интерфейсах.