summaryrefslogtreecommitdiff
path: root/gnu/java/awt/peer
Commit message (Collapse)AuthorAgeFilesLines
* 2006-12-05 Roman Kennke <kennke@aicas.com>Mark Wielaard2006-12-081-0/+7
| | | | | (paintComponent): Include paint area from event. (updateComponent): Include paint area from event.
* 2006-12-04 Roman Kennke <kennke@aicas.com>Roman Kennke2006-12-041-8/+9
| | | | | | | * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (FreeTypeGlyphVector): Don't filter control chars here. (getGlyphs): Filter control chars and replace them by hair space char.
* * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): RenamedMark Wielaard2006-12-031-9/+21
| | | | | | | to currentPaintArea. (paintComponent): Work with local reference to currentPaintArea. (updateComponent): Likewise. (coalescePaintEvent): Set currentPaintArea.
* 2006-11-30 Francis Kung <fkung@redhat.com>Francis Kung2006-11-302-28/+55
| | | | | | | | | | | | | * 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-29 Francis Kung <fkung@redhat.com>Francis Kung2006-11-291-1/+1
| | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawLine): Remove hard-coded pixel shifting.
* 2006-11-29 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-292-73/+65
| | | | | | | | | | | | | | | | | | | | | * java/awt/Component.java (isShowing): Simplified condition code and avoid unnecessary if-codepaths. (coalesceEvents): Always coalesce paint events and let the peer figure out the expanding of the repaint area. * gnu/java/awt/peer/swing/SwingComponentPeer.java (currentPaintEvents): Removed. Replaced by paintArea. (paintArea): New field. Tracks the dirty area. (SwingComponentPeer): Removed init of currentPaintEvents. (coalescePaintEvent): Simplified to only union the dirty regions. (handleEvent): Paint dirty region that was tracked in paintArea. * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): New field. Tracks the dirty region. (coalescePaintEvent): Implemented to track the dirty region. (paintComponent): Use the dirty region in paintArea. Protect state by putting the paint and dispose code in a try-finally. (updateComponent): Use the dirty region in paintArea. Protect state by putting the paint and dispose code in a try-finally.
* 2006-11-25 Mark Wielaard <mark@klomp.org>Mark Wielaard2006-11-252-6/+11
| | | | | | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector): Synchronize on font peer. (setFont): Likewise. * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark synchronized. (getTextMetrics): Likewise.
* 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-23 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-232-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java (createGraphics): Use constructor to create new instance of BufferedImageGraphics. * java/awt/Toolkit.java (getDefaultToolkit): Really try to get a real toolkit. Only use HeadlessToolkit if no other is available. * gnu/java/awt/peer/gtk/GtkToolkit.java (checkHeadless): New helper method. Checks for headless environment and throws HeadlessException if appropriate. (createButton): Check for headless. (createCanvas): Check for headless. (createCheckbox): Check for headless. (createCheckboxMenuItem): Check for headless. (createChoice): Check for headless. (createDialog): Check for headless. (createDragGestureRecognizer): Check for headless. (createDragSourceContextPeer): Check for headless. (createEmbeddedWindow): Check for headless. (createFileDialog): Check for headless. (createFrame): Check for headless. (createCheckbox): Check for headless. (createLabel): Check for headless. (createList): Check for headless. (createMenu): Check for headless. (createMenuBar): Check for headless. (createMenuItem): Check for headless. (createPanel): Check for headless. (createPopupMenu): Check for headless. (createScrollbar): Check for headless. (createScrollPane): Check for headless. (createTextArea): Check for headless. (createTextField): Check for headless. (createWindow): Check for headless.
* 2006-11-23 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-231-1/+30
| | | | | * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java (createGraphics): Try to use Cairo graphics if available.
* 2006-11-22 Francis Kung <fkung@redhat.com>Francis Kung2006-11-222-32/+63
| | | | | | | | | | | | * 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-213-79/+79
| | | | | | | | | | | | | | | | | | | * 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-213-45/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-11-21 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-215-216/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/GdkFontMetrics.java: Removed. This is now an inner class in GdkFontPeer. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawString(float,float)): Use text layout cache from GdkFontPeer. (getFontMetrics): Delegate to GdkFontPeer. * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (getGlyphCodes): Also check array size. (getGlyphPositions): Also check array size. * gnu/java/awt/peer/gtk/GdkFontPeer.java (GdkFontLineMetrics.fm): Removed. (GdkFontLineMetrics.strikeThroughOffset): Removed. (GdkFontLineMetrics.strikeThroughThickness): Removed. (GdkFontLineMetrics.underlineOffset): Removed. (GdkFontLineMetrics.underlineThickness): Removed. (GdkFontLineMetrics.GdkFontLineMetrics): Don't take FontMetrics argument. Don't init removed fields. (GdkFontLineMetrics.getAscent): Return font peer's field. (GdkFontLineMetrics.getDescent): Return font peer's field. (GdkFontLineMetrics.getHeight): Return font peer's field. (GdkFontLineMetrics.getLeading): Return font peer's field. (GdkFontLineMetrics.getNumChars): Reformat. (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent. (GdkFontLineMetrics.getStrikeThroughThickness): Return 1. (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field. (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field. (GdkFontMetrics): Moved class in here as inner class. Make it use the font peer's fields and for the char(s) width and string width method, use TextLayout to measure the actual widths. (ascent): New field. (bundle): Removed. (DEFAULT_CTX): New constant field. (descent): New field. (FONT_METRICS_ASCENT): New constant. (FONT_METRICS_DESCENT): New constant. (FONT_METRICS_HEIGHT): New constant. (FONT_METRICS_MAX_ADVANCE): New constant. (FONT_METRICS_MAX_ASCENT): New constant. (FONT_METRICS_MAX_DESCENT): New constant. (FONT_METRICS_UNDERLINE_OFFSET): New constant. (FONT_METRICS_UNDERLINE_THICKNESS): New constant. (height): New field. (maxAdvance): New field. (maxAscent): New field. (maxDescent): New field. (metrics): New field. Stores a FontMetrics for this font. (textLayoutCache): New field. Caches TextLayout instances. (underlineOffset): New field. (underlineThickness): New field. (cinit): Don't initialize resource bundle. (GdkFontPeer): Setup the metrics. (getFontMetrics): Return stored metrics if possible. (getLineMetrics): Adapt to new constructor. (initFont): New helper method. (setupMetrics): New helper method. * gnu/java/awt/peer/gtk/GtkToolkit.java (LRUCache): Made class a static class. (getFontMetrics): Delegate to GdkFontPeer. * native/jni/gtk-peer/gdkfont.h Added new constant defines. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c (getFontMetrics): Rewritten to fetch the font metrics from FreeType.
* 2006-11-14 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-141-3/+29
| | | | | | | | * gnu/java/awt/peer/GLightweightPeer.java (handleEvent): Try to do something reasonable and trigger painting for the lightweight component. (getFontMetrics): Fetch and return a font metrics object from the Toolkit.
* 2006-11-11 Andreas Tobler <a.tobler@schweiz.org>generics-merge-20061112Andreas Tobler2006-11-111-13/+30
| | | | | * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data from big endian systems correctly.
* 2006-11-09 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-092-0/+459
| | | | | | | | | * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment, * gnu/java/awt/peer/headless/HeadlessToolkit: New classes. Implement basic headless toolkit. * java/awt/Toolkit.java (getDefaultToolkit): Check headless property and create headless toolkit when true.
* 2006-11-09 Ingo Proetel <proetel@aicas.com>Roman Kennke2006-11-0912-101/+1106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-11-09 Roman Kennke <kennke@aicas.com> * gnu/java/awt/peer/swing/SwingButtonPeer.java (SwingButton.button): New field. (SwingButton.SwingButton): Added constructor. (SwingButton.isShowing): Access button field instead of the surrounding class. (SwingButton.getParent): Access button field instead of the surrounding class. (SwingButtonPeer): Call new SwingButton constructor. * gnu/java/awt/peer/swing/SwingComponent.java: Several documentation updates. * gnu/java/awt/peer/swing/SwingComponentPeer.java (currentPaintEvents): New field. (peerFont): New field. (SwingComponentPeer): Initialize currentPaintEvents fields. (coalescePaintEvents): Implemented. (dispose): Unregister peer from heavyweight list of its container. (getGraphics): Fetch graphics from parent component. (handleEvent): Discard paint event if its coalesced. (init): Register component with its container for proper painting. (paint): Call peerPaint(). (peerPaint): Added argument that indicates if we should update. Call paint or update on the actual AWT component. (peerPaintComponent): New method. Paints the peer (Swing) component. (setFont): Set peerFont field. * gnu/java/awt/peer/swing/SwingContainerPeer.java (backbuffer): New field. (focusOwner): New field. (heavyweightDescendents): New field. (SwingContainerPeer): Take Container as argument. Don't call init yet. (addHeavyweightDescendent): New method. (getFocusOwner): New helper method. (getInsets): Delegate to insets(). (handleKeyEvent): Dispatch event to focus owner. (handleMouseEvent): Dispatch to child component. (isDoubleBuffering): New helper method. (peerPaint): Overridden to implement container painting with double buffering. (peerPaintChildren): New method. Paints the descendents of this container. (removeHeavyweightDescendent): New helper method. * gnu/java/awt/peer/swing/SwingFramePeer.java (peerPaint): Removed. (peerPaintComponent): Overridden to paint the menu bar. * gnu/java/awt/peer/swing/SwingLabelPeer.java (SwingLabel.label): New field. (SwingLabel.SwingLabel): Added constructor with Label argument. (SwingLabel.getGraphics): Implemented to fetch the graphics from the actual AWT component. (SwingLabel.getParent): Implemented to fetch the parent from the AWT component. (SwingLabel.isShowing): Access the label field. (SwingLabelPeer): Set alignment from label. * gnu/java/awt/peer/swing/SwingListPeer.java: New class. * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation fixlet. * gnu/java/awt/peer/swing/SwingPanelPeer.java: Don't be a lighweight peer. (SwingPanelPeer): Call init. * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class. * gnu/java/awt/peer/swing/SwingTextFieldPeer.java (SwingTextField.textField): New field. (SwingTextField.SwingTextField): New constructor. (SwingTextField.isShowing): Access field not enclosing class. (SwingTextField.getGraphics): New method. (SwingTextField.getParent): New method. (SwingTextFieldPeer): Call new constructor. (select): Renamed arguments. * gnu/java/awt/peer/swing/SwingWindowPeer.java (SwingWindowPeer): Call init.
* 2006-11-06 Francis Kung <fkung@redhat.com>Francis Kung2006-11-063-22/+228
| | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/ComponentGraphics.java (fillRect): Handle custom composites. (drawRenderedImage): Handle custom composites. (drawImage): Handle custom composites. (createBuffer): New method. (drawLine): Handle custom composites. (drawComposite): New method. (fill): Handle custom composites. (getNativeCM): New method. (drawGlyphVector): Handle custom composites. (drawRect): Handle custom composites. (draw): Handle custom composites. * gnu/java/awt/peer/gtk/VolatileImageGraphics.java (drawComposite): Unset composite during draw call, to prevent parent from handling composite again. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (getBufferCM): Added comments. (getNativeCM): Made abstract. (setComposite): Removed comments.
* Forgot this file.Roman Kennke2006-11-021-14/+0
|
* 2006-11-02 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-027-46/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 29644 * gnu/java/awt/peer/ClasspathFontPeer.java (getStringBounds): Removed abstract method. This is replaced in java.awt.Font to use a TextLayout. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (GtkWindowPeer): Set a font on the window object. * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (FreetypeGlyphVector(Font,String,FontRenderContext,int)): Changed to take char,int,int instead of String. Filter control characters. (FreetypeGlyphVector(Font,String,FontRenderContext)): Create char array out of string. (getLogicalBounds): Don't translate bounds. They already are translated. * gnu/java/awt/peer/gtk/GdkFontMetrics.java (stringWidth): Filter out control characters. * gnu/java/awt/peer/gtk/GdkFontPeer.java (getStringBounds): Removed unneeded method. (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector constructor. * gnu/java/awt/peer/qt/QtFontPeer.java (getStringBounds): Removed unneeded method. * gnu/java/awt/peer/x/XFontPeer.java (getStringBounds): Removed unneeded method. * gnu/java/awt/peer/x/XFontPeer2.java (getStringBounds): Removed unneeded method. * java/awt/Font.java (getStringBounds(char[],int,int,FontRenderContext)): Use TextLayout to determine the bounds. (getStringBounds(CharacterIterator,int,int,FontRenderContext)): Delegate to the char[] version of this method. (getStringBounds(String,FontRenderContext)): Delegate to the char[] version of this method. (getStringBounds(String,int,int,FontRenderContext)): Delegate to the String version of this method.
* 2006-10-31 Francis Kung <fkung@redhat.com>Francis Kung2006-10-311-1/+1
| | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java (fillArc): Corrected arc type to Arc2D.PIE.
* 2006-10-23 Francis Kung <fkung@redhat.com>Francis Kung2006-10-231-3/+8
| | | | | | | | | | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java (cairoSetFont): New method. (copy): Set font using setFont method. (setFont): Call cairoSetFont. (setup): Set font using setFont method. * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added method. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (install_font_peer): Removed. (cairoDrawGlyphVector): Removed call to install_font_peer. (cairoSetFont): New method.
* 2006-10-23 Thomas Fitzsimmons <fitzsim@redhat.com>Thomas Fitzsimmons2006-10-232-35/+68
| | | | | | | | | | | * gnu/java/awt/peer/NativeEventLoopRunningEvent.java: New file. * gnu/java/awt/peer/gtk/GtkMainThread.java: Post NativeEventLoopRunningEvent after GTK main loop start and stop. * java/awt/EventQueue.java (isShutdown): Check nativeLoopRunning. (getNextEvent): Set dispatchThread to null. (postEventImpl): Set nativeLoopRunning. (pop): Interrupt event dispatch thread. * java/awt/Frame.java (noteFrame): Synchronize on weakFrames.
* 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-18 Roman Kennke <kennke@aicas.com>Roman Kennke2006-10-181-1/+1
| | | | | | | | | | | | PR 29419 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (copyArea): Changed size comparison to return when size == 0 too. * javax/swing/JViewport.java (paintBackingStore): Check width and height of blitted area and only do blit if its > 0. (paintBlit): Check width and height of blitted area and only do blit if its > 0.
* 2006-10-18 Roman Kennke <kennke@aicas.com>Roman Kennke2006-10-183-7/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 27091 * gnu/java/awt/peer/gtk/GtkFramePeer.java (maximize): New native method. (unmaximize): New native method. (iconify): New native method. (deiconify): New native method. (getState): Implemented. (setState): Implemented. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (oldState): Rename to windowState and made protected, so that the FramePeer can access it. (postWindowEvent): Handle state change events more gently and correctly. * java/awt/Frame.java (getState): Fetch state from getExtendedState(). (setExtendedState): Update the peer. Check if the state change is actually supported. (getExtendedState): Update the state from the peer. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c (maximize): New method. (unmaximize): New method. (iconify): New method. (deiconify): New method. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (AWT_FRAME_NORMAL): New macro. (AWT_FRAME_ICONIFIED): New macro. (AWT_FRAME_MAXIMIZED_BOTH): New macro. (window_window_state_cb): Rewritten to handle window state changes more gently (mostly on the java side of the world). * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated.
* 2006-10-18 Roman Kennke <kennke@aicas.com>Roman Kennke2006-10-181-12/+1
| | | | | | | | | | | | | * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (AWT_WINDOW_OPENED): Remove unnecessary macro. (window_show_cb): Removed unnecessary function. (connect_signals): Don't connect signal for show. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (hasBeenShown): Removed. This is handled in java.awt.Window. (postWindowEvent): Removed handling of WINDOW_OPENED. This is done in java.awt.Window. * java/awt/Window.java (dispose): Post WINDOW_CLOSED here, not WINDOW_OPENED.
* 2006-10-18 Francis Kung <fkung@redhat.com>Francis Kung2006-10-183-8/+230
| | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java (drawRenderedImage): New method. (drawImage): New method. (CairoSurfaceGraphics): Set clip. (createBuffer): New method. (getBufferCM): New method. (drawComposite): New method. (fill): New method. (getNativeCM): New method. (drawGlyphVector): New method. (draw): New method. * gnu/java/awt/peer/gtk/VolatileImageGraphics.java (getNativeCM): Reflect renamed field. * gnu/java/awt/peer/gtk/CairoSurface.java (cairoCM_pre): Renamed from cairoColorModel. (cairoColorModel): Set premultiplication to false.
* 2006-10-18 Roman Kennke <kennke@aicas.com>Roman Kennke2006-10-181-7/+0
| | | | | | | | | | | | PR 29502 * gnu/java/awt/peer/gtk/GtkWindowPeer.java (updateComponent): Don't override this here. * java/awt/Window.java (addWindowListener): Ignore null listener. Set newEventsOnly flag. (addWindowFocusListener): Ignore null listener. Set newEventsOnly flag. (addWindowStateListener): Ignore null listener. Set newEventsOnly flag.
* 2006-10-17 Thomas Fitzsimmons <fitzsim@redhat.com>Thomas Fitzsimmons2006-10-171-10/+128
| | | | | | | * gnu/java/awt/peer/gtk/GtkMainThread.java: Introduce running flag to track native GTK event loop status. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Set and clear running flag when native GTK event loop starts and stops.
* 2006-10-17 Francis Kung <fkung@redhat.com>Francis Kung2006-10-172-2/+6
| | | | | | | * 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-3/+17
| | | | | | | PR 29450 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (getLogicalBounds): Translate individual glyphs before appending bounds. (getOutline): Translate individual glyphs before appending outline.
* 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-13 Roman Kennke <kennke@aicas.com>Roman Kennke2006-10-131-3/+25
| | | | | | | | | | | PR 29448 * java/awt/Component.java (dispatchEventImpl): Special handle ComponentReshapeEvents to update the AWT's knowledge about a component's size. * gnu/java/awt/ComponentReshapeEvent.java: New class. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (postConfigureEvent): Directly dispatch a ComponentReshapeEvent to update the AWT's knowledge about the component bounds.
* 2006-10-11 Francis Kung <fkung@redhat.com>Francis Kung2006-10-115-76/+311
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-10 Francis Kung <fkung@redhat.com>Francis Kung2006-10-101-9/+9
| | | | | | | | PR 29372 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (createPath): Added isDraw parameter. (draw): Updated createPath call. (fill): Updated createPath call.
* 2006-10-03 Francis Kung <fkung@redhat.com>Francis Kung2006-10-033-13/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java (compCtx): New field for composite context. (copy): Copy composite. (dispose): Dispose of composite context. (getNativeCM): New method. (setComposite): Discard old composite context and set up new context. (setRenderingHints): Update composite context. * gnu/java/awt/peer/gtk/CairoSurface.java (nativeColorModel): New field, renamed from nativeModel. (nativeModel): Renamed field to nativeColorModel. (CairoSurface(int, int)): Call new method to create sample model. (createNativeSampleModel): New method. (getBufferedImage): Updated variable name. * gnu/java/awt/peer/gtk/VolatileImageGraphics.java (buffer): New field. (createBuffer): New method. (draw): New method. (drawComposite): New method. (drawGlyphVector): New method. (drawImage(Image, AffineTransform, Color, ImageObserver)): New method. (drawImage(Image, int, int, ImageObserver)): Check composite. (drawImage(Image, int, int, int, int, ImageObserver)): Check composite. (fill): New method. (getNativeCM): New method. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c (Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels): Use intermediary pixbuf to grab on-screen pixels.
* 2006-10-02 Francis Kung <fkung@redhat.com>Francis Kung2006-10-023-7/+36
| | | | | | | | | | | | | | | * 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-21 Francis Kung <fkung@redhat.com>Francis Kung2006-09-211-24/+14
| | | | | | | | | * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: (getLogicalBounds): Respect glyph transformations. (getGlyphOutline): Added null pointer check. (getGlyphTransform): Do not generate identity transform (API permits null). (setGlyphPosition): Do not invalidate transform. (setGlyphTransform): Do not modify glyph position.
* 2006-09-20 Francis Kung <fkung@redhat.com>Francis Kung2006-09-201-12/+22
| | | | | | | | | PR 29011 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: (getGlyphTransform): Use translation instead of scale. (performDefaultLayout): Increment position values instead of resetting, and pre-increment instead of post-increment. (setGlyphTransform): Handle null case with identity transform.
* 2006-09-20 Francis Kung <fkung@redhat.com>Francis Kung2006-09-201-49/+50
| | | | | | | | | | | | | PR 29011 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: (constructor): Expanded glyphPositions array to accomodate Y-coordinates. (getGlyphOutline): Call getGylphTransform to generate transform. (getGylphPosition): Read position directly out of array. (getGlyphPositions): Read positions directly out of array. (getGlyphTransform): Generate transform based on gylphPositions array. (performDefaultLayout): Populate glyphPositions array instead of transforms. (setGlyphPosition): Set position directly into array. (setGlyphTransform): Update positions array as well.
* 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-09-14 Francis Kung <fkung@redhat.com>Francis Kung2006-09-142-56/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Added interpolation constants. (cairoSurfaceSetFilter): Removed method. (drawImage): Pass interpolation type as argument to drawing methods. (drawPixels): Added interpolation parameter. (drawRaster): Pass interpolation type as argument to drawing method. (getInterpolation): New method. (setRenderingHint): Store hints, but do not set interpolation in cairo. (setRenderingHints): Store hints, but do not set interpolation in cairo. * gnu/java/awt/peer/gtk/CairoSurface.java (drawSurface): Added interpolation parameter. (nativeDrawSurface): Added interpolation parameter. * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation parameter. (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. * native/jni/gtk-peer/cairographics2d.h (java_awt_rendering_hints_filter): Added bicubic interpolation constant. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation parameter. (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): Added interpolation parameter.
* 2006-09-12 David Gilbert <david.gilbert@object-refinery.com>David Gilbert2006-09-121-1/+1
| | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java (setPaint): Check null argument ('p').
* 2006-09-12 Francis Kung <fkung@redhat.com>Francis Kung2006-09-121-4/+51
| | | | | | | | | | | | | | PR 27940 * gnu/java/awt/java2d/TexturePaintContext.java (constructor): Fixed typo, getMinY instead of getMaxX. * gnu/java/awt/peer/gtk/CairoGraphics2D.java (setPaint): Implemented support for custom Paint classes. (setPaintPixels): Renamed from setTexturePixels, added repeat parameter. (setTexturePixels): Renamed to setPaintPixels, added repeat parameter. * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Renamed setTexturePixels to setPaintPixels, and added repeat parameter. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: Renamed setTexturePixels to setPaintPixels, and added repeat parameter.
* 2006-08-09 Sven de Marothy <sven@physto.se>Sven de Marothy2006-08-084-52/+49
| | | | | | | | | | * 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-08-09 Sven de Marothy <sven@physto.se>Sven de Marothy2006-08-085-20/+119
| | | | | | | | | | | | | | | | | | * gnu/java/awt/peer/gtk/GtkMainThread.java New file. * gnu/java/awt/peer/gtk/GtkChoicePeer.java * gnu/java/awt/peer/gtk/GtkComponentPeer.java Replace GtkToolkit.mainThread with GtkMainThread.mainThread. * gnu/java/awt/peer/gtk/GtkToolkit.java Minor style fixes; removed unused fields, set fields to private where possible. (createDialog, createFrame, createWindow, createEmbeddedWindow): Call GtkMainThread.createWindow(). * gnu/java/awt/peer/gtk/GtkWindowPeer.java (dispose): New method. * include/gnu_java_awt_peer_gtk_GtkToolkit.h * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c (gtkQuit): New native method.
* 2006-08-06 Sven de Marothy <sven@physto.se>Sven de Marothy2006-08-061-2/+5
| | | | | | | | * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector): Synchronize against font object when drawing. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (nativeDrawGlyphVector): Use pango locking when drawing. (install_font_peer): Use pango locking when creating the cairo face.
* 2006-08-03 Roman Kennke <kennke@aicas.com>Roman Kennke2006-08-031-2/+2
| | | | | | | | | | | | PR 28571 * gnu/java/awt/peer/gtk/GtkCanvasPeer.java (getPreferredSize): Renamed method to preferredSize(). That's the one that gets called from java.awt.*. * java/awt/peer/ComponentPeer.java (getPreferredSize): Added specnote about this method never beeing called in the RI. (getMinimumSize): Added specnote about this method never beeing called in the RI.