[8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue May 21 12:40:25 PDT 2013


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.



More information about the macosx-port-dev mailing list