Hi,

On Thursday 21 October 2010 01:29:08 pm ext Feng, Haitao wrote:
> 
> Yongsheng and I have a question on mcompositor, why does the compositing
> functionality depend on the type of the topmost window?
> 
> The function MCompositeManagerPrivate::possiblyUnredirectTopmostWindow()
>  will judge whether the topmost root window isAppWindow(true), if it is
>  true, it will not do the compositing. Otherwise it will do the compositing
>  which means it will get the texture of the topmost window, combine the
>  decorator texture and draw them into full screen on mcompositor's GL
>  window.

>From where did you see that? I don't see possiblyUnredirectTopmostWindow() 
depending on isAppWindow(). The purpose of possiblyUnredirectTopmostWindow() 
is to prevent the compositor from accidentally disabling compositing whenever 
there is an ongoing window animation or a window needs to be composited 
because of having (a) alpha-channels (b) needs to be decorated.

> 
> Comparing the below two alternative coding logics:
>     1. If it is AppWindow, draw the AppWindow's texture on compositor's GL
> window. This means mcompositor's GL window will be always mapped.

Application windows do not need to be composited all the time. Native 
meegotouch applications draw their own window decorations and borders and do 
not need the decorator from the compositor. Decorator is for 3rd party apps 
such as games that do not use the meegotouch framework.

-abdiel

>     2. If it is not AppWindow, combine it with decorator directly and do
>  not touch texture staff. This means mcompositor is only used for window
>  animation.
> 
> Is there any special consideration on this design logic?
> 
> Thanks
> -Haitao
> _______________________________________________
> MeeGo-dev mailing list
> MeeGo-dev@meego.com
> http://lists.meego.com/listinfo/meego-dev
> 
_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev

Reply via email to