gnu.java.awt.peer.gtk

Class ComponentGraphics

Known Direct Subclasses:
VolatileImageGraphics

public class ComponentGraphics
extends CairoGraphics2D

ComponentGraphics - context for drawing directly to a component, as this is an X drawable, it requires that we use GTK locks. This context draws directly to the drawable and requires xrender.

Field Summary

protected long
cairo_t

Method Summary

void
copyAreaImpl(int x, int y, int width, int height, int dx, int dy)
Graphics
create()
These are declared abstract as there may be context-specific issues.
void
dispose()
Destroys the component surface and calls dispose on the cairo graphics2d to destroy any super class resources.
void
draw(Shape s)
Overloaded methods that do actual drawing need to enter the gdk threads and also do certain things before and after.
void
drawGlyphVector(GlyphVector gv, float x, float y)
Draws a glyph vector at the specified location.
boolean
drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
Draws all of the image that is available and returns.
boolean
drawImage(Image img, int x, int y, ImageObserver observer)
Draws all of the image that is available and returns.
protected boolean
drawImage(Image img, AffineTransform xform, Color bgcolor, ImageObserver obs)
void
drawLine(int x1, int y1, int x2, int y2)
Draws a line between the two specified points.
void
drawRect(int x, int y, int width, int height)
Draws the outline of the specified rectangle.
void
drawRenderedImage(RenderedImage image, AffineTransform xform)
void
fill(Shape s)
Fills the interior of the specified shape using the current paint.
void
fillRect(int x, int y, int width, int height)
Fills the area bounded by the specified rectangle.
static Graphics2D
getComponentGraphics(GtkComponentPeer component)
Returns a Graphics2D object for a component, either an instance of this class (if xrender is supported), or a context which copies.
GraphicsConfiguration
getDeviceConfiguration()
protected Rectangle2D
getRealBounds()
static GtkImage
grab(GtkComponentPeer component)
Not really related (moveme?).
static boolean
hasXRender()
Query if the system has the XRender extension.
protected long
initFromVolatile(long pixmapPtr, int width, int height)
Creates a cairo_t for a volatile image
void
setClip(Shape s)
Sets the clipping region to the specified Shape.

Methods inherited from class gnu.java.awt.peer.gtk.CairoGraphics2D

addRenderingHints, clearRect, clip, clipRect, copy, copyArea, copyAreaImpl, create, dispose, disposeNative, draw, draw3DRect, drawArc, drawGlyphVector, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawLine, drawOval, drawPolygon, drawPolyline, drawRect, drawRenderableImage, drawRenderedImage, drawRoundRect, drawString, drawString, drawString, drawString, fill, fillArc, fillOval, fillPolygon, fillRect, fillRoundRect, finalize, findSimpleIntegerArray, getBackground, getClip, getClipBounds, getClipInDevSpace, getColor, getComposite, getDeviceConfiguration, getFont, getFontMetrics, getFontMetrics, getFontRenderContext, getPaint, getRealBounds, getRenderingHint, getRenderingHints, getStroke, getTransform, hit, rotate, rotate, scale, setBackground, setClip, setClip, setColor, setComposite, setFont, setPaint, setPaintMode, setRenderingHint, setRenderingHints, setStroke, setTransform, setXORMode, setup, shear, toString, transform, translate, translate

Methods inherited from class java.awt.Graphics2D

addRenderingHints, clip, draw, draw3DRect, drawGlyphVector, drawImage, drawImage, drawRenderableImage, drawRenderedImage, drawString, drawString, drawString, drawString, fill, fill3DRect, getBackground, getComposite, getDeviceConfiguration, getFontRenderContext, getPaint, getRenderingHint, getRenderingHints, getStroke, getTransform, hit, rotate, rotate, scale, setBackground, setComposite, setPaint, setRenderingHint, setRenderingHints, setStroke, setTransform, shear, transform, translate, translate

Methods inherited from class java.awt.Graphics

clearRect, clipRect, copyArea, create, create, dispose, draw3DRect, drawArc, drawBytes, drawChars, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawLine, drawOval, drawPolygon, drawPolygon, drawPolyline, drawRect, drawRoundRect, drawString, drawString, fill3DRect, fillArc, fillOval, fillPolygon, fillPolygon, fillRect, fillRoundRect, finalize, getClip, getClipBounds, getClipBounds, getClipRect, getColor, getFont, getFontMetrics, getFontMetrics, hitClip, setClip, setClip, setColor, setFont, setPaintMode, setXORMode, toString, translate

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

