| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
(paintComponent): Include paint area from event.
(updateComponent): Include paint area from event.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
to currentPaintArea.
(paintComponent): Work with local reference to currentPaintArea.
(updateComponent): Likewise.
(coalescePaintEvent): Set currentPaintArea.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/java/awt/peer/gtk/CairoGraphics2D.java
(drawLine): Remove hard-coded pixel shifting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
(createGraphics): Try to use Cairo graphics if available.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data
from big endian systems correctly.
|
|
|
|
|
|
|
|
|
| |
* 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 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* gnu/java/awt/peer/gtk/CairoGraphics2D.java
(fillArc): Corrected arc type to Arc2D.PIE.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
PR 29450
* gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
(getLogicalBounds): Translate individual glyphs before appending bounds.
(getOutline): Translate individual glyphs before appending outline.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
PR 29372
* gnu/java/awt/peer/gtk/CairoGraphics2D.java
(createPath): Added isDraw parameter.
(draw): Updated createPath call.
(fill): Updated createPath call.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
PR 29012
* gnu/java/awt/peer/gtk/BufferedImageGraphics.java:
(constructor): Copy image field.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/java/awt/peer/gtk/CairoGraphics2D.java
(setPaint): Check null argument ('p').
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|