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

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

ALPHA_INTERPOLATION_DEFAULT, ALPHA_INTERPOLATION_QUALITY, ALPHA_INTERPOLATION_SPEED, INTERPOLATION_BICUBIC, INTERPOLATION_BILINEAR, INTERPOLATION_NEAREST, shiftDrawCalls

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
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
drawRenderedImage(RenderedImage image, AffineTransform xform)
void
fill(Shape s)
Fills the interior of the specified shape using the current paint.
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 ColorModel
getNativeCM()
Returns the Colour Model describing the native, raw image data for this specific peer.
protected Rectangle2D
getRealBounds()
Find the bounds of this graphics context, in device space.
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
protected @Override
long init(long pointer)
protected @Override
void cairoArc(long pointer, double x, double y, double radius, double angle1, double angle2)
protected @Override
void cairoClip(long pointer)
protected @Override
void cairoClosePath(long pointer)
protected @Override
void cairoCurveTo(long pointer, double x1, double y1, double x2, double y2, double x3, double y3)
protected @Override
void cairoFill(long pointer, double alpha)
protected @Override
void cairoLineTo(long pointer, double x, double y)
protected @Override
void cairoMoveTo(long pointer, double x, double y)
protected @Override
void cairoNewPath(long pointer)
protected @Override
void cairoRectangle(long pointer, double x, double y, double width, double height)
protected @Override
void cairoResetClip(long pointer)
protected @Override
void cairoRestore(long pointer)
protected @Override
void cairoSave(long pointer)
protected @Override
void cairoScale(long pointer, double x, double y)
protected @Override
void cairoSetAntialias(long pointer, boolean aa)
protected @Override
void cairoSetDash(long pointer, double[] dashes, int ndash, double offset)
protected @Override
void cairoSetFillRule(long pointer, int cairoFillRule)
protected @Override
void cairoSetLine(long pointer, double width, int cap, int join, double miterLimit)
protected @Override
void cairoSetMatrix(long pointer, double[] m)
protected @Override
void cairoSetOperator(long pointer, int cairoOperator)
protected @Override
void cairoSetRGBAColor(long pointer, double red, double green, double blue, double alpha)
protected @Override
void cairoStroke(long pointer)
protected @Override
void drawCairoSurface(CairoSurface surface, AffineTransform tx, double alpha, int interpolation)
protected @Override
void drawPixels(long pointer, int[] pixels, int w, int h, int stride, double[] i2u, double alpha, int interpolation)
protected @Override
void setGradient(long pointer, double x1, double y1, double x2, double y2, int r1, int g1, int b1, int a1, int r2, int g2, int b2, int a2, boolean cyclic)
protected @Override
void setPaintPixels(long pointer, int[] pixels, int w, int h, int stride, boolean repeat, int x, int y)

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

addRenderingHints, cairoArc, cairoClip, cairoClosePath, cairoCurveTo, cairoDrawGlyphVector, cairoFill, cairoLineTo, cairoMoveTo, cairoNewPath, cairoRectangle, cairoResetClip, cairoRestore, cairoSave, cairoScale, cairoSetAntialias, cairoSetDash, cairoSetFillRule, cairoSetFont, cairoSetLine, cairoSetMatrix, cairoSetOperator, cairoSetRGBAColor, cairoStroke, clearRect, clip, clipRect, copy, copyArea, copyAreaImpl, create, dispose, disposeNative, draw, draw3DRect, drawArc, drawCairoSurface, drawGlyphVector, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawLine, drawOval, drawPixels, drawPolygon, drawPolyline, drawRect, drawRenderableImage, drawRenderedImage, drawRoundRect, drawString, drawString, drawString, drawString, fill, fillArc, fillOval, fillPolygon, fillRect, fillRoundRect, finalize, findSimpleIntegerArray, findStrokedBounds, getBackground, getBufferCM, getClip, getClipBounds, getClipInDevSpace, getColor, getComposite, getDeviceConfiguration, getFont, getFontMetrics, getFontMetrics, getFontRenderContext, getNativeCM, getPaint, getRealBounds, getRenderingHint, getRenderingHints, getStroke, getTransform, hit, init, rotate, rotate, scale, setBackground, setClip, setClip, setColor, setComposite, setCustomPaint, setFont, setGradient, setPaint, setPaintMode, setPaintPixels, 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, extends Object> getClass, finalize, 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

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

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:

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

