Presto wrote:The Travel Collection is still in PF 0.7.0, so it's using GAPI for everything. The QVGA backbuffer is getting scrunched to 240x240, and the stylus input is a constant 240x240. Multiplying the y-coordinate by 4/3 is all it takes to make it work correctly. Unfortunately, it's just not as pretty as it should be.
PHAL uses GAPI for the stylus input, doesn't it? Or am I thinking of the hardware keys?
BIGBEN wrote:What you do to know your game runs on a Treo device?
What happens to graphics? Is it really resized on y?
Or it just shows 240x240 square?
If scrunched means resized - is there any way to avoid this, because it should look awful in games(and also for any bitmap fonts used)!
Are you sure we need to multiply Y-coor by 4/3, not 3/4 for stylus?
Kzinti wrote:PocketHAL doesn't do anything with input... But it does use GAPI for screen access on the Treo (and that's a problem).
The behavior you just described is what I was expecting. What happens if you put in the HIRES_AWARE flag? I suspect it doesn't change anything? (As far as I know that flag doesn't affect GAPI, but I might be wrong).
GAPI Legacy Support
Applications that use GAPI frequently make assumptions about the screen size based on earlier versions of Pocket PC and Smartphone hardware. To preserve backward compatibility with legacy applications, an emulation layer has been added to GAPI. By default, this layer will scale GAPI drawing to fit the screen; however, a high-resolution-aware application can choose to bypass the emulation layer to have complete access to the display hardware.
To bypass the emulation layer, an application should not call GXBeginDraw or GXEndDraw. Instead, it should call ExtEscape with the nEscape parameter equal to GETRAWFRAMEBUFFER and use the returned frame pointer for drawing.
fast_rx wrote:So I'm a bit confused if HI_RES_AWARE alone would fix it or you would need to use the 'ExtEscape'?
BIGBEN wrote:Well in this case the same thing should happen on other 240x240 devices. Am I right?
So what you want to do on the Treo is NOT use GAPI. But then you need to handle a 240x240 display in your game.