@Override protected void drawGlyphList(SunGraphics2D sg2d, GlyphList gl) { /* * The native drawGlyphList() only works with two composite types: * - CompositeType.SrcOver (with any extra alpha), or * - CompositeType.Xor */ Composite comp = sg2d.composite; if (comp == AlphaComposite.Src) { /* * In addition to the composite types listed above, the logic * in OGL/D3DSurfaceData.validatePipe() allows for * CompositeType.SrcNoEa, but only in the presence of an opaque * color. If we reach this case, we know the color is opaque, * and therefore SrcNoEa is the same as SrcOverNoEa, so we * override the composite here. */ comp = AlphaComposite.SrcOver; } rq.lock(); try { validateContext(sg2d, comp); enqueueGlyphList(sg2d, gl); } finally { rq.unlock(); } }