Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 05:50, 7 July 2007.

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

From Forum Nokia Wiki

  • 设备, 软件 版本:

S60 3rd Edition

S60 3rd Edition, FP1


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中的位图操作

Related Discussions
Thread Thread Starter Forum Replies Last Post
fast pixel access to frame buffer ? rs_chikin General Symbian C++ 1 2003-10-22 15:42
DirectDraw Nokia 9210 Nokia_Archive General Symbian C++ 1 2002-06-02 04:25
slow update, while blitting!!! rs_chikin General Symbian C++ 5 2003-04-25 11:51
Direct Screen Access General Symbian C++ 1 2003-02-26 19:27
linear framebuffer artblanc General Symbian C++ 5 2003-06-25 10:42
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX