[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo...
From: |
Sven de Marothy |
Subject: |
[commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo... |
Date: |
Sat, 03 Jun 2006 22:47:03 +0000 |
CVSROOT: /sources/classpath
Module name: classpath
Changes by: Sven de Marothy <smarothy> 06/06/03 22:47:03
Modified files:
. : ChangeLog
gnu/java/awt/peer/gtk: CairoGraphics2D.java
include : gnu_java_awt_peer_gtk_CairoGraphics2D.h
native/jni/gtk-peer: gnu_java_awt_peer_gtk_CairoGraphics2D.c
Log message:
2006-06-02 Sven de Marothy <address@hidden>
* gnu/java/awt/peer/gtk/CairoGraphics2D.java
(cairoPreserveClip, cairoResetClip): New methods.
(setClip, clip): Reimplement.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
* include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
(cairoPreserveClip, cairoResetClip): New methods.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.7641&r2=1.7642
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java?cvsroot=classpath&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h?cvsroot=classpath&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c?cvsroot=classpath&r1=1.5&r2=1.6
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/classpath/classpath/ChangeLog,v
retrieving revision 1.7641
retrieving revision 1.7642
diff -u -b -r1.7641 -r1.7642
--- ChangeLog 3 Jun 2006 22:41:40 -0000 1.7641
+++ ChangeLog 3 Jun 2006 22:47:03 -0000 1.7642
@@ -1,5 +1,14 @@
2006-06-02 Sven de Marothy <address@hidden>
+ * gnu/java/awt/peer/gtk/CairoGraphics2D.java
+ (cairoPreserveClip, cairoResetClip): New methods.
+ (setClip, clip): Reimplement.
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
+ * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
+ (cairoPreserveClip, cairoResetClip): New methods.
+
+2006-06-02 Sven de Marothy <address@hidden>
+
* gnu/java/awt/peer/gtk/VolatileImageGraphics.java
* include/gnu_java_awt_peer_gtk_GtkVolatileImage.h
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c
Index: gnu/java/awt/peer/gtk/CairoGraphics2D.java
===================================================================
RCS file:
/sources/classpath/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- gnu/java/awt/peer/gtk/CairoGraphics2D.java 2 Jun 2006 22:57:31 -0000
1.13
+++ gnu/java/awt/peer/gtk/CairoGraphics2D.java 3 Jun 2006 22:47:03 -0000
1.14
@@ -411,6 +411,16 @@
private native void cairoClip();
/**
+ * Save clip
+ */
+ private native void cairoPreserveClip();
+
+ /**
+ * Save clip
+ */
+ private native void cairoResetClip();
+
+ /**
* Set interpolation types
*/
private native void cairoSurfaceSetFilter(int filter);
@@ -518,32 +528,10 @@
public void clip(Shape s)
{
- // update it
- if (clip == null || s == null)
- clip = s;
- else if (s instanceof Rectangle2D && clip instanceof Rectangle2D)
- {
- Rectangle2D r = (Rectangle2D) s;
- Rectangle2D curr = (Rectangle2D) clip;
- clip = curr.createIntersection(r);
- }
- else
- throw new UnsupportedOperationException();
-
- // draw it
- if (clip != null)
- {
- cairoNewPath();
- if (clip instanceof Rectangle2D)
- {
- Rectangle2D r = (Rectangle2D) clip;
- cairoRectangle(r.getX(), r.getY(), r.getWidth(), r.getHeight());
- }
- else
- walkPath(clip.getPathIterator(null), false);
+ if( s == null )
+ setClip( originalClip );
- cairoClip();
- }
+ setClip(s);
}
public Paint getPaint()
@@ -706,17 +694,18 @@
public void setClip(int x, int y, int width, int height)
{
- setClip(new Rectangle2D.Double((double) x, (double) y, (double) width,
- (double) height));
+ if( width < 0 || height < 0 )
+ return;
+
+ setClip(new Rectangle2D.Double(x, y, width, height));
}
public void setClip(Shape s)
{
- clip = s;
-
- // The first time the clip is set, save it as the original clip to reset
to on
- // s == null. We can rely on this being non-null because the constructor
in
- // subclasses is expected to set the initial clip properly.
+ // The first time the clip is set, save it as the original clip
+ // to reset to on s == null. We can rely on this being non-null
+ // because the constructor in subclasses is expected to set the
+ // initial clip properly.
if( firstClip )
{
originalClip = s;
@@ -725,6 +714,10 @@
if (s == null)
clip = originalClip;
+ else
+ clip = s;
+
+ cairoResetClip();
cairoNewPath();
if (clip instanceof Rectangle2D)
@@ -735,7 +728,6 @@
else
walkPath(clip.getPathIterator(null), false);
- // cairoClosePath ();
cairoClip();
}
Index: include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
===================================================================
RCS file:
/sources/classpath/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- include/gnu_java_awt_peer_gtk_CairoGraphics2D.h 29 May 2006 16:14:59
-0000 1.1
+++ include/gnu_java_awt_peer_gtk_CairoGraphics2D.h 3 Jun 2006 22:47:03
-0000 1.2
@@ -34,6 +34,8 @@
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoStroke
(JNIEnv *env, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFill
(JNIEnv *env, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoClip
(JNIEnv *env, jobject);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip (JNIEnv *env,
jobject);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoPreserveClip (JNIEnv *env,
jobject);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter (JNIEnv *env,
jobject, jint);
#ifdef __cplusplus
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
===================================================================
RCS file:
/sources/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c 31 May 2006
23:25:13 -0000 1.5
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c 3 Jun 2006
22:47:03 -0000 1.6
@@ -590,11 +590,30 @@
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoClip
(JNIEnv *env, jobject obj)
{
- struct cairographics2d *gr = getPointer (env, obj);
+ struct cairographics2d *gr = getPointer( env, obj );
+ g_assert( gr != NULL );
+
+ cairo_clip( gr->cr );
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip
+ (JNIEnv *env, jobject obj)
+{
+ struct cairographics2d *gr = getPointer( env, obj );
+ g_assert (gr != NULL);
+
+ cairo_reset_clip( gr->cr );
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoPreserveClip
+(JNIEnv *env, jobject obj)
+{
+ struct cairographics2d *gr = getPointer( env, obj );
g_assert (gr != NULL);
- cairo_reset_clip (gr->cr);
- cairo_clip (gr->cr);
+ cairo_clip_preserve( gr->cr );
}
JNIEXPORT void JNICALL
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo...,
Sven de Marothy <=
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Sven de Marothy, 2006/06/04
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Mark Wielaard, 2006/06/07
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Sven de Marothy, 2006/06/09
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Mark Wielaard, 2006/06/11
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Roman Kennke, 2006/06/12
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Mark Wielaard, 2006/06/13
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Sven de Marothy, 2006/06/13
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., David Gilbert, 2006/06/15
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Lillian Angel, 2006/06/19
- [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo..., Lillian Angel, 2006/06/20