DirectDraw 学习: 一、创建Primary Surface
Primary Surface,顾名思义,就是我们能时刻在屏幕上看到的界面,它通过DDSAPS_PRIMARYSURFACE属性来标识。对于每一个DirectDraw对象,你只能拥有一个Primary Surface。
创建Primary Surface时要注意,显示区域和像素格式都默认的匹配当前的显示模式,所以,这里就不需要你去设置表面区域和像素格式;如果你一定要设置的话,程序将创建失败并返回DDERR_INVALIDPARAMS,即使你提供的信息与当前的显示模式相匹配。
下面这段代码展示了当创建primary surface时如何填充DDSURFACEDESC2结构体的:
DDSURFACEDESC2 ddsd; ddsd.dwSize = sizeof(ddsd); // Tell DirectDraw which members are valid. ddsd.dwFlag = DDSD_CAPS; // Request a primary surface. ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
当你创建primary surface后,你就可以通过method(IDirectDrawSurface5::GetSurfaceDesc)来获取此surface的区域和像素格式信息。
posted on 2011-09-09 20:38 EmbeddedBoy_jsu_xtw 阅读(129) 评论(0) 编辑 收藏
