2440/2410 LCD 屏幕旋转的问题
winCE 4.2以上
一.修改
SMDK2440/DRIVERS/DISPLAY/S3C2440LCD 目录下的sources文件合适位置增加:
CLEARTYPE=0
ROTATE=1 //这句是我加的
三.s3c2440disp.h文件头上加一句
#define ROTATE
四.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旋转的。
需要在定制系统时添加:user interface-Quarter VGA Resources - Portrait Mode