| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package org.apache.xmlgraphics.java2d; |
| |
| import java.awt.GraphicsDevice; |
| import java.awt.Rectangle; |
| import java.awt.Transparency; |
| import java.awt.geom.AffineTransform; |
| import java.awt.image.BufferedImage; |
| import java.awt.image.ColorModel; |
| |
| import org.apache.commons.logging.Log; |
| import org.apache.commons.logging.LogFactory; |
| |
| /** |
| * An implementation of {@link java.awt.GraphicsConfiguration} that does not support transparencies |
| * (alpha channels). |
| */ |
| public class GraphicsConfigurationWithoutTransparency extends AbstractGraphicsConfiguration { |
| |
| private static final Log LOG = LogFactory.getLog(GraphicsConfigurationWithoutTransparency.class); |
| |
| // We use this to get a good colormodel.. |
| private static final BufferedImage BI_WITHOUT_ALPHA = |
| new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB); |
| |
| private final GraphicsConfigurationWithTransparency defaultDelegate = new GraphicsConfigurationWithTransparency(); |
| |
| @Override |
| public GraphicsDevice getDevice() { |
| return new GenericGraphicsDevice(this); |
| } |
| |
| @Override |
| public BufferedImage createCompatibleImage(int width, int height) { |
| return defaultDelegate.createCompatibleImage(width, height, Transparency.OPAQUE); |
| } |
| |
| @Override |
| public BufferedImage createCompatibleImage(int width, int height, int transparency) { |
| if (transparency != Transparency.OPAQUE) { |
| LOG.warn("Does not support transparencies (alpha channels) in images"); |
| } |
| return defaultDelegate.createCompatibleImage(width, height, Transparency.OPAQUE); |
| } |
| |
| @Override |
| public ColorModel getColorModel() { |
| return BI_WITHOUT_ALPHA.getColorModel(); |
| } |
| |
| @Override |
| public ColorModel getColorModel(int transparency) { |
| if (transparency == Transparency.OPAQUE) { |
| LOG.warn("Does not support transparencies (alpha channels) in images"); |
| } |
| return getColorModel(); |
| } |
| |
| @Override |
| public AffineTransform getDefaultTransform() { |
| return defaultDelegate.getDefaultTransform(); |
| } |
| |
| @Override |
| public AffineTransform getNormalizingTransform() { |
| return defaultDelegate.getNormalizingTransform(); |
| } |
| |
| @Override |
| public Rectangle getBounds() { |
| return new Rectangle(); |
| } |
| } |