[8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Tue May 21 18:28:46 PDT 2013
Hi, Phil.
Looks like there is workaround for this and now it should be removed.
I'll take a look at it.
On 22.05.2013 3:47, Phil Race wrote:
> Sergey,
>
> This needs another look. Although it fixed some clearly broken cases,
> there is a rotated tab pane label option in SwingSet2, and it turns
> out that at least for me that was working *before* the fix and now
> its broken. So I suppose that there are 2 pieces of code interpreting
> the sign of the advance with different expectations.
>
> Since only Aqua does that rotation for the tab pane label, I think the
> special case is there .. where it likely expected the original CT
> coordinate system.
>
> The bug report in the test case uses custom rendering so
> won't fall into that case as had seemed likely from the synopsis.
>
> -phil.
>
> On 5/21/2013 2:27 PM, Phil Race wrote:
>> I think this fix is fine. In the other rasteriser cases we use
>> (T2K, freetype) we also flip the sign of the y advance as it is stored
>> as the image y advance. It looks like this was just missing here.
>> This change should then only affect the final glyph rendering.
>>
>> -phil.
>>
>> On 5/21/2013 12:40 PM, Sergey Bylokhov wrote:
>>> Hello,
>>> Please review the fix for jdk 8.
>>> On OSX advanceY in the glyphInfo is inverted.
>>> It is used to increment position when the glyph is drawn as part of
>>> a string of text:
>>> @see DrawGlyphList.c.setupBlitVector():
>>> ....
>>> for (g=0; g<len; g++) {
>>> ginfo = (GlyphInfo*)imagePtrs[g];
>>> .....
>>> FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY);
>>> .....
>>> y += ginfo->advanceY;
>>> }
>>>
>>> advances are initialized in the CGGlyphImages.m via
>>> JRSFontGetAdvancesForGlyphsAndStyle().
>>> Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and
>>> the origin of this transform is relative to the bottom-left corner
>>> baseline. So we should pass "strike->fAltTx" to the
>>> JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to
>>> invert the received advance.height.
>>>
>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349
>>> Webrev can be found at:
>>> http://cr.openjdk.java.net/~serb/7190349/webrev.00
>>>
>>> --
>>> Best regards, Sergey.
>>>
>>
>
--
Best regards, Sergey.
More information about the macosx-port-dev
mailing list