WINCE实现屏幕旋转

下面的方法我确认可以实现WINCE屏幕旋转,注意,此方法是在驱动层实现的,如果你只考虑在应用层去实现 ,那下面的内容对你毫无意义。此方法有说会导致鼠标与触摸屏不正常工作,我试下来确认没有这种情况,运行正常。网上还有种方法是应用程序用API函数控制屏幕旋转,注意,这种方法前提是驱动程序支持屏幕旋转。我手上的BSP默认是不支持的,你需要按下面的方法开启它。
 
转载:
winCE 4.2以上
一.修改
SMDK2440/DRIVERS/DISPLAY/S3C2440LCD 目录下的sources文件合适位置增加:

CLEARTYPE=0
ROTATE=1  //这句是我加的。这里是为了链接相应的库文件。

三.s3c2440disp.h文件头上加一句
#define ROTATE 1
 
四.s3c2440disp.cpp中
S3C2440DISP::S3C2440DISP (void)
{
#ifdef ROTATE
m_iRotate = DMDO_90; // 90不对是DMDO_90=1!!!!;  //0->90 我修改0-》90
SetRotateParms();
#endif //ROTATE 
 
五。检查platform.reg中,
[HKEY_LOCAL_MACHINE/System/GDI/Drivers]
"Display"="s3c2440disp.dll"

以下注册表可以有可以没有,我是加了。
[HKEY_LOCAL_MACHINE/System/GDI/Rotation] 
"ANGLE"=dword:5A  ;0x5A for 90,这是我加的,加在gdi/drivers这项后面
 
六,要在S3C2440DISP::S3C2440DISP (void) 最后加一句
((GPESurfRotate *)m_pPrimarySurface)->SetRotation(m_nScreenWidth, m_nScreenHeight, m_iRotate);
而s2440.h、2410中关于屏幕的东西不要去改,那是初试化lcd控制器的,与这里没有关系。
修改LCD控制器是另外一个方式实现LCD旋转的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值