On Sep 28, 2010, at 7:11 AM, David Hyatt wrote:

>>> "The ruby element allows one or more spans of phrasing content to be marked 
>>> with ruby annotations."
>>> 
>>>>> * That the text for the ruby text and ruby base are always the direct 
>>>>> child of the RenderRubyText and RenderRubyBase object.
>>> 
>>> I doubt that's a valid assumption.  I assume that you can have a content 
>>> tree of markup underneath a RenderRubyText and a RenderRubyBase, e.g., if 
>>> you put in some <i> and some <b>.  Anyway, I think you could just ask for 
>>> the width() of the rubyText() and rubyBase() objects themselves rather than 
>>> drilling down into their subtrees.
>> 
>> I couldn't figure out how to ask the RenderRubyText and RenderRubyRun 
>> objects for their width. They don't support the width() method. What method 
>> should I call?
>> 
> 
> They should.  They are RenderBlocks, so they should have width() methods.  
> You may have just been getting bad results because you hooked in before the 
> width was computed.  That's why computeLogicalWidth subclassing would work 
> better for you.  Let the base class set up the margins and width, and then 
> you override.

Doh! I was trying to call width() on RenderText objects. When I called it 
directly on firstChild() and lastChild() of the RenderRubyRun, it works, but 
returns the frame width, which isn't useful for my purposes. Instead I called 
maxPrefWidth() which has the values I'm after. (only, I guess, if the ruby text 
and ruby base is a single lineā€¦)

> dave
> (hy...@apple.com)

Regards,
Eric

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to