第一部分 DirectDraw编程原理 3
第一章 DirectX概述 3
1.1 DirectX的技术背景 3
1.1.1 Windows环境的设备无关性 3
1.1.2 Windows环境不能满足实时性要求 4
1.1.3 WinG图形开发库 4
1.2 DirectX的目标 4
1.2.1 直接访问硬件 4
1.2.2 保持设备无关性 5
1.2.3 软件指导硬件开发 5
1.3 DirectX 7.0 Foundation组件功能简介 5
1.3.1 基于COM接口的组件 6
1.3.2 Visual Basic类型库 7
第二章 DirectDraw与游戏动画 9
2.1 传统动画的原理 9
2.2 传统动画的制作过程 9
2.2.1 筹备阶段 9
2.2.2 绘制阶段 10
2.2.3 后期制作 10
2.3 计算机二维动画 10
2.4 游戏软件 11
2.5 DirectDraw组件的功能 11
2.6 基本图形概念 12
2.6.1 设备无关的位图 13
2.6.2 绘画图面 14
2.6.3 位块转移操作 14
2.6.4 翻动页面和后台缓冲 15
2.6.5 介绍矩形 15
第三章 DirectDraw基本原理 17
3.1 DirectDraw层次结构 17
3.1.1 硬件抽象层(HAL) 17
3.1.2 软件仿真层(HEL) 18
3.2 DirectDraw对象类型 19
3.2.1 DirectDraw组件的COM对象 19
3.2.2 DirectDraw组件的Visual Basic对象 20
3.3 协作级 21
3.4 测试协作级 22
3.4.1 全屏幕应用程序 22
3.4.2 窗口式应用程序 22
3.5 显示模式 23
3.5.1 测定被支持的显示模式 23
3.5.2 设置显示模式 24
3.5.3 恢复显示模式 24
3.5.4 对高分辨率和真彩色的支持 25
3.6 DirectDraw对象 25
第四章 图面 30
4.1 图面的基本概念 30
4.1.1 图面接口 30
4.1.2 宽度和间距 31
4.1.3 关键色 32
4.1.4 像素格式 32
4.1.5 覆盖关键色 32
4.2 创建图面 33
4.2.1 创建主图面 34
4.2.2 创建离屏图面 34
4.2.3 创建复杂图面和翻面链 35
4.2.4 创建超宽图面 36
4.2.5 创建客户存储图面 36
4.3 翻面 38
4.4 图面间的位块转移 39
4.4.1 使用BltFast方法进行位块转移 39
4.4.2 使用Blt方法进行位块转移 40
4.4.3 缩放 40
4.4.4 其他效果 40
4.4.5 Alpha值和Z值 41
4.4.6 调用Blt方法实例 41
4.4.7 位块转移操作的定时 42
4.4.8 透明的位块转移 42
4.4.9 多窗口的位块转移 45
4.5 获得翻面和位块转移操作的状态 45
4.6 丢失图面和恢复图面 45
4.7 对于图面的COM引用计数的语义 46
4.7.1 引用计数发生变化的情况 46
4.7.2 复杂图面的引用计数 47
4.7.3 释放图面 47
4.8 枚举图面 48
4.8.1 枚举现有图面 48
4.8.2 枚举可能使用的图面 48
4.9 更新图面特性 49
4.10 直接访问图面存储区 50
4.11 灰度系数(Gamma)和色彩控制 51
4.11.1 使用灰度系数控制 52
4.11.2 使用色彩控制 54
4.12 覆盖图面 54
4.12.1 DDCAPS结构的重要成员和标志 55
4.12.2 源矩形和目的矩形 56
4.12.3 边界和大小的调整 56
4.12.4 最小缩放系数和最大缩放系数 57
4.12.5 覆盖图面的关键色 58
4.12.6 覆盖图面的定位 58
4.12.7 创建覆盖图面 58
4.12.8 覆盖图面的z次序 59
4.12.9 翻动覆盖图面 59
4.13 被压缩的纹理图面 59
4.13.1 创建被压缩的纹理 60
4.13.2 对被压缩纹理的解压缩 61
4.13.3 对被压缩纹理的透明传送 61
4.13.4 被压缩纹理的格式 62
4.14 私有的图面数据 67
4.15 图面的标识值 68
4.16 使用非本地视频存储图面 68
4.17 转换颜色和格式 69
4.18 图面和设备环境 69
4.18.1 取回一个图面的设备环境 69
4.18.2 使用设备环境寻找一个图面 70
第五章 调色板 71
5.1 调色板的类型 71
5.2 对非主图面设置调色板 72
5.3 共享调色板 72
5.4 调色板动画 72
5.5 在窗口模式下使用DirectDraw调色板 73
5.5.1 窗口模式的调色板条目类型 73
5.5.2 在窗口模式下创建调色板 74
5.5.3 在窗口模式下设置调色板条目 75
第六章 裁剪器 77
6.1 裁剪表 78
6.2 共享DirectDrawClipper对象 79
6.3 独立的DirectDrawClipper对象 79
6.4 用CoCreateInstance创建DirectDrawClipper对象 80
6.5 裁剪器和系统鼠标配合使用 80
6.6 对多个窗口使用裁剪器 81
第七章 多显示器系统 82
7.1 枚举多显示器系统中的设备 82
7.2 在多显示器上的DirectDraw对象 83
7.3 焦点窗口和设备窗口 84
7.3.1 设置焦点窗口 84
7.3.2 设置设备窗口 85
7.4 多显示器系统中的设备与加速特性 86
7.5 在多显示器系统中调试全屏幕DirectDraw应用程序 86
第八章 视频端口 87
8.1 视频端口技术概述 87
8.1.1 数据流 87
8.1.2 视频源 88
8.1.3 视频解码器 88
8.1.4 视频端口 88
8.1.5 帧缓存 88
8.2 关于DirectDraw Video-Port扩展 88
8.3 视频信号的帧和场 89
8.4 水平同步、垂直同步和连接 89
8.5 垂直空白间隔数据 90
8.6 自动翻面 90
8.7 对普通视频赝像的解决 91
8.8 解决由半线引起的问题 92
8.9 开发硬件性能 92
第九章 DirectDraw的高级应用 94
9.1 Mode 13支持 94
9.1.1 设置Mode 13 94
9.1.2 Mode 13和图面特性 94
9.1.3 使用Mode 13 95
9.2 利用DMA支持 95
9.2.1 对DMA支持的检测 95
9.2.2 典型的DMA方案 96
9.2.3 使用DMA 96
9.3 确定显示硬件的能力 97
9.4 在显示存储器中存储位图 97
9.5 三缓冲 97
9.6 DirectDraw应用程序和窗口样式 98
9.7 将真RGB彩色与帧缓存中的彩色空间相匹配 100
9.8 用全屏幕模式显示一个窗口 100
第十章 DirectX程序设计 103
10.1 C/C++程序设计 103
10.1.1 组件对象模型(COM) 103
10.1.2 IUnknown接口 104
10.1.3 C++和COM接口 104
10.1.4 检索新接口 105
10.1.5 使用C语言访问COM对象 105
10.1.6 使用回调函数 106
10.2 Visual Basic程序设计 106
10.2.1 DirectX7类 107
10.2.2 引用类型库 108
10.2.3 创建DirectX对象 109
10.2.4 把数组传送给方法 109
10.2.5 使用标志 110
10.2.6 使用位屏蔽 111
10.2.7 DirectX枚举 111
10.2.8 Visual Basic错误捕获 112
第十一章 DirectDraw程序设计基础(C/C++) 113
11.1 DirectDraw应用程序的基本框架 113
11.1.1 创建一个DirectDraw对象 113
11.1.2 确定应用程序的性能 114
11.1.3 改变显示模式 115
11.1.4 创建可翻动的图面 115
11.1.5 渲染图面 117
11.1.6 对图面的写操作 118
11.1.7 翻图面 118
11.1.8 释放DirectDraw对象 119
11.2 后台缓存的使用 120
11.2.1 创建调色板 120
11.2.2 设置调色板 121
11.2.3 把位图装入后台缓存 121
11.3 从离屏图面传送位块 122
11.3.1 创建离屏图面 122
11.3.2 把位图装载到离屏图面 123
11.3.3 把离屏图面的位块转移到后台缓存 123
11.4 关键色和位图动画 124
11.4.1 设置关键色 125
11.4.2 创建动画 125
11.5 动态修改调色板 127
11.5.1 装载调色板条目 127
11.5.2 旋转调色板 128
11.6 使用覆盖图面 129
11.6.1 创建一个主图面 129
11.6.2 测试硬件的覆盖支持 130
11.6.3 创建覆盖图面 131
11.6.4 显示覆盖图面 132
11.6.5 更新覆盖图面位置 136
11.6.6 隐藏覆盖图面 136
第十二章 DirectDraw程序设计基础(Visual Basic) 138
12.1 把位块转移到屏幕 138
12.1.1 创建窗体 138
12.1.2 声明模块级变量 139
12.1.3 初始化变量 139
12.1.4 传送图面 141
12.2 使用透明 142
12.2.1 创建后台缓存 142
12.2.2 初始化图面 143
12.2.3 把位块转移到主图面 144
12.3 使用全屏幕特性 146
12.3.1 设置协作级和显示模式 146
12.3.2 创建一个复杂图面 147
12.3.3 初始化图面 147
12.3.4 使用翻面链更新显示 147
12.4 把位块转移到屏幕上的区域 148
12.5 枚举DirectDraw设备 149
12.5.1 获得已安装的DirectDraw设备 149
12.5.2 显示DirectDraw设备性能 150
12.5.3 显示DirectDraw设备的3D性能 151
12.5.4 报告可用的显示模式 151
第二部分 DirectDraw API参考 155
第十三章 DirectDraw对象的接口 155
13.1 IDDVideoPortContainer接口 155
13.1.1 IDDVideoPortContainer::Create VideoPort 155
13.1.2 IDDVideoPortContainer::Enum VideoPorts 156
13.1.3 IDDVideoPortContainer::Get VideoPortConnectInfo 157
13.1.4 IDDVideoPortContainer::Query VideoPortStatus 158
13.2 IDirectDraw7接口 158
13.2.1 IDirectDraw7::Compact 159
13.2.2 IDirectDraw7::GreateClipper 160
13.2.3 IDirectDraw7::CreatePalette 160
13.2.4 IDirectDraw7::CreateSurface 162
13.2.5 IDirectDraw7::DuplicateSurface 163
13.2.6 IDirectDraw7::EnumDisplayModes 164
13.2.7 IDirectDraw7::EnumSurfaces 165
13.2.8 IDirectDraw7::EvaluateMode 166
13.2.9 IDirectDraw7::Flip ToGDISurface 167
13.2.10 IDirectDraw7::GetAvailableVidMem 168
13.2.11 IDirectDraw7::GetCaps 169
13.2.12 IDirectDraw7::GetDeviceIdentifier 170
13.2.13 IDirectDraw7::GetDisplayMode 170
13.2.14 IDirectDraw7::GetFourCCCodes 171
13.2.15 IDirectDraw7::GetGDISurface 172
13.2.16 IDirectDraw7::GetMonitorFrequency 172
13.2.17 IDirectDraw7::GetScanLine 173
13.2.18 IDirectDraw7::GetSurfaceFromDC 173
13.2.19 IDirectDraw7::GetVerticalBlankStatus 174
13.2.20 IDirectDraw7::Initialize 174
13.2.21 IDirectDraw7::RestoreAllSurfaces 175
13.2.22 IDirectDraw7::RestoreDisplayMode 176
13.2.23 IDirectDraw7::SetCooperativeLevel 176
13.2.24 IDirectDraw7::SetDisplayMode 178
13.2.25 IDirectDraw7::StartModeTest 179
13.2.26 IDirectDraw7::TestCooperativeLevel 180
13.2.27 IDirectDraw7::WaitForVerticalBlank 181
13.3 IDirectDrawClipper接口 181
13.3.1 IDirectDrawClipper::GetClipList 182
13.3.2 IDirectDrawClipper::GetHWnd 183
13.3.3 IDirectDrawClipper::Initialize 183
13.3.4 IDirectDrawClipper::IsClipListChanged 184
13.3.5 IDirectDrawClipper::SetClipList 184
13.3.6 IDirectDrawClipper::SetHWnd 186
13.4 IDirectDrawColorControl接口 186
13.4.1 IDirectDrawColorControl::GetColorControls 186
13.4.2 IDirectDrawColorControl::SetColorControls 187
13.5 IDirectDrawGammaControl接口 187
13.5.1 IDirectDrawGammaControl::GetGammaRamp 188
13.5.2 IDirectDrawGammaControl::SetGammaRamp 188
13.6 IDirectDrawPalette接口 189
13.6.1 IDirectDrawPalette::GetCaps 190
13.6.2 IDirectDrawPalette::GetEntries 190
13.6.3 IDirectDrawPalette::Initialize 191
13.6.4 IDirectDrawPalette::SetEntries 191
13.7 IDirectDrawSurface7接口 192
13.7.1 IDirectDrawSurface7::AddAttachedSurface 194
13.7.2 IDirectDrawSurface7::AddOverlayDirtyRect 194
13.7.3 IDirectDrawSurface7::Blt 195
13.7.4 IDirectDrawSurface7::BltBatch 197
13.7.5 IDirectDrawSurface7::BltFast 197
13.7.6 IDirectDrawSurface7::ChangeUniquenessValue 199
13.7.7 IDirectDrawSurface7::DeleteAttachedSurface 199
13.7.8 IDirectDrawSurface7::EnumAttachedSurfaces 200
13.7.9 IDirectDrawSurface7::EnumOverlayZOrders 201
13.7.10 IDirectDrawSurface7::FIip 201
13.7.11 IDirectDrawSurface7::FreePrivateData 203
13.7.12 IDirectDrawSurface7::GetAttachedSurface 204
13.7.13 IDirectDrawSurface7::GetBltStatus 205
13.7.14 IDirectDrawSurface7::GetCaps 206
13.7.15 IDirectDrawSurface7::GetClipper 206
13.7.16 IDirectDrawSurface7::GetColorKey 207
13.7.17 IDirectDrawSurface7::GetDC 207
13.7.18 IDirectDrawSurface7::GetDDInterface 208
13.7.19 IDirectDrawSurface7::GetFIipStatus 209
13.7.20 IDirectDrawSurface7::GetLOD 209
13.7.21 IDirectDrawSurface7::GetOverlayPosition 210
13.7.22 IDirectDrawSurface7::GetPalette 210
13.7.23 IDirectDrawSurface7::GetPixelFormat 211
13.7.24 IDirectDrawSurface7::GetPriority 211
13.7.25 IDirectDrawSurface7::GetPrivateData 212
13.7.26 IDirectDrawSurface7::GetSurfaceDesc 213
13.7.27 IDirectDrawSurface7::GetUniquenessValue 213
13.7.28 IDirectDrawSurface7::Initialize 214
13.7.29 IDirectDrawSurface7::IsLost 214
13.7.30 IDirectDrawSurface7::Lock 215
13.7.31 IDirectDrawSurface7::PageLock 217
13.7.32 IDirectDrawSurface7::PageUnlock 218
13.7.33 IDirectDrawSurface7::ReleaseDC 218
13.7.34 IDirectDrawSurface7::Restore 219
13.7.35 IDirectDrawSurface7::SetClipper 220
13.7.36 IDirectDrawSurface7::SetColorKey 221
13.7.37 IDirectDrawSurface7::SetLOD 222
13.7.38 IDirectDrawSurface7::SetOverlayPosition 222
13.7.39 IDirectDrawSurface7::SetPalette 223
13.7.40 IDirectDrawSurface7::SetPriority 224
13.7.41 IDirectDrawSurface7::SetPrivateData 225
13.7.42 IDirectDrawSurface7::SetSurfaceDesc 226
13.7.43 IDirectDrawSurface7::Unlock 227
13.7.44 IDirectDrawSurface7::UpdateOverlay 227
13.7.45 IDirectDrawSurface7::UpdateOverlayDisplay 230
13.7.46 IDirectDrawSurface7::UpdateOverlayZOrder 230
13.8 IDirectDrawVideoPort接口 231
13.8.1 IDirectDrawVideoPort::FIip 231
13.8.2 IDirectDrawVideoPort::GetBandwidthInfo 232
13.8.3 IDirectDrawVideoPort::GetColorControls 233
13.8.4 IDirectDrawVideoPort::GetFieldPolarity 234
13.8.5 IDirectDrawVideoPort::GetInputFormats 234
13.8.6 IDirectDrawVideoPort::GetOutputFormats 235
13.8.7 IDirectDrawVideoPort::GetVideoLine 236
13.8.8 IDirectDrawVideoPort::GetVideoSignalStatus 236
13.8.9 IDirectDrawVideoPort::SetColorControls 237
13.8.10 IDirectDrawVideoPort::SetTargetSurface 237
13.8.11 IDirectDrawVideoPort::StartVideo 238
13.8.12 IDirectDrawVideoPort::StopVideo 238
13.8.13 IDirectDrawVideoPort::UpdateVideo 239
13.8.14 IDirectDrawVideoPort::WaitForSync 239
第十四章 数据结构 241
14.1 DDBLTBATCH 241
14.2 DDBLTFX 243
14.3 DDCAPS 246
14.4 DDCOLORCONTROL 260
14.5 DDCOLORKEY 261
14.6 DDDEVICEIDENTIFIER2 261
14.7 DDGAMMARAMP 262
14.8 DDOVERLAYFX 263
14.9 DDPIXELFORMAT 264
14.10 DDSCAPS 267
14.11 DDSCAPS2 270
14.12 DDSURFACEDESC 275
14.13 DDSURFACEDESC2 276
14.14 DDVIDEOPORTBANDWIDTH 278
14.15 DDVIDEOPORTCAPS 279
14.16 DDVIDEOPORTCONNECT 283
14.17 DDVIDEOPORTDESC 285
14.18 DDVIDEOPORTINFO 286
14.19 DDVIDEOPORTSTATUS 287
第十五章 DirectDraw for Visual Basic类 289
15.1 DirectDraw7 289
15.1.1 DirectDraw7.CreateClipper 290
15.1.2 DirectDraw7.CreatePalette 290
15.1.3 DirectDraw7.CreateSurface 291
15.1.4 DirectDraw7.CreateSurfaceFromFile 292
15.1.5 DirectDraw7.CreateSurfaceFromResource 293
15.1.6 DirectDraw7.DuplicateSurface 294
15.1.7 DirectDraw7.FIipToGDISurface 295
15.1.8 DirectDraw7.GetAvailableTotalMem 295
15.1.9 DirectDraw7.GetCaps 296
15.1.10 DirectDraw7.GetDeviceIdentifier 296
15.1.11 DirectDraw7.GetDirect3D 297
15.1.12 DirectDraw7.GetDisplayMode 297
15.1.13 DirectDraw7.GetDisplayModesEnum 298
15.1.14 DirectDraw7.GetFourCCCodes 299
15.1.15 DirectDraw7.GetFreeMem 299
15.1.16 DirectDraw7.GetGDISurface 300
15.1.17 DirectDraw7.GetMonitorFrequency 300
15.1.18 DirectDraw7.GetNumFourCCCodes 301
15.1.19 DirectDraw7.GetScanLine 301
15.1.20 DirectDraw7.GetSurfaceFromDC 302
15.1.21 DirectDraw7.GetSurfacesEnum 303
15.1.22 DirectDraw7.GetVerticalBlankStatus 304
15.1.23 DirectDraw7.LoadPaletteFromBitmap 304
15.1.24 DirectDraw7.RestoreAllSurfaces 305
15.1.25 DirectDraw7.RestoreDisplayMode 305
15.1.26 DirectDraw7.SetCooperativeLevel 306
15.1.27 DirectDraw7.SetDisplayMode 306
15.1.28 DirectDraw7.TestCooperativeLevel 307
15.1.29 DirectDraw7.WaitForVerticalBlank 308
15.2 DirectDrawClipper 309
15.2.1 DirectDrawClipper.GetClipList 309
15.2.2 DirectDrawClipper.GetClipListSize 310
15.2.3 DirectDrawClipper.GetHWnd 310
15.2.4 DirectDrawClipper.IsClipListChanged 311
15.2.5 DirectDrawClipper.SetClipList 311
15.2.6 DirectDrawClipper.SetHWnd 312
15.3 DirectDrawColorControl 312
15.3.1 DirectDrawColorControl.GetColorControls 312
15.3.2 DirectDrawColorControl.SetColorControls 313
15.4 DirectDrawEnum 313
15.4.1 DirectDrawEnum.GetCount 314
15.4.2 DirectDrawEnum.GetDescription 314
15.4.3 DirectDrawEnum.GetGuid 315
15.4.4 DirectDrawEnum.GetMonitorHandle 315
15.4.5 DirectDrawEnum.GetName 315
15.5 DirectDrawEnumModes 316
15.5.1 DirectDrawEnumModes.GetCount 316
15.5.2 DirectDrawEnumModes.GetItem 317
15.6 DirectDrawEnumSurfaces 317
15.6.1 DirectDrawEnumSurfaces.GetCount 317
15.6.2 DirectDrawEnumSurfaces.GetItem 318
15.7 DirectDrawGammaControl 318
15.7.1 DirectDrawGammaControl.GetGammaRamp 319
15.7.2 DirectDrawGammaControl.SetGammaRamp 319
15.8 DirectDrawIdentifier 320
15.8.1 DirectDrawIdentifier.GetDescription 320
15.8.2 DirectDrawIdentifier.GetDeviceId 321
15.8.3 DirectDrawIdentifier.GetDeviceIdentifier 321
15.8.4 DirectDrawIdentifier.GetDriver 322
15.8.5 DirectDrawIdentifier.GetDriverSubVersion 322
15.8.6 DirectDrawIdentifier.GetDriverVersion 323
15.8.7 DirectDrawIdentifier.GetRevision 323
15.8.8 DirectDrawIdentifier.GetSubSysId 323
15.8.9 DirectDrawIdentifier.GetVendorId 324
15.8.10 DirectDrawIdentifier.GetWHQLLevel 324
15.9 DirectDrawPalette 325
15.9.1 DirectDrawPalette.GetCaps 325
15.9.2 DirectDrawPalette.GetEntries 325
15.9.3 DirectDrawPalette.SetEntries 326
15.10 DirectDrawSurface7 327
15.10.1 DirectDrawSurface7.AddAttachedSurface 328
15.10.2 DirectDrawSurface7.Blt 329
15.10.3 DirectDrawSurface7.BltColorFill 330
15.10.4 DirectDrawSurface7.BltFast 331
15.10.5 DirectDrawSurface7.BltFx 332
15.10.6 DirectDrawSurface7.BltToDC 334
15.10.7 DirectDrawSurface7ChangeUniquenessValue 335
15.10.8 DirectDrawSurface7.DeleteAttachedSurface 335
15.10.9 DirectDrawSurface7.DrawBox 336
15.10.10 DirectDrawSurface7.DrawCircle 336
15.10.11 DirectDrawSurface7.DrawEllipse 337
15.10.12 DirectDrawSurface7.DrawLine 337
15.10.13 DirectDrawSurface7.DrawRoundedBox 338
15.10.14 DirectDrawSurface7.DrawText 338
15.10.15 DirectDrawSurface7.Flip 339
15.10.16 DirectDrawSurface7.GetAttachedSurface 340
15.10.17 DirectDrawSurface7.GetAttachedSurfaceEnum 341
15.10.18 DirectDrawSurface7.GetBltStatus 341
15.10.19 DirectDrawSurface7.GetCaps 342
15.10.20 DirectDrawSurface7.GetClipper 342
15.10.21 DirectDrawSurface7.GetColorKey 343
15.10.22 DirectDrawSurface7.GetDC 344
15.10.23 DirectDrawSurface7.GetDirectDraw 344
15.10.24 DirectDrawSurface7.GetDirectDrawColorControl 345
15.10.25 DirectDrawSurface7.GetDirectDrawGammaControl 345
15.10.26 DirectDrawSurface7.GetDrawStyle 346
15.10.27 DirectDrawSurface7.GetDrawWidth 346
15.10.28 DirectDrawSurface7.GetFillColor 347
15.10.29 DirectDrawSurface7.GetFillStyle 347
15.10.30 DirectDrawSurface7.GetFlipStatus 348
15.10.31 DirectDrawSurface7.GetFontBackColor 348
15.10.32 DirectDrawSurface7.GetFontTransparency 349
15.10.33 DirectDrawSurface7.GetForeColor 349
15.10.34 DirectDrawSurface7.GetLockedArray 350
15.10.35 DirectDrawSurface7.GetLockedPixel 350
15.10.36 DirectDrawSurface7.GetLOD 351
15.10.37 DirectDrawSurface7.GetOverlayPosition 351
15.10.38 DirectDrawSurface7.GetOverlayZOrdersEnum 352
15.10.39 DirectDrawSurface7.GetPalette 353
15.10.40 DirectDrawSurface7.GetPixelFormat 353
15.10.41 DirectDrawSurface7.GetPriority 354
15.10.42 DirectDrawSurface7.GetSurfaceDesc 354
15.10.43 DirectDrawSurface7.GetUniquenessValue 355
15.10.44 DirectDrawSurface7.IsLost 355
15.10.45 DirectDrawSurface7.Lock 356
15.10.46 DirectDrawSurface7.ReleaseDC 357
15.10.47 DirectDrawSurface7.Restore 357
15.10.48 DirectDrawSurface7.SetClipper 358
15.10.49 DirectDrawSurface7.SetColorKey 359
15.10.50 DirectDrawSurface7.SetDrawStyle 360
15.10.51 DirectDrawSurface7.SetDrawWidth 360
15.10.52 DirectDrawSurface7.SetFillColor 361
15.10.53 DirectDrawSurface7.SetFillStyle 361
15.10.54 DirectDrawSurface7.SetFont 362
15.10.55 DirectDrawSurface7.SetFontBackColor 362
15.10.56 DirectDrawSurface7.SetFontTransparency 362
15.10.57 DirectDrawSurface7.SetForeColor 363
15.10.58 DirectDrawSurface7.SetLockedPixel 363
15.10.59 DirectDrawSurface7.SetLOD 364
15.10.60 DirectDrawSurface7.SetOverlayPosition 364
15.10.61 DirectDrawSurface7.SetPalette 365
15.10.62 DirectDrawSurface7.SetPriority 366
15.10.63 DirectDrawSurface7.Unlock 366
15.10.64 DirectDrawSurface7.UpdateOverlay 367
15.10.65 DirectDrawSurface7.UpdateOverlayFx 368
15.10.66 DirectDrawSurface7.UpdateOverlayZOrder 369
15.11 IFont 369
第十六章 DirectDraw for Visual Basic类型 370
16.1 DDBLTFX 370
16.2 DDCAPS 372
16.3 DDCOLORCONTROL 376
16.4 DDCOLORKEY 377
16.5 DDGAMMARAMP 377
16.6 DDOVERLAYFX 378
16.7 DDPIXELFORMAT 378
16.8 DDSCAPS2 380
16.9 DDSURFACEDESC2 381
16.10 PALETTEENTRY 382
16.11 RECT 383
附录 全局函数和回调函数 384