WEB开发网
开发学院手机开发Symbian 开发 在 Symbian 上使用双缓冲 阅读

在 Symbian 上使用双缓冲

 2010-04-20 15:58:00 来源:WEB开发网   
核心提示:iOffScrnBmpDevice = CFbsBitmapDevice::NewL(iOffScrnBmp);User::LeaveIfError(iOffScrnBmpDevice->CreateContext(iOffScrnContext));}说明一下,上面的代码除了生成了我们所需的Off-screen

iOffScrnBmpDevice = CFbsBitmapDevice::NewL(iOffScrnBmp);

User::LeaveIfError(iOffScrnBmpDevice->CreateContext(iOffScrnContext));

}

说明一下。上面的代码除了生成了我们所需的Off-screen Buffer,即一个4096色的CFbsBitmap之外,还在它上面加了一个

iOffScrnContext。这个东西(CFbsBitGc)是我们用来往我们的buffer上面画图用的工具。 继续:

代码:

CMyView::~CMyView()

{

delete iOffScrnBmp;

delete iOffScrnBmpDevice;

delete iOffScrnContext;

}

void CMyView::Draw(const TRect& aRect) const

{

// 把我们的buffer清空

iOffScrnContext->Clear(Rect());

// 在buffer里画方块,而不是在屏幕上

for (int i=0; i<100; i+=2)

{ iOffScrnContext->DrawRect(TRect(TPoint(i,i), TSize(50,50))); }

// 一次性把buffer画到屏幕上

CWindowGc& gc = SystemGc();

gc.BitBlt(TPoint(0,0), iOffScrnBmp);

}

哈哈!虽然离profx的星球上的技术还有一定差距,至少闪烁和“蠕虫现象”都消失了!Profx觉得,地球这个地方,还是可以

继续呆下去的。

上一页  1 2 

Tags:Symbian 使用 缓冲

编辑录入:coldstar [复制链接] [打 印]
赞助商链接