[EMAIL PROTECTED] wrote:
> On Aug 29, 8:03 am, fantasai <[EMAIL PROTECTED]> wrote:
>> Relationship of Rect and OverflowRect
>> -------------------------------------
>>
>>    1. mRect is anchored in the parent's coordinate system
>>
>>    2. overflowRect is anchored in the frame's own coordinate system
>>
>>    3. overflowRect must contain mRect except in certain cases concerning 
>> 'clip'
> 
> Correct
> 
>> Reflow Expectations
>> -------------------
>>
>>    4. The frame is expected to take care of any invalidation required by
>>       its children, its borders, its outline, and its background.
>>
>>    5. The reflower is expected to take care of any invalidation required by
>>       changes in the child's a) position
>>                              b) size
> 
> More specifically the reflower is expected to invalidate the child's
> overflow area if the frame moved, and the difference in the old and
> new areas if the frame changed size. In practice the latter phrase
> means *both* the GetSize() areas and the overflow areas :-(.
> 
>> Comments
>> --------
>>
>>    Assertion 3 is not strictly true because of the way nsRect::UnionRect is
>>    implemented: if one rect is empty, then UnionRect takes the value of the
>>    other rect, and therefore does not necessarily encompass any of the first
>>    rect's coordinates. This means an assertion
>>      frame->GetOverflowRect().Contains(frame->GetRect())
>>    will sometimes fail.
> 
> Contains() should always succeed if the parameter rect is empty.
> That's a bug, I'll take a patch for that :-)
> 
> Rob
> 

Bug on that Rob?  I'm not fully up and running (again) to do a test on 
if a change I would make works, but I can create a patch, and this one 
seems rather trivial. (aka: I'm willing to write the patch, but can't 
test it just yet).

~Justin Wood (Callek)
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to