summaryrefslogtreecommitdiff
path: root/gnu/java/awt/peer/gtk/BufferedImageGraphics.java
Commit message (Collapse)AuthorAgeFilesLines
* 2006-11-30 Francis Kung <fkung@redhat.com>Francis Kung2006-11-301-24/+48
| | | | | | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Set transform in buffered composite. (drawComposite): Do not transform bounds; round bounds. (drawGlyphVector): Set transform in buffered composite. (drawRenderedImage): Set transform in buffered composite. (fill): Set transform in buffered composite. (updateBufferedImage): Fix scanline & height calculations. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (createPath): Simplify width & height calculation. (drawImage): Also transform width & height.
* 2006-11-24 Francis Kung <fkung@redhat.com>Francis Kung2006-11-241-11/+40
| | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (constructor): Check sample model when setting fastCM flag. (updateBufferedImage): Check scanline and sample model offsets before copying data directly into the image data buffer.
* 2006-11-22 Francis Kung <fkung@redhat.com>Francis Kung2006-11-221-4/+8
| | | | | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (drawGlyphVector): Clip updated area to glyph bounds. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (createPath): Eliminate distortion when pixel-shifting rectangles; separate x-coordinate and y-coordinate pixel shifting. (shifted): Removed method. (shiftX): New method, recognising scaling transforms. (shiftY): New method, recognising scaling transforms. (walkPath): Separate x-coordinate and y-coordinate pixel shifting.
* 2006-11-21 Francis Kung <fkung@redhat.com>Francis Kung2006-11-211-11/+31
| | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Include stroke width when calculating bounds. (updateBufferedImage): Round bounds more generously, handle negative height/width values, and clip more intelligently. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (createPath): Add shortcut optimization for lines. (draw): Include stroke width when calculating bounds. (drawLine): Delegate to main draw() method. (drawRect): Likewise. (fillRect): Delegate to main fill() method. (findStrokedBounds): New method. (setCustomPaint): Round bounds more generously. * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawLine): Removed. (drawRect): Removed. (fillRect): Removed.
* 2006-11-21 Francis Kung <fkung@redhat.com>Francis Kung2006-11-211-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/java2d/TexturePaintContext.java (getRaster): Handle negative coordinate values. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (setPaint): Moved custom paint processing to a new method. (setPaintPixels): Added x, y parameters. (getRealBounds): Added documentation. (copy): Copy clipping information. (drawLine): Process custom paints. (setCustomPaint): New method. (fill): Process custom paints. (drawGlyphVector): Process custom paints. (drawRect): Process custom paints. (draw): Process custom paints. * gnu/java/awt/peer/gtk/CairoSurface.java (cairoCM_opaque): New constant. * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (argb32): Removed constant. (rgb32): Removed constant. (BufferedImageGraphics(BufferedImage)): Updated constant names. (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags. (updateBufferedImage): Transform to device-space before updating. * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y parameters. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern source at designated x, y origin.
* 2006-10-19 Francis Kung <fkung@redhat.com>Francis Kung2006-10-191-1/+1
| | | | | | | | PR 29510 * java/awt/image/BufferedImage.java (constructor): Updated some properties of default image types. * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (argb32): Updated field to match default in BufferedImage.
* 2006-10-17 Francis Kung <fkung@redhat.com>Francis Kung2006-10-171-1/+5
| | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Extend updated region to account for pixel-shifting. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (shiftDrawCalls): Made proctected.
* 2006-10-17 Francis Kung <fkung@redhat.com>Francis Kung2006-10-171-0/+3
| | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (drawComposite): Ensure composite does not extend beyond buffer bounds. * java/awt/image/Raster.java (createChild): Ensure child does not extend beyond parent's bounds. * java/awt/image/WritableRaster.java (createWritableChild): Ensure child does not extend beyond parent's bounds.
* 2006-10-11 Francis Kung <fkung@redhat.com>Francis Kung2006-10-111-25/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (buffer, locked): New fields. (constructors): Initialize new variables. (createBuffer): New method. (draw): Implement custom composites. (drawComposite): New method. (drawGlyphVector): Implement custom composites. (drawImage): Implement custom composites. (drawRenderedImage): Implement custom composites. (fill): Implement custom composites. (getBufferCM): New method. (getNativeCM): New method. (updateBufferedImage): Fix premultiplication. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (copy): Copy composite. (drawImage): Set background properly. (getBufferCM): New method. (setComposite): Reset alpha composite when using custom composite. * gnu/java/awt/peer/gtk/CairoSurface.java (cairoColorModel): New field. (nativeColorModel): Renamed. (constructor): Use renamed createCairoSampleModel method. (createCairoSampleModel): New method. (createNativeSampleModel): Renamed. (getBufferedImage): Use renamed cairoColorModel field. * gnu/java/awt/peer/gtk/GtkVolatileImage.java (gdkColorModel): New field. (createGdkSampleModel): New method. (getPixels): Added comments. (getSnapshot): Use GDK colour and sample models. * gnu/java/awt/peer/gtk/VolatileImageGraphics.java (createBuffer): Use GDK colour and sample models. (getNativeCM): Added comments. * java/awt/image/BufferedImage.java (constructor): Set premultiplied flag properly.
* 2006-10-02 Francis Kung <fkung@redhat.com>Francis Kung2006-10-021-0/+5
| | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (updateBufferedImage): Recognise that raw data is alpha-premultiplied. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (clearRect): Paint background colour with AlphaComposite.SRC rule. (drawImage(Image, AffineTransform, Color, ImageObserver)): Alpha pre-multiply data before drawing. (fillRect): Draw using regular fill() method. (setComposite): Handle null case with AlphaComposite.SrcOver default. * gnu/java/awt/peer/gtk/CairoSurface.java (nativeModel): Use correct value for alpha premultiplication (true). * java/awt/image/BufferedImage.java (coerceData): Update isPremultiplied field.
* 2006-09-19 Cameron McCormack <cam@mcc.id.au>Francis Kung2006-09-191-0/+1
| | | | | | PR 29012 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: (constructor): Copy image field.
* 2006-08-09 Sven de Marothy <sven@physto.se>Sven de Marothy2006-08-081-4/+5
| | | | | | | | | | * gnu/java/awt/peer/gtk/CairoSurface.java Change class to extend WritableRaster and not DataBuffer. (CairoDataBuffer): New inner class. * gnu/java/awt/peer/gtk/BufferedImageGraphics.java * gnu/java/awt/peer/gtk/CairoGraphics2D.java * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java Accomodate the above change.
* 2006-07-18 Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler2006-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: Remove unneeded imports. * gnu/java/awt/peer/gtk/CairoSurface.java: Likewise. * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java: Likewise. * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java: Likewise. * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. * gnu/java/awt/peer/gtk/GtkButtonPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java: Likewise. * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkContainerPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkDialogPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkImage.java: Likewise. * gnu/java/awt/peer/gtk/GtkImageConsumer.java: Likewise. * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkPanelPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise. * gnu/java/awt/peer/gtk/VolatileImageGraphics.java: Likewise.
* 2006-06-02 Sven de Marothy <sven@physto.se>Sven de Marothy2006-06-021-27/+7
| | | | | | | | | | | | | PR 27879 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (copyArea): Implement. (copyAreaImpl, getRealBounds): New methods. * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java * gnu/java/awt/peer/gtk/ComponentGraphics.java * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (copyAreaImpl, getRealBounds): Implement. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c (nativeCopyArea): Reimplement.
* 2006-06-01 Sven de Marothy <sven@physto.se>Sven de Marothy2006-06-021-3/+5
| | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c (nativeCopyArea): Change stride parameter to use # of ints. (setPixels): Add checks. * gnu/java/awt/peer/gtk/ComponentGraphics.java (ComponentGraphics): Set background, clip. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (Cairographics2D): Don't set clip. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c Add flush.
* 2006-06-01 Sven de Marothy <sven@physto.se>Sven de Marothy2006-06-011-11/+11
| | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (updateBufferedImage): Fix some errors.
* 2006-06-01 Sven de Marothy <sven@physto.se>Sven de Marothy2006-06-011-12/+96
| | | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (BufferedImageGraphics): Cache surfaces. (updateBufferedImage): Copy directly for certain color models. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): Reimplement.
* 2006-06-01 Sven de Marothy <sven@physto.se>Sven de Marothy2006-06-011-6/+4
| | | | | | | * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (updateBufferedImage): Simplify. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c (getPixels): Don't swap.
* 2006-05-30 Sven de Marothy <sven@physto.se>Sven de Marothy2006-05-311-1/+10
| | | | | | Should fix PR 27835 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (updateBufferedImage): Keep within image bounds.
* 2006-05-29 Sven de Marothy <sven@physto.se>Sven de Marothy2006-05-291-0/+185
* gnu/java/awt/peer/gtk/BufferedImageGraphics.java * gnu/java/awt/peer/gtk/CairoGraphics2D.java * gnu/java/awt/peer/gtk/CairoSurface.java * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java * gnu/java/awt/peer/gtk/ComponentGraphics.java * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h * include/gnu_java_awt_peer_gtk_CairoSurface.h * include/gnu_java_awt_peer_gtk_ComponentGraphics.h * native/jni/gtk-peer/cairographics2d.h * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c New files. * gnu/java/awt/peer/gtk/GdkGraphics2D.java * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h Removed * include/gnu_java_awt_peer_gtk_GdkFontPeer.h * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c * gnu/java/awt/peer/gtk/GdkFontPeer.java (releasePeerGraphicsResource): Moved to Font peer class. * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java (createGraphics): Use new context classes. * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Use native BufferedImages where possible. * gnu/java/awt/peer/gtk/GdkTextLayout.java * include/gnu_java_awt_peer_gtk_GdkTextLayout.h * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c Move GdkGraphics2D.drawGdkTextLayout to the GdkTextLayout class, renamed to cairoDrawGdkTextLayout. * gnu/java/awt/peer/gtk/GtkComponentPeer.java (getGraphics): Use ComponentGraphics context. (createImage): Use native BufferedImage. * gnu/java/awt/peer/gtk/GtkImage.java: * include/gnu_java_awt_peer_gtk_GtkImage.h * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c Remove pixmap support. (GtkImage(int, int) constructor, getGraphics) Remove drawing methods. * gnu/java/awt/print/JavaPrinterGraphics.java: Use CairoSurface instead of GtkImage. * include/Makefile.am * native/jni/gtk-peer/Makefile.am Update for new files. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c Remove superfluous GtkImage code for GdkPixmaps. * native/jni/gtk-peer/gtkpeer.h Remove graphics2d structure.