[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [cp-patches] FYI: GdkGraphics fix
From: |
Lillian Angel |
Subject: |
Re: [cp-patches] FYI: GdkGraphics fix |
Date: |
Tue, 22 Nov 2005 14:07:33 -0500 |
I added the code to filter out non-printing characters in native, like
Mark suggested. It is a lot more efficient.
2005-11-22 Lillian Angel <address@hidden>
PR 24937
* gnu/java/awt/peer/gtk/GdkGraphics.java
(drawString): Removed pattern matching code. This is now
done in native.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
(Java_gnu_java_awt_peer_gtk_GdkGraphics_drawString): Added
a loop to filter out all non-printing characters.
On Tue, 2005-11-22 at 09:37 -0500, Lillian Angel wrote:
> Robert was right about the regex. I have fixed it for now. I will work
> on putting the filtering of characters in the native code instead.
>
> 2005-11-22 Lillian Angel <address@hidden>
>
> * gnu/java/awt/peer/gtk/GdkGraphics.java
> (drawString): Fixed regex.
>
>
>
> On Tue, 2005-11-22 at 12:35 +0100, Robert Schuster wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Hi Lillian,
> > this broke text drawing considerably. All the spaces in labels, textfields
> > etc
> > are missing now.
> >
> > Lillian Angel wrote:
> > >> public class GdkGraphics extends Graphics
> > >> {
> > >>@@ -247,10 +247,13 @@
> > >> native void drawString (GdkFontPeer f, String str, int x, int y);
> > >> public void drawString (String str, int x, int y)
> > >> {
> > >>+ // FIXME: Possibly more characters we need to ignore/
> > >>+ // Also, implementation may be inefficent because allocating
> > >>+ // new Strings.
> >
> > The reason for this is here:
> >
> > >>+ str = Pattern.compile("[\b | \t | \n | \f | \r | \" |
> > >>\']").matcher(str).replaceAll("");
> >
> > I guess you added the spaces to let the regexp look a bit nicer but this
> > actually means that the expression will match space characters. The correct
> > expression would be: "[\b|\t|\n|\f|\r|\"|\']"
> >
> > Apart from that I think Mark is right here. Doing the filtering in C would
> > result in better performance. You could implement a special variant of the
> > JNI
> > function that makes Java Strings available as C strings and filter unwanted
> > characters in it.
> >
> > cya
> > Robert
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.4.1 (GNU/Linux)
> > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> >
> > iD8DBQFDgwKMG9cfwmwwEtoRAuc4AJ9vJz9to+lDFTchIs1qtPTOnwyoggCeJp5d
> > dFgnMuaS2/DCWKmYZMCP/Sk=
> > =z6rn
> > -----END PGP SIGNATURE-----
> _______________________________________________
> Classpath-patches mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/classpath-patches
patch.diff
Description: Text Data
- [cp-patches] RFC: GdkGraphics fix, Lillian Angel, 2005/11/21
- Re: [cp-patches] RFC: GdkGraphics fix, Thomas Fitzsimmons, 2005/11/21
- Re: [cp-patches] RFC: GdkGraphics fix, Lillian Angel, 2005/11/21
- Re: [cp-patches] FYI: GdkGraphics fix, Lillian Angel, 2005/11/21
- Re: [cp-patches] FYI: GdkGraphics fix, Mark Wielaard, 2005/11/21
- Message not available
- Re: [cp-patches] FYI: GdkGraphics fix, Lillian Angel, 2005/11/22
- Re: [cp-patches] FYI: GdkGraphics fix,
Lillian Angel <=
- Re: [cp-patches] FYI: GdkGraphics fix, Christian Thalinger, 2005/11/25
- Re: [cp-patches] FYI: GdkGraphics fix, Mark Wielaard, 2005/11/25
- Re: [cp-patches] FYI: GdkGraphics fix, Tom Tromey, 2005/11/25
- Re: [cp-patches] FYI: GdkGraphics fix, Lillian Angel, 2005/11/25
Re: [cp-patches] RFC: GdkGraphics fix, Tom Tromey, 2005/11/25