Imported Classpath 0.18.

* sources.am, Makefile.in: Updated.
	* Makefile.am (nat_source_files): Removed natProxy.cc.
	* java/lang/reflect/natProxy.cc: Removed.
	* gnu/classpath/jdwp/VMFrame.java,
	gnu/classpath/jdwp/VMIdManager.java,
	gnu/classpath/jdwp/VMVirtualMachine.java,
	java/lang/reflect/VMProxy.java: New files.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* scripts/makemake.tcl (verbose): Add gnu/java/awt/peer/qt to BC
	list.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/net/DefaultContentHandlerFactory.java (getContent):
	Remove ClasspathToolkit references.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/awt/xlib/XCanvasPeer.java: Add new peer methods.
	* gnu/awt/xlib/XFramePeer.java: Likewise.
	* gnu/awt/xlib/XGraphicsConfiguration.java: Likewise.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (libgcjawt_la_SOURCES): Remove jawt.c.  Add
	classpath/native/jawt/jawt.c.
	* Makefile.in: Regenerate.
	* jawt.c: Remove file.
	* include/Makefile.am (tool_include__HEADERS): Remove jawt.h and
	jawt_md.h.  Add ../classpath/include/jawt.h and
	../classpath/include/jawt_md.h.
	* include/Makefile.in: Regenerate.
	* include/jawt.h: Regenerate.
	* include/jawt_md.h: Regenerate.

From-SVN: r104586
This commit is contained in:
Tom Tromey 2005-09-23 21:31:04 +00:00
parent 9b044d1951
commit 1ea63ef8be
544 changed files with 34724 additions and 14512 deletions

View file

