can someone explain a little rendering detail?

Hi all,

When an element is drawn, its corresponding boxes are processed. Now the
code in RedrawFrameBottom loops through all planes and renders the boxes in
their depth order.

There is code in there that also makes sure that the "dirty rectangle" or
clipping area intersects the box before it (box) is drawn. My question is,
how does the rendering system ensure that, if there's 2 boxes (small box
inside a bigger box), and the bigger box intersects the clipping area but
the smaller box doesn't, that the smaller box will still be rendered?  Since
only the bigger box intersects the clipping area, it is redrawn but then if
it clears the area that it covers, the smaller box inside of it will be
drawn over. Since the smaller box doesn't intersect the clipping area, it is
never redrawn.

Even if you put the bigger box in a deeper plane (higher number), the
rendering doesn't appear to take into consideration that the "background" of
the smaller box (essentially the bigger box!) has changed, and therefore the
smaller box, even if it doesn't intersect the clipping area, must be drawn.

Are there some rules in defining the boxes that prevent the above from
happening? Should the "smaller" box really have the same dimensions as the
"bigger" box? Maybe I made a mistake in defining my boxes?

Any help would be appreciated!

Thanks,
-An

Received on Wednesday, 27 October 1999 11:55:36 UTC