classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cp-patches] FYI: GdkGraphics fix


From: Robert Schuster
Subject: Re: [cp-patches] FYI: GdkGraphics fix
Date: Tue, 22 Nov 2005 12:35:40 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.7.12) Gecko/20051005

-----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-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]