Sorry
okay I think we agree a flip from a child causes the child to become
visible flipping all
the intermediate parents rects that intersect till its  visible.

For a flip of a root there are two types of flipping deep ie flip all
children or
shallow flip me and my parents. Our current definition of flip means
we flip all children then ourselves.



The second version shallow would be useful if your doing something strange like
a watermark or something.

We can actually have a varient that says flip to a certian surface also.

The point is you can play games compositing the buffers together if you wish.


For current behavior if I call flip on a root surface it does
a right to left traversal blitting intermediate bufferes to itself.
If I call flip on a child it  flips all direct decendents to itself.
The flips all the intersecting parts of its parents.


On 7/15/06, Mike Emmel <[EMAIL PROTECTED]> wrote:
> On 7/15/06, Denis Oliver Kropp <[EMAIL PROTECTED]> wrote:
> > Mike Emmel wrote:
> > > Just to clarify the lis would be depth first for each child going
> > > across siblings.
> > > This give I believe the right flipping semantics. Higher z order to the 
> > > right.
> > >
> > > root-->child1->child1(child)->child2->child2(child1)->child2(child1)->child3
> >
> > So these are flipped starting from the right most?
> >
> > Flipping a heavy sub surface means blitting it to the parent?
> >
> > Otherwise, shouldn't a blit from a surface include all its heavy sub
> > surface contents?
> >
> No your blitting left to right on the root parent surface.
> If you go the other way you blit to a intermediat then blit that.
> Thinking hmm.
>
> Not sure it matters which way you go.
>
> It works both ways.
>
> If your calling flip on a leaf it would run the list right to left
> if you call flip on  a parent it  should just go to the root and run
> left to right with all children that intersect.
>
> I'm not sure it matters I generally use the painter algorithm where
> you start from the deepest and work up.
>
> I think running  right to left  or left to right is okay.
>
> The assumption is that if you flip a surface all its children are flipped. and
> you flip all intersection up to the root ??
>
> Or you only flip all your direct ancestors and children ?
>
> I think the last is true. If I flip a single subsurface then only its
> direct ancestors are flipped.
> Do you need to flip the children.
>
> The way it works now is prob not correct if you have overlapping
> surfaces since the flip
> whould flip the overlap region.
>
> Thats actually a big reason for the buffers so we can not flip siblings.
>
> Sorry for the stream of thought.
>
> Okay here is the algo.
>
> If you flip a subsurface and it has a buffer
> it blits its buffer to its parent on up the tree till the root is reached .
>
> So it would be right to left for a child flipping.
>
> If you flip the root surface it needs to run the list
> left to right  blitting bufferes then flip itself.
>
> Make sense ? Or we can support variants.
>
> I don't give a Flip :)
>
> Mike
>
>
>
>
> > --
> > Best regards,
> >    Denis Oliver Kropp
> >
> > .------------------------------------------.
> > | DirectFB - Hardware accelerated graphics |
> > | http://www.directfb.org/                 |
> > "------------------------------------------"
> >
>

_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to