diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-15 23:53:49 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-15 23:53:49 +0000 |
| commit | b1ca781a0ecf73b7d921dd831bd5e2273992cfe6 (patch) | |
| tree | 1e952a7c0fcd20a9982a9bf4e674f1ab69fc7826 /libjava/gnu/gcj/xlib | |
| parent | 6eb903ad20bf975b48e069e8e0315d8e681dd2a3 (diff) | |
| download | ppe42-gcc-b1ca781a0ecf73b7d921dd831bd5e2273992cfe6.tar.gz ppe42-gcc-b1ca781a0ecf73b7d921dd831bd5e2273992cfe6.zip | |
2003-01-15 Scott Gilbertson <scottg@mantatest.com>
* gnu/gcj/xlib/natGC.cc (fillPolygon): New method.
* gnu/gcj/xlib/GC.java (fillPolygon): Declare.
* gnu/awt/xlib/XGraphics.java (fillPolygon): Added translateX and
translateY arguments. Implement.
* gnu/awt/j2d/IntegerGraphicsState.java (fillPolygon): Pass
down translation arguments.
(drawPolyline, drawPolygon): Fix incorrect tests.
* gnu/awt/j2d/DirectRasterGraphics.java (fillPolygon): Added
translateX and translateY arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61369 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/gcj/xlib')
| -rw-r--r-- | libjava/gnu/gcj/xlib/GC.java | 4 | ||||
| -rw-r--r-- | libjava/gnu/gcj/xlib/natGC.cc | 24 |
2 files changed, 26 insertions, 2 deletions
diff --git a/libjava/gnu/gcj/xlib/GC.java b/libjava/gnu/gcj/xlib/GC.java index 6b33715cf6c..1806c2ae569 100644 --- a/libjava/gnu/gcj/xlib/GC.java +++ b/libjava/gnu/gcj/xlib/GC.java @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation +/* Copyright (C) 2000, 2003 Free Software Foundation This file is part of libgcj. @@ -84,6 +84,8 @@ public class GC implements Cloneable public native void drawRectangle(int x, int y, int w, int h); public native void fillRectangle(int x, int y, int w, int h); + public native void fillPolygon(int[] xPoints, int[] yPoints, int nPoints, + int translateX, int translateY); /** * diff --git a/libjava/gnu/gcj/xlib/natGC.cc b/libjava/gnu/gcj/xlib/natGC.cc index 66de35f868b..1a1bd586d8e 100644 --- a/libjava/gnu/gcj/xlib/natGC.cc +++ b/libjava/gnu/gcj/xlib/natGC.cc @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation +/* Copyright (C) 2000, 2003 Free Software Foundation This file is part of libgcj. @@ -11,6 +11,7 @@ details. */ #include <X11/Xlib.h> #include <gcj/cni.h> +#include <gcj/array.h> #include <gnu/gcj/RawData.h> #include <java/lang/String.h> #include <java/awt/Rectangle.h> @@ -154,6 +155,27 @@ void gnu::gcj::xlib::GC::fillRectangle(jint x, jint y, jint w, jint h) // no fast fail } +void gnu::gcj::xlib::GC::fillPolygon(jintArray xPoints, jintArray yPoints, + jint nPoints, + jint translateX, jint translateY) +{ + Display* display = target->getDisplay(); + ::Display* dpy = (::Display*) (display->display); + ::Drawable drawableXID = target->getXID(); + ::GC gc = (::GC) structure; + typedef ::XPoint xpoint; + std::vector<xpoint> points(nPoints+1); + for (int i=0; i<nPoints; i++) + { + points[i].x = elements(xPoints)[i] + translateX; + points[i].y = elements(yPoints)[i] + translateY; + } + points[nPoints] = points[0]; + XFillPolygon(dpy, drawableXID, gc, &(points.front()), nPoints, + Complex, CoordModeOrigin); + // no fast fail +} + void gnu::gcj::xlib::GC::clearArea(jint x, jint y, jint w, jint h, jboolean exposures) { |

