Re: Dynamic display resolution change in CE 6.0
- From: "Michel Verhagen (eMVP)" <michel@xxxxxxxxxx>
- Date: Sat, 12 Apr 2008 01:39:25 +1200
Response from voidcoder (I asked around):
While I haven't tried this myself yet, but it looks like it is
possible. Basically it is done through the GPE::NumModes(),
GPE::GetModeInfo() and GPE::SetMode() methods. He has to override
those methods in his GPE/DDGPE derived class in the disp driver
in order to support dynamic res changes. One of the sample display
drivers (I believe it is ATI RAGEX, don't have sources close at
hand at the mo) supports this.
Apps call EnumDisplaySettings() to find supported resolutions and
ChangeDisplaySettingsEx() to change it.
Good luck,
Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog
GuruCE Ltd.
Microsoft Embedded Partner
http://GuruCE.com
Consultancy, training and development services.
Danny wrote:
Michael,.
I have looked a bit at the RageXL driver, and there are some places where that driver does special handling for the case of changing the display resolution. But it is still not clear to me how the display resolution change is initiated.
I will try to add this support by intercepting changes to the display mode (via SetDisplayMode()), and then manually deleting and reallocating the primary surface. Not sure if this will be accepted behavior.
Thanks for the attempts to help,
Danny
"Michel Verhagen (eMVP)" wrote:
Danny,
The ATI RageXL display driver code seems to (want to) support dynamic resolution changes. See \WINCE600\PUBLIC\COMMON\OAK\DRIVERS\DISPLAY\RAGEXL\DAL\DALLIB\SRC\dalgco.c, line 1430
But... It looks like a dead end because DAL_MODECHANGE_MAJOR_DESKTOPRESORBPPCHANGE is only used in that file and the header file. No other code seems to use it... Could be a leftover from the port of this driver from XP.
I think your best chance is to open a support incident with Microsoft and get some sample code / help from the team. Documentation / example code should definitely be extended for this functionality...
Good luck,
Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog
GuruCE
http://GuruCE.com
Consultancy, training and development services.
Michel Verhagen (eMVP) wrote:Doing it from the bootloader is NOT dynamic. It requires a reboot, and that trick has been used since the earliest versions of Windows CE. What Dean wants is info on the dynamic display change that is now supported on CE 6.0
Sorry Dean, no experience with that yet, but I'll see what I can find...
Good luck,
Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog
GuruCE
http://GuruCE.com
Consultancy, training and development services.
wince.ms@xxxxxxxxx wrote:Danny,forget the display driver.You can do it in bootloader if your
platform has one.Then you can chang screen resolution dynamically in
it.You can store lcd infomation in g_ebootCFG and init LCD controller
in bootloader.What you have to do in dispaly driver is getting the LCD
information(just LCD_XSIZE and LCD_YSIZE).You even needn't init LCD
controller in display driver since you have it done in bootloader.
Good luck.
- Follow-Ups:
- Re: Dynamic display resolution change in CE 6.0
- From: Ishwar AKA Painkiller
- Re: Dynamic display resolution change in CE 6.0
- References:
- Dynamic display resolution change in CE 6.0
- From: Danny
- Re: Dynamic display resolution change in CE 6.0
- From: wince . ms
- Re: Dynamic display resolution change in CE 6.0
- From: Michel Verhagen (eMVP)
- Re: Dynamic display resolution change in CE 6.0
- From: Michel Verhagen (eMVP)
- Re: Dynamic display resolution change in CE 6.0
- From: Danny
- Dynamic display resolution change in CE 6.0
- Prev by Date: Re: FindFirstDevice Error 18
- Next by Date: CE6.0 KITL Problem....
- Previous by thread: Re: Dynamic display resolution change in CE 6.0
- Next by thread: Re: Dynamic display resolution change in CE 6.0
- Index(es):
Relevant Pages
|