[MeeGo-touch-dev] libmeegotouch for Portrait-oriented LCDs?

Eugene Seah eseah at codeaurora.org
Thu Sep 16 20:55:50 PDT 2010


Michael Hasselmann wrote:
> On Wed, 2010-09-15 at 16:35 -0600, Eugene Seah wrote:
>   
>> It seems that the rotation angle of the UI is tied to the orientation 
>> type (portrait or landscape).
>> On a 480x800 screen, we have angle 0 rotation corresponding to what 
>> should be portrait layout, but libmeegotouch is orienting all the apps 
>> to use a landscape layout policy instead.
>>     
>
> And why is it necessary to remap 0° to portrait, and 90° to landscape?
> Since landscape and portrait mode are mirrored to the opposing angles
> (180° and 270° respectively), you have all the freedom you need (ie.,
> the opposite orientation sits "left" and "right" of your current
> orientation).
>
>   
> So the only remaining issue is to set the *default* orientation that
> your device wants to start with.
>
> regards,
> Michael
>
>   
Thanks for the reply Michael. Not sure if I understood your reply, will 
try to describe my issue again.

I think the issue I was describing was that libmeegotouch hands the 
angle info to Qt for creating a transformation matrix before drawing the 
window to screen,
(e.g. 
http://meego.gitorious.org/meegotouch/libmeegotouch/blobs/master/src/corelib/scene/mscenemanager.cpp#line858)

This means on portrait LCD hardware:
If I set the default angle to 0: no rotation of my windows happens to 
the portrait UX but all my windows think they are in landscape policy.
If I set the default angle to 270/90:  I get portrait policy on my 
windows, but the UX display is rotated and stretched.

That's why I think libmeegotouch should (if it doesn't already) take 
into consideration whether the deviceprofile height is larger than width 
(ie. portrait LCD) to determine how to map rotation angle to orientation 
policy.

Let me know if that doesn't make sense, thanks.


More information about the MeeGo-touch-dev mailing list