nanogui: Why does microwindow (API Win32) display child window first ?


Previous by date: 1 May 2002 21:20:54 -0000 Re: nano-X return code 1 with no error information, Greg Haerr
Next by date: 1 May 2002 21:20:54 -0000 Re: nano-X return code 1 with no error information, Anthony Rassin
Previous in thread: 1 May 2002 21:20:54 -0000 Re: Why does microwindow (API Win32) display child window first ?, Greg Haerr
Next in thread:

Subject: Re: [nanogui] Why does microwindow (API Win32) display child window first ?
From: ####@####.####
Date: 1 May 2002 21:20:54 -0000
Message-Id: <1020287539.3cd05a339b7a6@imp.free.fr>

> > I presently work on transparency in microwindow through the Win32
> API.
> > I do not understand the redrawing strategy of microwindow.
> > When redrawing a window, Microwindow redraw children windows BEFORE
> mother
> > window.
> 
> I think that Windows uses the same strategy, so that child
> windows appear before the background windows.  Due
> to other considerations, we still have to use the clipping
> mechanism, since the child windows need to be contained
> in their parent.
> 
> 

No, it is not right Window redraw mother BEFORE children. I have done some 
tests under Win2000 and the redrawing strategy is systematically mother BEFORE 
child. Furthermore if i ask a mother redrawing, it automatically send WM_PAINT 
to the children.

> 
> 
> > - With the current strategy, we are not able to manage transparency
> quite
> > being 100% compliant with the Win32 API.
> 
> I'd like to hear more about this.
> 

Under window, it is easy to manage transparency, because when a window receive 
the WM_PAINT it can assume that the complete under window had already been 
redraw.
Under MicroWindow the repaint order is not predictable, it depend on the 
chained list order. So when a window receive the WM_PAINT it can't assume that 
the under window had already been redraw. In fact, cause of the clipping we 
allways get a black area. With that strategy we can't manage transparency in 
the same way has Window.

I work on modifications to be Window compliant, it need 2 kinds :
1st -  we must not clip children sytematically, WS_CLIPCHILD and WS_CLIPSIBLING 
must be avoid in CreateWindowEx. But i don't fell all the sides effect of it.
2nd - i think of a solution to redraw window from mother to children, not 
following the chaine list of the window, but following the tree built by 
mother, children and sibling window.

I face some problems, because the WM_PAINT message is not manage in the same 
way than other messages.

I will send a patch of my modifications as soon as possible.

Thanks for all

TSI Alpha3i's Team

Damien

Previous by date: 1 May 2002 21:20:54 -0000 Re: nano-X return code 1 with no error information, Greg Haerr
Next by date: 1 May 2002 21:20:54 -0000 Re: nano-X return code 1 with no error information, Anthony Rassin
Previous in thread: 1 May 2002 21:20:54 -0000 Re: Why does microwindow (API Win32) display child window first ?, Greg Haerr
Next in thread:


Powered by ezmlm-browse 0.20.