On Thu, Sep 06, 2007 at 02:22:59PM +0200, Alfredo Braunstein wrote: > Abdelrazak Younes wrote: > > > Alfredo Braunstein wrote: > >> Abdelrazak Younes wrote: > >>> I think there is a misundertanding here... I agree that the baseline is > >>> the reference and I did not change that philosophy I think. For me the > >>> baseline is the baseline of the inset, not the baseline of the inner > >>> Text. The fact that InsetCollapsable adjust its baseline to its inner > >>> Text is just a special case. > >> > >> Not so special (pretty much every Text related Inset) but yes. > > > > Well, tabular is another special case but that's what I meant yes. > > > >> > >>> Now, that's my turn to be unsure of the clarity of what I'm saying... > >> > >> I'm not sure either... So you don't plan to switch every InsetX::draw > >> function to accept top_y, just TextMetrics::draw? > > > > No, I didn't even do that for InsetCollopsable, please note that the > > code at the top of the draw() method now is: > > > > int const top = y - tm.ascent(); > > > > So, this _is_ the text baseline. The only effect of my change is that I > > factorized the substraction of the text ascent. Probably we should > > rename top to baseline. Now I understand where you got confused... > > Sorry I can't follow you. Maybe I'm just tired today. ;-) > > What I read from the code is: > > Insetcollapsable::draw(x, y) (and other insets): > > y is the baseline of the InsetCollapsable (that happends to be the same > baseline of the InsetText, at least in inlined situation) [-- I don't get > why you would substract the ascent in the non-inlined situation] > > y - tm.ascent() is the top of the Text, not a baseline > > - InsetText::draw(x, y): > > the y refers to the top of the *Text* (horrible, not even top of the > InsetText) > > - TextMetrics::draw(x, y): > > the y refers to the top of the Text > > > > It seems pretty much a mess to me.
whatEverDraw(x, y) should draw the baseline of the first embedded line on y. Everything else should be changed to adhere to that scheme. Andre'