• WINCE实现屏幕旋转的方法


    1、S3C6410开发板上实现屏幕旋转(实现)

      i)修改 E:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\DISPLAY\DISPLAY_DRV\display_main.cpp中让

       line172:   m_iRotate = GetRotateModeFromReg();//从注册表读取Angle值

      ii)修改注册表 platform.reg

       line56:     [HKEY_LOCAL_MACHINE\System\GDI\Rotation]
                 "Angle"=dword:0 ;5A,B4,10E

      iii)保存重新编译即可

     

    2、驱动层上实现: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 = GetRotateModeFromReg(); 原来的是通过GetRotateModeFromReg读取

    //[HKEY_LOCAL_MACHINE\System\GDI\Rotation]  下的"Angle"值决定m_iRotate
    m_iRotate = DMDO_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控制器的,与这里没有关系。

    2、通过修改注册表做Rotation

    默认情况下,屏幕都是正常显示的,也就是说翻转角度为0度。可以通过修改注册表来做屏幕翻转,通过修改”Angle”的值来完成,具体设置如下:

    [HKEY_LOCAL_MACHINE\System\GDI\Rotation]

    "Angle"=dword:5A ;翻转90度,罗嗦一句,5A就是90的十六进制

    可以设置为0度,90度,180度和270度。也就是0,5A,B4和10E,通过设置这些值可以达到屏幕翻转的目的。你可以在Build image的时候就做这件事情,只要在project.reg文件里面加入上面的设置,然后重新make image,这样新的image启动以后就会按照你的设定来显示。也可以在WinCE启动以后,编个读写注册表的小程序,来修改这个值,然后重新启动就可以了(系统要支持HIVE-Based Registry)。

    原文引自:http://jimmyloveforever.blog.163.com/blog/static/11977524720096183118993/

  • 相关阅读:
    python,生产环境安装
    neo4j 图数据库
    RNN系列
    机器学习关于AUC的理解整理
    fensorflow 安装报错 DEPENDENCY ERROR
    dubbo Failed to check the status of the service com.user.service.UserService. No provider available for the service
    使用hbase遇到的问题
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk
    gradle 安装
    jenkins 安装遇到的坑
  • 原文地址:https://www.cnblogs.com/xfdarm/p/1625651.html
Copyright © 2020-2023  润新知