18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.print; 27 28 import java.lang.ref.SoftReference; 29 import java.util.Hashtable; 30 import sun.font.CharToGlyphMapper; 31 import sun.font.CompositeFont; 32 import sun.font.Font2D; 33 import sun.font.Font2DHandle; 34 import sun.font.FontManager; 35 import sun.font.FontManagerFactory; 36 import sun.font.FontUtilities; 37 38 import java.awt.Color; 39 import java.awt.Font; 40 import java.awt.Graphics2D; 41 import java.awt.Image; 42 import java.awt.Paint; 43 import java.awt.Polygon; 44 import java.awt.Shape; 45 46 import java.awt.geom.Path2D; 47 import java.text.AttributedCharacterIterator; 48 49 import java.awt.font.FontRenderContext; 50 import java.awt.font.GlyphVector; 51 import java.awt.font.TextAttribute; 52 import java.awt.font.TextLayout; 53 54 import java.awt.geom.AffineTransform; 55 import java.awt.geom.Arc2D; 56 import java.awt.geom.Ellipse2D; 57 import java.awt.geom.Line2D; 1873 int srcHeight = img.getHeight(); 1874 1875 if (srcWidth <= 0 || srcHeight <= 0) { 1876 return; 1877 } 1878 1879 if (img instanceof BufferedImage) { 1880 bufferedImage = (BufferedImage) img; 1881 } else { 1882 bufferedImage = new BufferedImage(srcWidth, srcHeight, 1883 BufferedImage.TYPE_INT_ARGB); 1884 Graphics2D imageGraphics = bufferedImage.createGraphics(); 1885 imageGraphics.drawRenderedImage(img, xform); 1886 } 1887 1888 drawImageToPlatform(bufferedImage, xform, null, 1889 0, 0, srcWidth, srcHeight, false); 1890 1891 } 1892 1893 } | 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.print; 27 28 import java.lang.ref.SoftReference; 29 import java.util.Hashtable; 30 import sun.font.CharToGlyphMapper; 31 import sun.font.CompositeFont; 32 import sun.font.Font2D; 33 import sun.font.Font2DHandle; 34 import sun.font.FontManager; 35 import sun.font.FontManagerFactory; 36 import sun.font.FontUtilities; 37 38 import java.awt.AlphaComposite; 39 import java.awt.Composite; 40 import java.awt.Color; 41 import java.awt.Font; 42 import java.awt.Graphics2D; 43 import java.awt.Image; 44 import java.awt.Paint; 45 import java.awt.Polygon; 46 import java.awt.Shape; 47 48 import java.awt.geom.Path2D; 49 import java.text.AttributedCharacterIterator; 50 51 import java.awt.font.FontRenderContext; 52 import java.awt.font.GlyphVector; 53 import java.awt.font.TextAttribute; 54 import java.awt.font.TextLayout; 55 56 import java.awt.geom.AffineTransform; 57 import java.awt.geom.Arc2D; 58 import java.awt.geom.Ellipse2D; 59 import java.awt.geom.Line2D; 1875 int srcHeight = img.getHeight(); 1876 1877 if (srcWidth <= 0 || srcHeight <= 0) { 1878 return; 1879 } 1880 1881 if (img instanceof BufferedImage) { 1882 bufferedImage = (BufferedImage) img; 1883 } else { 1884 bufferedImage = new BufferedImage(srcWidth, srcHeight, 1885 BufferedImage.TYPE_INT_ARGB); 1886 Graphics2D imageGraphics = bufferedImage.createGraphics(); 1887 imageGraphics.drawRenderedImage(img, xform); 1888 } 1889 1890 drawImageToPlatform(bufferedImage, xform, null, 1891 0, 0, srcWidth, srcHeight, false); 1892 1893 } 1894 1895 protected boolean isCompositing(Composite composite) { 1896 1897 boolean isCompositing = false; 1898 1899 if (composite instanceof AlphaComposite) { 1900 AlphaComposite alphaComposite = (AlphaComposite) composite; 1901 float alpha = alphaComposite.getAlpha(); 1902 int rule = alphaComposite.getRule(); 1903 1904 if (alpha != 1.0 1905 || (rule != AlphaComposite.SRC 1906 && rule != AlphaComposite.SRC_OVER)) 1907 { 1908 isCompositing = true; 1909 } 1910 1911 } else { 1912 isCompositing = true; 1913 } 1914 return isCompositing; 1915 } 1916 } |