Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

使用UserSvr::ScreenInfo()获取显示内存的方法在S60第三版中已经废弃

From Wiki
Jump to: navigation, search
Article Metadata

兼容于
平台: S60 3rd Edition, S60 3rd Edition FP1
S60 3rd Edition FP1
S60 3rd Edition (initial release)

文章
huwell 在 07 Jul 2007 创建
最后由 hamishwillee 在 30 May 2013 编辑
  • 设备, 软件 版本:


Contents

概述

UserSvr::ScreenInfo()提供了地址访问LCD显示帧缓冲。 但使用这个方法来直接绘制屏幕在S60第三版设备上已经不再适用了,可以认为是被废弃了。


详细描述

通过调用UserSvr::ScreenInfo()获得TScreenInfoV01::iScreenAddress地址,可以直接在显示器的帧缓冲进行绘制,在修改完帧缓冲后,显示器需要强制来更新一下。

在S60第三版之前,我们可以通过如下方式进行重绘:

TRawEvent redraw;
 
redraw.Set( TRawEvent::ERedraw );
 
UserSvr::AddEvent( redraw );


在S60第三版上,这个方法就无法立即生效了。屏幕只在街道数据超过范围的通知时才被更新。


解决方案

开发者可以使用CDirectScreenBitmap类进行屏幕直接访问,从而取代通过UserSvr::ScreenInfo()来获取帧缓冲的方法。要获取更多信息,可以参考文档

S60 Platform: Scalable Screen-Drawing How-To


另一种解决方案是,仍然使用老的绘制方法,并通过指定数据超过范围以强制更新屏幕

void CFbsScreenDevice::Update( const TRegion &aRegion );


参考链接

关于Symbian中的位图操作

This page was last modified on 30 May 2013, at 04:36.
41 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×