cairo_t

protected long cairo_t

Method Details

copyAreaImpl

public void copyAreaImpl(int x,
                         int y,
                         int width,
                         int height,
                         int dx,
                         int dy)
Overrides:
copyAreaImpl in interface CairoGraphics2D

create

public Graphics create()
These are declared abstract as there may be context-specific issues.
Overrides:
create in interface CairoGraphics2D

dispose

public void dispose()
Destroys the component surface and calls dispose on the cairo graphics2d to destroy any super class resources.
Overrides:
dispose in interface CairoGraphics2D

draw

public void draw(Shape s)
Overloaded methods that do actual drawing need to enter the gdk threads and also do certain things before and after.
Overrides:
draw in interface CairoGraphics2D

drawGlyphVector

public void drawGlyphVector(GlyphVector gv,
                            float x,
                            float y)
Draws a glyph vector at the specified location.
Overrides:
drawGlyphVector in interface CairoGraphics2D
Parameters:
x - the x-coordinate.
y - the y-coordinate.

drawImage

public boolean drawImage(Image img,
                         int x,
                         int y,
                         int width,
                         int height,
                         ImageObserver observer)
Draws all of the image that is available and returns. The image is scaled to fit in the specified rectangle. If the image is not completely loaded, false is returned and the specified iamge observer is notified as more data becomes available.
Overrides:
drawImage in interface CairoGraphics2D
Parameters:
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.
width - The width of the rectangle to draw in.
height - The height of the rectangle to draw in.
observer - The image observer to notify as data becomes available.
Returns:
true if all the image data is available, false otherwise.

drawImage

public boolean drawImage(Image img,
                         int x,
                         int y,
                         ImageObserver observer)
Draws all of the image that is available and returns. If the image is not completely loaded, false is returned and the specified iamge observer is notified as more data becomes available.
Overrides:
drawImage in interface CairoGraphics2D
Parameters:
x - The X coordinate of the point to draw at.
y - The Y coordinate of the point to draw at.
observer - The image observer to notify as data becomes available.
Returns:
true if all the image data is available, false otherwise.

drawImage

protected boolean drawImage(Image img,
                            AffineTransform xform,
                            Color bgcolor,
                            ImageObserver obs)
Overrides:
drawImage in interface CairoGraphics2D

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Draws a line between the two specified points.
Overrides:
drawLine in interface CairoGraphics2D
Parameters:
x1 - The X coordinate of the first point.
y1 - The Y coordinate of the first point.
x2 - The X coordinate of the second point.
y2 - The Y coordinate of the second point.

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
Draws the outline of the specified rectangle.
Overrides:
drawRect in interface CairoGraphics2D
Parameters:
x - The X coordinate of the upper left corner of the draw rect.
y - The Y coordinate of the upper left corner of the draw rect.
width - The width of the draw rect.
height - The height of the draw rect.

drawRenderedImage

public void drawRenderedImage(RenderedImage image,
                              AffineTransform xform)
Overrides:
drawRenderedImage in interface CairoGraphics2D

fill

public void fill(Shape s)
Fills the interior of the specified shape using the current paint.
Overrides:
fill in interface CairoGraphics2D
Parameters:

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
Fills the area bounded by the specified rectangle.
Overrides:
fillRect in interface CairoGraphics2D
Parameters:
x - The X coordinate of the upper left corner of the fill rect.
y - The Y coordinate of the upper left corner of the fill rect.
width - The width of the fill rect.
height - The height of the fill rect.

getComponentGraphics

public static Graphics2D getComponentGraphics(GtkComponentPeer component)
Returns a Graphics2D object for a component, either an instance of this class (if xrender is supported), or a context which copies.

getDeviceConfiguration

public GraphicsConfiguration getDeviceConfiguration()
Overrides:
getDeviceConfiguration in interface CairoGraphics2D

getRealBounds

protected Rectangle2D getRealBounds()
Overrides:
getRealBounds in interface CairoGraphics2D

grab

public static GtkImage grab(GtkComponentPeer component)
Not really related (moveme?). Utility method used by GtkComponent.

hasXRender

public static boolean hasXRender()
Query if the system has the XRender extension.

initFromVolatile

protected long initFromVolatile(long pixmapPtr,
                                int width,
                                int height)
Creates a cairo_t for a volatile image

setClip

public void setClip(Shape s)
Sets the clipping region to the specified Shape.
Overrides:
setClip in interface CairoGraphics2D
Parameters:

ComponentGraphics.java -- Copyright (C) 2006 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.