diff options
| author | Francis Kung <fkung@redhat.com> | 2007-02-16 20:28:45 +0000 |
|---|---|---|
| committer | Francis Kung <fkung@redhat.com> | 2007-02-16 20:28:45 +0000 |
| commit | a3d9c80d192ae0969f2cd4525b7a36d384f54fd4 (patch) | |
| tree | 2f3d9b117da481bee1e814d87d492460e1176912 /gnu/java/awt/ClasspathGraphicsEnvironment.java | |
| parent | 7ada8d8b605c4ddcc8504140b185a89ced246cc7 (diff) | |
| download | classpath-a3d9c80d192ae0969f2cd4525b7a36d384f54fd4.tar.gz | |
2007-02-16 Francis Kung <fkung@redhat.com>
* gnu/java/awt/ClasspathGraphicsEnvironment.java: New file.
* gnu/java/awt/peer/gtk/CairoSurface.java
(CairoDataBuffer): Removed inner class.
(CairoSurface(int,int,int,int)): New constructor.
(CairoSurface(int,int)): Delegate to new constructor.
(CairoSurface(SampleModel,CairoSurface,Rectangle,Point)): New constructor
for creating child rasters.
(create): Added int[] parameter.
(createChild): New method.
(createCompatibleWritableRaster): New methods.
(createTranslatedChild): New method.
(createWritableChild): New method.
(createWritableTranslatedChild): New method.
(destroy): Added int[] parameter.
(dispose): Only free native resources if this Surface has no parents.
(isCompatibleColorModel): New method.
(isCompatibleSampleModel): New method.
* gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java
(draw): Set transform, smarter bounds generation.
(drawComposite): Improved clipping.
(drawImage): Fixed bounds translation.
(drawRenderedImage): Set transform in buffer.
(fill): Set transform in buffer.
* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
(createRaster): New method.
* java/awt/image/BufferedImage.java
(BufferedImage(int,int,int)): Use optimized raster if possible.
* include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
(Java_gnu_java_awt_peer_gtk_CairoSurface_create): Share data buffer between
Cairo and Java.
(Java_gnu_java_awt_peer_gtk_CairoSurface_destroy): Free data array.
Diffstat (limited to 'gnu/java/awt/ClasspathGraphicsEnvironment.java')
| -rw-r--r-- | gnu/java/awt/ClasspathGraphicsEnvironment.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/gnu/java/awt/ClasspathGraphicsEnvironment.java b/gnu/java/awt/ClasspathGraphicsEnvironment.java new file mode 100644 index 000000000..865da1d95 --- /dev/null +++ b/gnu/java/awt/ClasspathGraphicsEnvironment.java @@ -0,0 +1,67 @@ +/* ClasspathGraphicsEnvironment.java + Copyright (C) 2007 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package gnu.java.awt; + +import java.awt.GraphicsEnvironment; +import java.awt.image.ColorModel; +import java.awt.image.SampleModel; +import java.awt.image.WritableRaster; + +/** + * This class extends the GraphicsEnvironment API with some Classpath-specific + * methods, in order to provide optimized graphics handling. + * + * @author Francis Kung <fkung@redhat.com> + */ +public abstract class ClasspathGraphicsEnvironment + extends GraphicsEnvironment +{ + /** + * Returns an appropriate Raster that can efficiently back a + * BufferedImage with the given ColorModel and SampleModel. + * + * @param cm The color model. + * @param sm The samepl model. + * @return An appropriate WritableRaster, or null if acceleration/optimization + * is not available for the given colour model / sample model. + */ + public WritableRaster createRaster(ColorModel cm, SampleModel sm) + { + return null; + } +} |