@ -45,6 +45,7 @@ import java.awt.AlphaComposite;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Composite;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.GradientPaint;
@ -106,8 +107,7 @@ public class GdkGraphics2D extends Graphics2D
if (Configuration.INIT_LOAD_LIBRARY)
System.loadLibrary("gtkpeer");
if (GtkToolkit.useGraphics2D())
initStaticState();
initStaticState();
}
static native void initStaticState();
@ -132,12 +132,14 @@ public class GdkGraphics2D extends Graphics2D
Composite comp;
private Stack stateStack;
private native void initStateUnlocked(GtkComponentPeer component);
private native void initState(GtkComponentPeer component);
private native void initState(int width, int height);
private native void initState(int[] pixes, int width, int height);
private native void copyState(GdkGraphics2D g);
public native void dispose();
private native void cairoSurfaceSetFilter(int filter);
private native void cairoSurfaceSetFilterUnlocked(int filter);
native void connectSignals(GtkComponentPeer component);
public void finalize()
@ -236,6 +238,21 @@ public class GdkGraphics2D extends Graphics2D
stateStack = new Stack();
}
void initComponentGraphics2DUnlocked()
{
initStateUnlocked(component);
setColorUnlocked(component.awtComponent.getForeground());
setBackgroundUnlocked(component.awtComponent.getBackground());
setPaintUnlocked(getColorUnlocked());
setTransformUnlocked(new AffineTransform());
setStrokeUnlocked(new BasicStroke());
setRenderingHintsUnlocked(getDefaultHints());
setFontUnlocked(new Font("SansSerif", Font.PLAIN, 12));
stateStack = new Stack();
}
GdkGraphics2D(BufferedImage bimage)
{
this.bimage = bimage;
@ -280,25 +297,37 @@ public class GdkGraphics2D extends Graphics2D
// drawing utility methods
private native void drawPixels(int[] pixels, int w, int h, int stride,
double[] i2u);
private native void setTexturePixelsUnlocked(int[] pixels, int w, int h, int stride);
private native void setTexturePixels(int[] pixels, int w, int h, int stride);
private native void setGradient(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);
private native void setGradientUnlocked(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);
// simple passthroughs to cairo
private native void cairoSave();
private native void cairoRestore();
private native void cairoSetMatrix(double[] m);
private native void cairoSetMatrixUnlocked(double[] m);
private native void cairoSetOperator(int cairoOperator);
private native void cairoSetRGBAColor(double red, double green,
double blue, double alpha);
private native void cairoSetRGBAColorUnlocked(double red, double green,
double blue, double alpha);
private native void cairoSetFillRule(int cairoFillRule);
private native void cairoSetLineWidth(double width);
private native void cairoSetLineWidthUnlocked(double width);
private native void cairoSetLineCap(int cairoLineCap);
private native void cairoSetLineCapUnlocked(int cairoLineCap);
private native void cairoSetLineJoin(int cairoLineJoin);
private native void cairoSetLineJoinUnlocked(int cairoLineJoin);
private native void cairoSetDash(double[] dashes, int ndash, double offset);
private native void cairoSetDashUnlocked(double[] dashes, int ndash, double offset);
private native void cairoSetMiterLimit(double limit);
private native void cairoSetMiterLimitUnlocked(double limit);
private native void cairoNewPath();
private native void cairoMoveTo(double x, double y);
private native void cairoLineTo(double x, double y);
@ -689,6 +718,49 @@ public class GdkGraphics2D extends Graphics2D
throw new java.lang.UnsupportedOperationException();
}
public void setPaintUnlocked(Paint p)
{
if (paint == null)
return;
paint = p;
if (paint instanceof Color)
{
setColorUnlocked((Color) paint);
}
else if (paint instanceof TexturePaint)
{
TexturePaint tp = (TexturePaint) paint;
BufferedImage img = tp.getImage();
// map the image to the anchor rectangle
int width = (int) tp.getAnchorRect().getWidth();
int height = (int) tp.getAnchorRect().getHeight();
double scaleX = width / (double) img.getWidth();
double scaleY = width / (double) img.getHeight();
AffineTransform at = new AffineTransform(scaleX, 0, 0, scaleY, 0, 0);
AffineTransformOp op = new AffineTransformOp(at, getRenderingHints());
BufferedImage texture = op.filter(img, null);
int[] pixels = texture.getRGB(0, 0, width, height, null, 0, width);
setTexturePixelsUnlocked(pixels, width, height, width);
}
else if (paint instanceof GradientPaint)
{
GradientPaint gp = (GradientPaint) paint;
Point2D p1 = gp.getPoint1();
Point2D p2 = gp.getPoint2();
Color c1 = gp.getColor1();
Color c2 = gp.getColor2();
setGradientUnlocked(p1.getX(), p1.getY(), p2.getX(), p2.getY(), c1.getRed(),
c1.getGreen(), c1.getBlue(), c1.getAlpha(), c2.getRed(),
c2.getGreen(), c2.getBlue(), c2.getAlpha(), gp.isCyclic());
}
else
throw new java.lang.UnsupportedOperationException();
}
public void setTransform(AffineTransform tx)
{
transform = tx;
@ -700,6 +772,17 @@ public class GdkGraphics2D extends Graphics2D
}
}
public void setTransformUnlocked(AffineTransform tx)
{
transform = tx;
if (transform != null)
{
double[] m = new double[6];
transform.getMatrix(m);
cairoSetMatrixUnlocked(m);
}
}
public void transform(AffineTransform tx)
{
if (transform == null)
@ -784,6 +867,32 @@ public class GdkGraphics2D extends Graphics2D
cairoSetDash(double_dashes, double_dashes.length,
(double) bs.getDashPhase());
}
else
cairoSetDash(new double[0], 0, 0.0);
}
}
public void setStrokeUnlocked(Stroke st)
{
stroke = st;
if (stroke instanceof BasicStroke)
{
BasicStroke bs = (BasicStroke) stroke;
cairoSetLineCapUnlocked(bs.getEndCap());
cairoSetLineWidthUnlocked(bs.getLineWidth());
cairoSetLineJoinUnlocked(bs.getLineJoin());
cairoSetMiterLimitUnlocked(bs.getMiterLimit());
float[] dashes = bs.getDashArray();
if (dashes != null)
{
double[] double_dashes = new double[dashes.length];
for (int i = 0; i < dashes.length; i++)
double_dashes[i] = dashes[i];
cairoSetDashUnlocked(double_dashes, double_dashes.length,
(double) bs.getDashPhase());
}
else
cairoSetDashUnlocked(new double[0], 0, 0.0);
}
}
@ -812,11 +921,27 @@ public class GdkGraphics2D extends Graphics2D
fg.getBlue() / 255.0, fg.getAlpha() / 255.0);
}
public void setColorUnlocked(Color c)
{
if (c == null)
c = Color.BLACK;
fg = c;
paint = c;
cairoSetRGBAColorUnlocked(fg.getRed() / 255.0, fg.getGreen() / 255.0,
fg.getBlue() / 255.0, fg.getAlpha() / 255.0);
}
public Color getColor()
{
return fg;
}
public Color getColorUnlocked()
{
return getColor();
}
public void clipRect(int x, int y, int width, int height)
{
clip(new Rectangle(x, y, width, height));
@ -864,7 +989,13 @@ public class GdkGraphics2D extends Graphics2D
public void setClip(Shape s)
{
clip = s;
if (s != null)
if (clip == null)
{
// Reset clipping.
Dimension d = component.awtComponent.getSize();
setClip(0, 0, d.width, d.height);
}
else
{
cairoNewPath();
if (s instanceof Rectangle2D)
@ -929,6 +1060,11 @@ public class GdkGraphics2D extends Graphics2D
bg = c;
}
public void setBackgroundUnlocked(Color c)
{
setBackground(c);
}
public Color getBackground()
{
return bg;
@ -1180,6 +1316,36 @@ public class GdkGraphics2D extends Graphics2D
|| hints.containsValue(RenderingHints.VALUE_STROKE_DEFAULT);
}
public void setRenderingHintsUnlocked(Map hints)
{
this.hints = new RenderingHints(getDefaultHints());
this.hints.add(new RenderingHints(hints));
if (hints.containsKey(RenderingHints.KEY_INTERPOLATION))
{
if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR))
cairoSurfaceSetFilterUnlocked(0);
else if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR))
cairoSurfaceSetFilterUnlocked(1);
}
if (hints.containsKey(RenderingHints.KEY_ALPHA_INTERPOLATION))
{
if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED))
cairoSurfaceSetFilterUnlocked(2);
else if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY))
cairoSurfaceSetFilterUnlocked(3);
else if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT))
cairoSurfaceSetFilterUnlocked(4);
}
shiftDrawCalls = hints.containsValue(RenderingHints.VALUE_STROKE_NORMALIZE)
|| hints.containsValue(RenderingHints.VALUE_STROKE_DEFAULT);
}
public void addRenderingHints(Map hints)
{
this.hints.add(new RenderingHints(hints));
@ -1344,6 +1510,9 @@ public class GdkGraphics2D extends Graphics2D
public void drawString(String str, float x, float y)
{
if (str == null || str.length() == 0)
return;
drawGlyphVector(getFont().createGlyphVector(null, str), x, y);
updateBufferedImage ();
}
@ -1443,6 +1612,11 @@ public class GdkGraphics2D extends Graphics2D
.getFont(f.getName(), f.getAttributes());
}
public void setFontUnlocked(Font f)
{
setFont (f);
}
public String toString()
{
return (getClass().getName()