getNativeCM

protected ColorModel getNativeCM()
Returns the Colour Model describing the native, raw image data for this specific peer.
Overrides:
getNativeCM in interface CairoGraphics2D
Returns:
ColorModel the ColorModel of native data in this peer

getRealBounds

protected Rectangle2D getRealBounds()
Find the bounds of this graphics context, in device space.
Overrides:
getRealBounds in interface CairoGraphics2D
Returns:
the bounds in device-space

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

long init

protected @Override long init(long pointer)

void cairoArc

protected @Override void cairoArc(long pointer,
                                  double x,
                                  double y,
                                  double radius,
                                  double angle1,
                                  double angle2)

void cairoClip

protected @Override void cairoClip(long pointer)

void cairoClosePath

protected @Override void cairoClosePath(long pointer)

void cairoCurveTo

protected @Override void cairoCurveTo(long pointer,
                                      double x1,
                                      double y1,
                                      double x2,
                                      double y2,
                                      double x3,
                                      double y3)

void cairoFill

protected @Override void cairoFill(long pointer,
                                   double alpha)

void cairoLineTo

protected @Override void cairoLineTo(long pointer,
                                     double x,
                                     double y)

void cairoMoveTo

protected @Override void cairoMoveTo(long pointer,
                                     double x,
                                     double y)

void cairoNewPath

protected @Override void cairoNewPath(long pointer)

void cairoRectangle

protected @Override void cairoRectangle(long pointer,
                                        double x,
                                        double y,
                                        double width,
                                        double height)

void cairoResetClip

protected @Override void cairoResetClip(long pointer)

void cairoRestore

protected @Override void cairoRestore(long pointer)

void cairoSave

protected @Override void cairoSave(long pointer)

void cairoScale

protected @Override void cairoScale(long pointer,
                                    double x,
                                    double y)

void cairoSetAntialias

protected @Override void cairoSetAntialias(long pointer,
                                           boolean aa)

void cairoSetDash

protected @Override void cairoSetDash(long pointer,
                                      double[] dashes,
                                      int ndash,
                                      double offset)

void cairoSetFillRule

protected @Override void cairoSetFillRule(long pointer,
                                          int cairoFillRule)

void cairoSetLine

protected @Override void cairoSetLine(long pointer,
                                      double width,
                                      int cap,
                                      int join,
                                      double miterLimit)

void cairoSetMatrix

protected @Override void cairoSetMatrix(long pointer,
                                        double[] m)

void cairoSetOperator

protected @Override void cairoSetOperator(long pointer,
                                          int cairoOperator)

void cairoSetRGBAColor

protected @Override void cairoSetRGBAColor(long pointer,
                                           double red,
                                           double green,
                                           double blue,
                                           double alpha)

void cairoStroke

protected @Override void cairoStroke(long pointer)

void drawCairoSurface

protected @Override void drawCairoSurface(CairoSurface surface,
                                          AffineTransform tx,
                                          double alpha,
                                          int interpolation)

void drawPixels

protected @Override void drawPixels(long pointer,
                                    int[] pixels,
                                    int w,
                                    int h,
                                    int stride,
                                    double[] i2u,
                                    double alpha,
                                    int interpolation)

void setGradient

protected @Override void setGradient(long pointer,
                                     double x1,
                                     double y1,
                                     double x2,
                                     double y2,
                                     int r1,
                                     int g1,
                                     int b1,
                                     int a1,
                                     int r2,
                                     int g2,
                                     int b2,
                                     int a2,
                                     boolean cyclic)

void setPaintPixels

protected @Override void setPaintPixels(long pointer,
                                        int[] pixels,
                                        int w,
                                        int h,
                                        int stride,
                                        boolean repeat,
                                        int x,
                                        int y)

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.