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