none
WinCE6: How to Use Registry Setting "LogicalPixelsY" and "LogicalPixelsX" RRS feed

  • Question

  • Hi,

    I am still struggling to run a 320 * 240 program on a 640 * 480 LCD in full screen mode.

    When I run the program on the 640 * 480 LCD for the first time, the program only occupies 1/4 screen. Because I don't have the source code of the program, I have to modify WinCE OS to scale the program to the full screen.

    I modified the registry settings as follow,

    [HKEY_LOCAL_MACHINE\Drivers\Display\GPE]
    ;"LogicalPixelsY"=dword:60
    ;"LogicalPixelsX"=dword:60
    "LogicalPixelsY"=dword:C0
    "LogicalPixelsX"=dword:C0
    [HKEY_LOCAL_MACHINE\System\GWE\Display]
    ;"LogicalPixelsY"=dword:60
    ;"LogicalPixelsX"=dword:60
    "LogicalPixelsY"=dword:C0
    "LogicalPixelsX"=dword:C0

    But I found only part of forms and buttons become bigger than before, and others are not affected by the change of "LogicalPixelsX" and "LogicalPixelsY". 

    The change of "LogicalPixelsX" and "LogicalPixelsY" didn't produce any influence on the WinCE Desktop display.

    I think maybe the registry settings only have influence on the components whose dimensions and locations are specified in logical pixels, and can not change anything on the components whose dimensions and locations are specified in physical pixels.

    I have tried to look for the source code of the APIs SetPixels(), FillRECT(), etc, and want to use 4 pixels to replace 1 pixel in these APIs. But it seems the source code is not available in both Public folder and Private folder.

    I am using iMX27 processor.

    Is there a method to magnify the user interface of the program to the full screen on a 640 * 480 LCD by the modifications in WinCE6 OS and drivers?

    Thanks.

    Tuesday, December 11, 2012 7:35 AM

Answers

  • Solved by double frame buffer. one is 320*240 for WinCE OS access, the other is 640*480 for LCD controller. LCD driver will copy and modify the data from small frame buffer to the big one. But LCD refresh rate can only be set to 10Hz at most, considering the CPU load occupied by the software solution.
    • Marked as answer by Eric_Ma Friday, December 14, 2012 3:37 AM
    Friday, December 14, 2012 3:37 AM

All replies

  •  The only way i could see is that you have to change the resolution of screen to 320*240 in the display driver to make your program occupying the full screen.

    But that is something you dont want.

    You need the application source to achieve what you need.

    --- Misbah


    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India) www.tes-dst.com email-misbah.khan@tes-dst.com

    Tuesday, December 11, 2012 10:07 AM
  • Solved by double frame buffer. one is 320*240 for WinCE OS access, the other is 640*480 for LCD controller. LCD driver will copy and modify the data from small frame buffer to the big one. But LCD refresh rate can only be set to 10Hz at most, considering the CPU load occupied by the software solution.
    • Marked as answer by Eric_Ma Friday, December 14, 2012 3:37 AM
    Friday, December 14, 2012 3:37 AM