[haiku-appserver] Re: link->Flush()
- From: Adi Oanca <adioanca@xxxxxxxxxxxxxx>
- To: haiku-appserver@xxxxxxxxxxxxx
- Date: Wed, 27 Apr 2005 15:31:27 +0300
Stephan Assmus wrote:
> Me again... another thing: When is the link in BView supposed to be
> flushed? For some calls, it is flushed, for others not. I noticed that
> messages don't get processed in ServerWindow until the link is flushed.
> What is the design intention here?
Usually drawing methods don't flush, their data is buffered and sent
in a single chunk. Other BView methods need some data from the server and
those must flush. Others should send data ASAP to the server.
The basic idea is this: cache drawing messages and send them in a
single message, for the rest use the "normal" approach (Flush() (and read
reply))
Note that the buffer is flushed after an update is over (all ::Draw()
methods in tree have been called).
I will respond to you previous mail when I get home, because I want
to look into R5's BView header.
In short: In BView, you have fBounds to hold the view's area, and
originX/Y to hold the position in parent coordinates. In Layer class it's
the other way around, you have fFrame and fBoundsLeftTop to compute Layer's
bounds rectangle.
I know it's strange, it seemed like that to me also, but when I
came to work on app_server I observed Layer::Frame() was used a lot, and I
just adapted/make_the_translation.
You can make this more clear if you want...
bye,
Adi.
- Follow-Ups:
- [haiku-appserver] Re: link->Flush()
- From: Stephan Assmus
- References:
- [haiku-appserver] link->Flush()
- From: Stephan Assmus
Other related posts:
- » [haiku-appserver] link->Flush()
- » [haiku-appserver] Re: link->Flush()
- » [haiku-appserver] Re: link->Flush()
- [haiku-appserver] Re: link->Flush()
- From: Stephan Assmus
- [haiku-appserver] link->Flush()
- From: Stephan Assmus