[OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn (original) (raw)

Phil Race philip.race at oracle.com
Tue May 21 23:47:41 UTC 2013


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];_ _....._ _FLOORASSIGN(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/viewbug.do?bugid=7190349 Webrev can be found at: http://cr.openjdk.java.net/~serb/7190349/webrev.00 -- Best regards, Sergey.



More information about the 2d-dev mailing list