第一部分 DirectDraw基础 3
第一章 关于DirectDraw 3
第二章 为什么要用DirectDraw 4
第三章 开始——基本图形概念 5
3.1 设备无关位图 5
3.2 绘图表面 6
3.3 Blitting概念 7
3.4 页面翻转和后备缓冲 7
3.5 矩形介绍 7
3.6 子画面概念 8
3.6.1 什么是子画面 8
3.6.2 透明的位块传输和色彩基调 9
3.6.3 子画面和修补矩形 9
3.6.4 边界检查和命中检测 10
第四章 DirectDraw结构 11
4.1 结构总览 11
4.2 DirectDraw对象类型 12
4.2.1 DirectDraw对象 12
4.2.2 DirectDrawSurface对象 12
4.2.3 DirectDrawPalette对象 12
4.2.4 DirectDrawClipper对象 12
4.2.5 DirectDrawVideoPort对象 13
4.3 硬件抽象层 13
4.4 软件模拟 13
第五章 DirectDraw Essentials 15
5.1 互操作层 15
5.2 显示模式 16
5.2.1 关于显示模式 16
5.2.2 决定所支持的显示模式 16
5.2.3 设置显示模式 17
5.2.4 恢复显示模式 17
5.2.5 模式X和模式13显示模式 17
5.2.6 对高分辨率和真彩色比特深的支持 18
5.3 DirectDraw对象 18
5.3.1 什么是DirectDraw对象 19
5.3.2 在IDirectDraw2中有何新内容 19
5.3.3 单进程多DirectDraw对象 20
5.3.4 使用CoCreateInstance创建DirectDraw对象 21
5.4 平面 21
5.4.1 基本概念 22
5.4.2 生成平面 26
5.4.3 翻转平面 28
5.4.4 丢失平面 29
5.4.5 释放平面 30
5.4.6 更新平面特性 30
5.4.7 直接访问帧缓存 31
5.4.8 使用非本地视频显示内存平面 32
5.4.9 转换颜色和格式 32
5.4.10 覆盖平面 33
5.4.11 位块传输到多个窗口 37
5.5 调色板 37
5.5.1 什么是调色板 38
5.5.2 调色板类型 38
5.5.3 在非初始平面上设置调色板 39
5.5.4 共享调色板 39
5.5.5 调色板动画 39
5.6 剪切板 40
5.6.1 什么是剪切板对象 40
5.6.2 剪切列表 41
5.6.3 共享DirectDrawClipper对象 42
5.6.4 独立的DirectDrawClipper对象 42
5.6.5 用CoCreateInstance生成DirectDrawClipper对象 42
5.6.6 使用带系统光标的剪切板 43
5.6.7 使用多窗口的剪切板 43
5.7 高级DirectDraw专题 44
5.7.1 模式13支持 44
5.7.2 利用DMA支持 45
5.7.3 在窗口模式下使用DirectDraw调色板 47
5.7.4 用多监视器工作 50
5.7.5 视频端口 51
5.7.6 获取翻转和位块传输状态 57
5.7.7 位块传输和颜色填充 58
5.7.8 判定显示硬件的性能 58
5.7.9 在显示内存中存贮位图 59
5.7.10 三缓冲 59
5.7.11 DirectDraw应用和窗口风格 60
5.7.12 将真RGB颜色匹配到帧缓冲的颜色空间 61
第六章 DirectDraw指导 63
6.1 DirectDraw基础 63
6.1.1 创建一个DirectDraw对象 64
6.1.2 决定应用方式 64
6.1.3 改变显示模式 65
6.1.4 创建翻转平面 66
6.1.5 渲染平面 68
6.1.6 写向平面 69
6.1.7 翻转平面 70
6.1.8 解除DirectDraw对象的内存 70
6.2 在后端缓冲中加载位图 71
6.2.1 创建调色板 72
6.2.2 设置调色板 72
6.2.3 在后端缓冲中加载位图 73
6.2.4 翻转平面 74
6.3 从脱屏平面位块传输 74
6.3.1 创建脱屏平面 74
6.3.2 加载位图到脱屏平面 75
6.3.3 从脱屏平面位块传输到后端缓冲 76
6.4 颜色键和位图动画 77
6.4.1 设置颜色键 77
6.4.2 创建一个简单动画 78
6.5 动态修改调色板 78
6.5.1 加载调色板表目 78
6.5.2 轮排调色板 79
6.6 使用覆盖平面 80
6.6.1 创建一个原始平面 81
6.6.2 测试硬件覆盖的支持 81
6.6.3 创建一个覆盖平面 82
6.6.4 显示覆盖平面 84
6.7 更改覆盖平面位置 87
6.8 隐藏覆盖平面 88
6.9 其它的DirectDraw示例 89
第二部分 DirectDraw参考 93
第一章 接口 93
1.1 IDDVideoPortContainer接口 93
1.1.1 IDDVideoPortContainer∷CreateVideoPort 93
1.1.2 IDDVideoPortContainer∷EnumVideoPorts 94
1.1.3 IDDVideoPortContainer∷GetVideoPortConnectInfo 95
1.1.4 IDDVideoPortContainer∷QueryVideoPortStatus 96
1.2 IDirectDraw2接口 96
1.2.1 IDirectDraw2∷Compact 97
1.2.2 IDirectDraw2∷CreateClipper 97
1.2.3 IDirectDraw2∷CreatePalette 98
1.2.4 IDirectDraw2∷CreateSurface 99
1.2.5 IDirectDraw2∷DuplicateSurtace 100
1.2.6 IDirectDraw2∷EnumDisplayModes 101
1.2.7 IDirectDraw2∷EnumSurface 102
1.2.8 IDirectDraw2∷FlipToGDISurface 103
1.2.9 IDirectDraw2∷GetAvailableVidMem 103
1.2.10 IDirectDraw2∷GetCaps 105
1.2.11 IDirectDraw2∷GetDisplayMode 105
1.2.12 IDirectDraw2∷GetFourCCCodes 106
1.2.13 IDirectDraw2∷GetGDISurface 106
1.2.14 IDirectDraw2∷GetMonitorFrequency 107
1.2.15 IDirectDraw2∷GetScanLine 107
1.2.16 IDirectDraw2∷GetVerticalBlankStatus 108
1.2.17 IDirectDraw2∷Initialize 109
1.2.18 IDirectDraw2∷RestoreDisplayMode 109
1.2.19 IDirectDraw2∷SetCooperativeLevel 110
1.2.20 IDirectDraw2∷SetDisplayMode 111
1.2.21 IDirectDraw2∷WaitForVerticalBlank 112
1.3 IdirectDrawClipper接口 113
1.3.1 IDirectDrawClipper∷GetClipList 114
1.3.2 IDirectDrawClipper∷GetHWnd 115
1.3.3 IDirectDrawClipper∷Initialize 115
1.3.4 IDirectDrawClipper∷IsClipListChanged 116
1.3.5 IDirectDrawClipper∷SetClipList 117
1.3.6 IDirectDrawClipper∷SetHWnd 118
1.4 IdirectDrawColorControl接口 118
1.4.1 IDirectDrawColorControl∷GetColorControls 119
1.4.2 IDirectDrawColorControl∷SetColorControls 119
1.5 IdirectDrawPalette接口 120
1.5.1 IDirectDrawPalette∷GetCaps 120
1.5.2 IDirectDrawPalette∷GetEntries 121
1.5.3 IDirectDrawPalette∷GetEntries 122
1.5.4 IDirectDrawPalette∷SetEntries 122
1.6 IDirectDrawSurface3接口 123
1.6.1 IDirectDrawSurface3∷AddAttachedSurface 124
1.6.2 IDirectDrawSurface3∷AddOverlayDirtyRect 125
1.6.3 IDirectDrawSurface3∷Bit 126
1.6.4 IDirectDrawSurface3∷BltBatch 129
1.6.5 IDirectDrawSurface3∷BltFast 130
1.6.6 IDirectDrawSurface3∷DeleteAttachedSurface 131
1.6.7 IDirectDrawSurface3∷EnumAttachedSurface 132
1.6.8 IDirectDrawSurface3∷EnumOverlayZOrders 132
1.6.9 IDirectDrawSurface3∷Flip 133
1.6.10 IDirectDrawSurface3∷GetAttachedSurface 134
1.6.11 IDirectDrawSurface3∷GetBltStatus 135
1.6.12 IDirectDrawSurface3∷GetCaps 136
1.6.13 IDirectDrawSurface3∷GetClipper 136
1.6.14 IDirectDrawSurface3∷GetColorKey 137
1.6.15 IDirectDrawSurface3∷GetDC 137
1.6.16 IDirectDrawSurface3∷GetDCInterface 138
1.6.17 IDirectDrawSurface3∷GetFlipStatus 139
1.6.18 IDirectDrawSurface3∷GetOverlayPosition 139
1.6.19 IDirectDrawSurface3∷GetPalette 140
1.6.20 IDirectDrawSurface3∷GetPixelFormat 141
1.6.21 IDirectDrawSurface3∷GetSurfaceDesc 141
1.6.22 IDirectDrawSurface3∷Initialize 142
1.6.23 IDirectDrawSurface3∷IsLost 142
1.6.24 IDirectDrawSurface3∷Lock 143
1.6.25 IDirectDrawSurface3∷PageLock 144
1.6.26 IDirectDrawSurtace3∷PageUnLock 145
1.6.27 IDirectDrawSurface3∷ReleaseDC 146
1.6.28 IDirectDrawSurface3∷Restore 146
1.6.29 IDirectDrawSurface3∷SetClipper 147
1.6.30 IDirectDrawSurface3∷SetColorkey 148
1.6.31 IDirectDrawSurface3∷SetOverlayPosition 149
1.6.32 IDirectDrawSurface3∷SetPalette 150
1.6.33 IDirectDrawSurface3∷SetSurfaceDesc 150
1.6.34 IDirectDrawSurface3∷Unlock 151
1.6.35 IDirectDrawSurface3∷UpdateOverlay 152
1.6.36 IDirectDrawSurface3∷UpdateOverlayDisplay 154
1.6.37 IDirectDrawSurface3∷UpdateOverlayZOrder 155
1.7 IDirectDrawVideoPort接口 156
1.7.1 IDirectDrawVideoPort∷Flip 157
1.7.2 IDirectDrawVideoPort∷GetBandwidthInfo 157
1.7.3 IDirectDrawVideoPort∷GetColorControls 158
1.7.4 IDirectDrawVideoPort∷GetInputFormats 159
1.7.5 IDirectDrawVideoPort∷GetOutputFormats 160
1.7.6 IDirectDrawVideoPort∷GetFieldPolarity 160
1.7.7 IDirectDrawVideoPort∷GetVideoLine 161
1.7.8 IDirectDrawVideoPort∷GetVideoSignalStatus 161
1.7.9 IDirectDrawVideoPort∷SetColorControls 162
1.7.10 IDirectDrawVideoPort∷SetTargetSurface 162
1.7.11 IDirectDrawVideoPort∷StartVideo 163
1.7.12 IDirectDrawVideoPort∷StopVideo 164
1.7.13 IDirectDrawVideoPort∷UpdateVideo 164
1.7.14 IDirectDrawVideoPort∷WaitForSync 165
第二章 函数 166
2.1 DirectDrawCreate函数 166
2.2 DirectDrawCreateClipper函数 167
2.3 DirectDrawEnumerate函数 168
第三章 调用返回函数 169
3.1 DDEnumCallback函数 169
3.2 EnumModesCallback函数 169
3.3 EnumSurfaceCallback函数 170
3.4 EnumVideoCallback函数 171
第四章 结构 172
4.1 DDBLTBATCH结构 172
4.2 DDBLTFX结构 174
4.3 DDCAPS结构 177
4.4 DDCOLORCONTROL结构 190
4.5 DDCOLORKEY结构 191
4.6 DDOVERLAYFX结构 192
4.7 DDPIXELFORMAT结构 193
4.8 DDSCAPS结构 196
4.9 DDSURFACEDESC结构 199
4.10 DDVIDEOPORTBANDWIDTH结构 201
4.11 DDVIDEOPORTCAPS结构 202
4.12 DDVIDEOPORTCONNECT结构 205
4.13 DDVIDEOPORTDESC结构 207
4.14 DDVIDEOPORTINFO结构 208
4.15 DDVIDEOPORTSTATUS结构 209
第五章 返回值 211
第六章 像素格式掩码 216
6.1 纹理映射格式 216
6.2 非屏幕平面格式 218
第七章 四字符编码(FOUCC) 220
- 《惠普HP486微型机硬件技术参考手册与BIOS技术参考手册》熊可宜编译 2222
- 《IBM PS/2 新一代个人计算机技术参考手册 50型和60型技术参考手册》韩毅 孙彩贤 余克艰 包蕾 徐崇安编译 1991
- 《DirectDraw技术参考手册》黄平,杨峰等编 1999
- 《用户技术参考手册》本厂286微机室编 1990
- 《技术参考手册》亚文等编译 1991
- 《技术参考手册》容若文;茅为华等译 1987
- 《技术参考手册》王小华主编 2222
- 《电视广播技术参考手册》张青严,徐英编 1984
- 《矿床技术经济评价参考手册》全国矿产储量委员会办公室编 1987
- 《IBM PC技术参考手册》李永胜译 1986
- 《DirectDraw技术参考手册》黄平,杨峰等编 1999
- 《Direct 3D保留模式技术参考手册》杨峰,余澜等编 1999
- 《Direct 3D立即模式技术参考手册》杨峰,周颖恒等编 1999
- 《大学英语阅读新概念 1》施发敏总主编;杨峰主编;熊彩琴,刘菊花,姜霞等编 2002
- 《跟我学Visual C++ 5.0》陈兴蜀,黄平等编 1999
- 《干部职工学法用法读本》中共黄平县委组织部,黄平县人事劳动和社会保障局,黄平县依法治县领导小组办公室组织编写 2222
- 《微波技术与天线》杨峰等编 2016
- 《知识问答与实用法律法规选编》黄平县依法治县工作领导小组,中共黄平县委组织部,黄平县人事劳动和社会保障局组织编写 2222
- 《精品学案 历史分册 高一 上》杨峰主编;杨峰,任治强副主编 2014
- 《黄平苗族芦笙文化》黄平县地方史志办公室,黄平县文体广电旅游局,黄平县民间文艺家协会编 2015
- 《西南交通大学史 1972-1989 第5卷》何云庵主编;张雪永,高平平副主编;闫月勤本卷主编;梁锦唐本卷副主编 2016
- 《光华财税年刊 2008-2009》西南财经大学财政税务学院编 2010
- 《中文Visual Foxpro 3.0入门教程》曹晓阳等编 1997
- 《厉兵大西南.成都军区卷》裘山山,简嘉等著 2004
- 《《财务管理学》精练与详解》胡国柳,刘学兵主编 2011
- 《西南(唐山)交通大学百周年校庆论文集 图书情报与出版编辑分册》朱永林主编;年维洁,余南阳副主编;李世婧,李彦春,王传绚,王亮贵,俞静贞,朱文倩,刘忠兰,刘荣汉,陈坚,麦倜曾编委 1996
- 《挑李思源 伴随交大每一天 上》张雪永,战凤主编;钱淼,韩琴英副主编;刘堃,张壹,曹文翰编 2014
- 《挑李思源 伴随交大每一天 下》张雪永,战凤主编;钱淼,韩琴英副主编;刘堃,张壹,曹文翰编 2014
- 《重山烟雨存古刹 西南诸名寺》张美著 2014
- 《火车畅游,从成都出发》《亲历者》编辑部编著 2014