From batikgavinpatel@example.net Wed Dec 01 09:24:25 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 25917 invoked from network); 1 Dec 2004 09:24:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 09:24:25 -0000 Received: (qmail 4259 invoked by uid 500); 1 Dec 2004 09:24:10 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 4155 invoked by uid 500); 1 Dec 2004 09:24:07 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 4108 invoked by uid 99); 1 Dec 2004 09:24:06 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from bounty.proveo.de (HELO Bounty.proveo.de) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 01:24:05 -0800 Received: by Bounty.proveo.de (Postfix, from userid 65534) id A295015A1E; Wed, 1 Dec 2004 10:23:56 +0100 (CET) Received: from nb154 (hanuta.proveo.int [83.161.120.155]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by Bounty.proveo.de (Postfix) with ESMTP id A7489159FB for <gavinpatel@example.net>; Wed, 1 Dec 2004 10:23:55 +0100 (CET) Message-ID: <gavinpatel@example.net> From: =?iso-8859-1?Q?Maik_Sch=FCrer?= <gavinpatel@example.net> To: "Batik Users" <gavinpatel@example.net> References: <gavinpatel@example.net> <gavinpatel@example.net> Subject: how to catch resize events in JSVGCanvas via shift + right mouse key Date: Wed, 1 Dec 2004 10:25:07 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on Bounty.proveo.de X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=ham version=2.63 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Hi there, up to now I catch resize events in JSVGCanvas with a ComponentListener. But it only works when the canvas (window) changes its size .... Additional I want to catch events, when I change my SVG view via shift + right mouse key + move (fast zoom in/out). Ho can I do this ? Thanks Maik --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 09:58:40 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 44652 invoked from network); 1 Dec 2004 09:58:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 09:58:40 -0000 Received: (qmail 74101 invoked by uid 500); 1 Dec 2004 09:58:32 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 74030 invoked by uid 500); 1 Dec 2004 09:58:31 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 73834 invoked by uid 99); 1 Dec 2004 09:58:25 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from alea.erlm.siemens.de (HELO alea.erlm.siemens.de) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 01:58:23 -0800 Received: from metropolis.erlm.siemens.de (metropolis.erlm.siemens.de [83.161.120.155]) by alea.erlm.siemens.de (Postfix) with ESMTP id 491E92A1F78 for <gavinpatel@example.net>; Wed, 1 Dec 2004 10:58:19 +0100 (CET) Received: from nbgh100a.nbg6.siemens.de (nbgh100a.nbg6.siemens.de [83.161.120.155]) by metropolis.erlm.siemens.de (Postfix) with ESMTP id 27B9A1629C9 for <gavinpatel@example.net>; Wed, 1 Dec 2004 10:58:19 +0100 (CET) Received: by nbgh100a.nbg6.siemens.de with Internet Mail Service (5.5.2657.72) id <X5FDNVTQ>; Wed, 1 Dec 2004 10:58:18 +0100 Message-ID: <gavinpatel@example.net> From: "Meves Kai (ext)" <gavinpatel@example.net> To: 'Batik Users' <gavinpatel@example.net> Subject: RE: how to catch resize events in JSVGCanvas via shift + right mo use key Date: Wed, 1 Dec 2004 10:58:17 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Hi Maik,=20 I think, what you want is scripting your SVG. Have a look at http://xml.apache.org/batik/javaScripting.html In the first example code, "click" and the "SVGload" actions on the JSVGCanvas are catched. For catching zoom-events you will need to add something like this: t.addEventListener("SVGZoom", new OnZoomAction(), false); and you will need to implement the OnZoomAction class, where you can = place the code you want to be executed on zoom actions. Remember, that if you = want to change the SVGDocument you have to do this in the UpdateManager = thread. Hope that helped, Kai. -----Original Message----- From: Maik Sch=FCrer [mailto:gavinpatel@example.net] Sent: Mittwoch, 1. Dezember 2004 10:25 To: Batik Users Subject: how to catch resize events in JSVGCanvas via shift + right mouse key Hi there, up to now I catch resize events in JSVGCanvas with a ComponentListener. But it only works when the canvas (window) changes its size .... Additional I want to catch events, when I change my SVG view via shift = + right mouse key + move (fast zoom in/out). Ho can I do this ? Thanks Maik --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 10:36:18 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 69301 invoked from network); 1 Dec 2004 10:36:17 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 10:36:17 -0000 Received: (qmail 49071 invoked by uid 500); 1 Dec 2004 10:36:14 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 49062 invoked by uid 500); 1 Dec 2004 10:36:13 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Delivered-To: moderator for gavinpatel@example.net Received: (qmail 69459 invoked by uid 99); 1 Dec 2004 09:57:01 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Subject: LGPL SVG Editor based on Batik 1.5.1 available at sourceFORGE From: Philippe GIL <gavinpatel@example.net> To: gavinpatel@example.net Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8-3mdk Date: 01 Dec 2004 10:56:22 +0100 Message-Id: <1101894982.2583.23.camel@popgi01> Mime-Version: 1.0 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Bonjour, A new SVG Editor using batik is now available. It has an LGPL license. It is available for download (runtime or source) at http://glipssvgeditor.sourceforge.net/ ITRIS (http://www.itris.fr) a small french company had developped for one of its products an SVG Editor based on the top class Batik toolkit. (thanks to the batik team for their great job). This editor (using a proprietary plugin implementing an additionnal namespace) is used to edit graphics that are animated by real time data and user actions. It's part of a SCADA/HMI application connected to Programmable Logic Controllers in industrial processes. A run-time application, (also based on batik) displays the animated SVG. Amicalement Philippe --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 10:51:49 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 77140 invoked from network); 1 Dec 2004 10:51:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 10:51:49 -0000 Received: (qmail 80439 invoked by uid 500); 1 Dec 2004 10:51:02 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 80354 invoked by uid 500); 1 Dec 2004 10:51:00 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 80306 invoked by uid 99); 1 Dec 2004 10:50:58 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gavinpatel@example.net designates 83.161.120.155 as permitted sender) Received: from smtp1.kodak.com (HELO smtp1.kodak.com) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 02:50:57 -0800 Received: from roc-us-e1000-109.kodak.com (roc-us-e1000-109.kodak.com [83.161.120.155]) by smtp1.kodak.com (8.11.3/8.11.1) with SMTP id iB1AonI08341 for <gavinpatel@example.net>; Wed, 1 Dec 2004 05:50:49 -0500 (EST) Received: from (83.161.120.155) by roc-us-e1000-109.kodak.com via smtp id 6193_406a93e4_4387_11d9_87f1_0002b3eef5d5; Wed, 01 Dec 2004 05:53:35 -0500 (EST) Message-ID: <gavinpatel@example.net> Date: Wed, 01 Dec 2004 05:50:49 -0500 From: Thomas DeWeese <gavinpatel@example.net> Organization: Eastman Kodak Company User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Batik Users <gavinpatel@example.net> Subject: Re: how to catch resize events in JSVGCanvas via shift + right mouse key References: <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> In-Reply-To: <gavinpatel@example.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Hi Maik, Maik Sch=FCrer wrote: > up to now I catch resize events in JSVGCanvas with a ComponentListener.= > But it only works when the canvas (window) changes its size .... Meves, gave a good answer to this using the DOM, which is definitely the preferred solution as the DOM interfaces are standard). There also exists an extension to the ComponentListener interface called the JGVTComponentListener which adds componentTransformChanged which is what the zoom event it built off of internally. > Additional I want to catch events, when I change my SVG view via shift = + > right mouse key + move (fast zoom in/out). > Ho can I do this ? There is no public interface for this. The only solution would be to subclass either the canvas so you get events when the 'paint transform' changes as well, or the AbstractImageZoomInteractor so it notifies you or does the work directly. Incidentally this indicates why the DOM is preferred. Now that you mention this I'm tempted to add either a new method to the JGVTComponentListener to track paint changes or perhaps a new event type (COMPONENT_PAINT_TRANSFORM_CHANGED). Which could break existing code (or at least cause the code to be called much more than expected). --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 13:15:20 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 67200 invoked from network); 1 Dec 2004 13:15:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 13:15:20 -0000 Received: (qmail 92862 invoked by uid 500); 1 Dec 2004 13:15:07 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 92808 invoked by uid 500); 1 Dec 2004 13:15:06 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 92597 invoked by uid 99); 1 Dec 2004 13:15:03 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from bounty.proveo.de (HELO Bounty.proveo.de) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 05:15:01 -0800 Received: by Bounty.proveo.de (Postfix, from userid 65534) id 7282E15AAB; Wed, 1 Dec 2004 14:14:54 +0100 (CET) Received: from nb154 (hanuta.proveo.int [83.161.120.155]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by Bounty.proveo.de (Postfix) with ESMTP id 0A9D715A0F for <gavinpatel@example.net>; Wed, 1 Dec 2004 14:14:53 +0100 (CET) Message-ID: <gavinpatel@example.net> From: =?iso-8859-1?Q?Maik_Sch=FCrer?= <gavinpatel@example.net> To: "Batik Users" <gavinpatel@example.net> References: <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> Subject: Re: how to catch resize events in JSVGCanvas via shift + right mouse key Date: Wed, 1 Dec 2004 14:16:03 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on Bounty.proveo.de X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=ham version=2.63 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Thanks Kai and Thomas, t.addEventListener("SVGZoom", new OnZoomAction(), false); and JGVTComponentListener.componentTransformChanged() both works fine for me but I would prefer EventListener "SVGZoom" because JGVTComponentListener ist also raised after pan and rotate. Or should I use JGVTComponentListener ? (because of performance or other reasons) Maik ----- Original Message ----- From: "Thomas DeWeese" <gavinpatel@example.net> To: "Batik Users" <gavinpatel@example.net> Sent: Wednesday, December 01, 2004 11:50 AM Subject: Re: how to catch resize events in JSVGCanvas via shift + right mouse key Hi Maik, Maik Schürer wrote: > up to now I catch resize events in JSVGCanvas with a ComponentListener. > But it only works when the canvas (window) changes its size .... Meves, gave a good answer to this using the DOM, which is definitely the preferred solution as the DOM interfaces are standard). There also exists an extension to the ComponentListener interface called the JGVTComponentListener which adds componentTransformChanged which is what the zoom event it built off of internally. > Additional I want to catch events, when I change my SVG view via shift + > right mouse key + move (fast zoom in/out). > Ho can I do this ? There is no public interface for this. The only solution would be to subclass either the canvas so you get events when the 'paint transform' changes as well, or the AbstractImageZoomInteractor so it notifies you or does the work directly. Incidentally this indicates why the DOM is preferred. Now that you mention this I'm tempted to add either a new method to the JGVTComponentListener to track paint changes or perhaps a new event type (COMPONENT_PAINT_TRANSFORM_CHANGED). Which could break existing code (or at least cause the code to be called much more than expected). --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 13:22:15 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 73047 invoked from network); 1 Dec 2004 13:22:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 13:22:15 -0000 Received: (qmail 10796 invoked by uid 500); 1 Dec 2004 13:21:57 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 10756 invoked by uid 500); 1 Dec 2004 13:21:56 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 10627 invoked by uid 99); 1 Dec 2004 13:21:54 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from bounty.proveo.de (HELO Bounty.proveo.de) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 05:21:53 -0800 Received: by Bounty.proveo.de (Postfix, from userid 65534) id 1C34615AAB; Wed, 1 Dec 2004 14:21:47 +0100 (CET) Received: from nb154 (unknown [83.161.120.155]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by Bounty.proveo.de (Postfix) with ESMTP id 364E815A0F for <gavinpatel@example.net>; Wed, 1 Dec 2004 14:21:47 +0100 (CET) Message-ID: <gavinpatel@example.net> From: =?iso-8859-1?Q?Maik_Sch=FCrer?= <gavinpatel@example.net> To: "Batik Users" <gavinpatel@example.net> References: <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> Subject: mouse actions in JSVGCanvas changeable or deactivate ? Date: Wed, 1 Dec 2004 14:22:52 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on Bounty.proveo.de X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=ham version=2.63 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N 1) ist it possible to change e.g. the grop/zoom mouse action in JSVGCanvas from "Ctrl+left" mouse to "left mouse" ? 2) ist it possible to deactivate e.g. the rotate mouse action in JSVGCanvas ("Ctrl+right" mouse) Maik --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 13:51:07 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 91463 invoked from network); 1 Dec 2004 13:51:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 13:51:07 -0000 Received: (qmail 73546 invoked by uid 500); 1 Dec 2004 13:51:00 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 73516 invoked by uid 500); 1 Dec 2004 13:51:00 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 73455 invoked by uid 99); 1 Dec 2004 13:50:59 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gavinpatel@example.net designates 83.161.120.155 as permitted sender) Received: from smtp1.kodak.com (HELO smtp1.kodak.com) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 05:50:56 -0800 Received: from roc-us-e1000-110.kodak.com (roc-us-e1000-110.kodak.com [83.161.120.155]) by smtp1.kodak.com (8.11.3/8.11.1) with SMTP id iB1DorI11692 for <gavinpatel@example.net>; Wed, 1 Dec 2004 08:50:53 -0500 (EST) Received: from (83.161.120.155) by roc-us-e1000-110.kodak.com via smtp id 1038_da6d7578_4365_11d9_9724_0002b3eef597; Wed, 01 Dec 2004 01:54:31 -0500 (EST) Message-ID: <gavinpatel@example.net> Date: Wed, 01 Dec 2004 08:50:54 -0500 From: Thomas DeWeese <gavinpatel@example.net> Organization: Eastman Kodak Company User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Batik Users <gavinpatel@example.net> Subject: Re: how to catch resize events in JSVGCanvas via shift + right mouse key References: <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> In-Reply-To: <gavinpatel@example.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Maik Sch=FCrer wrote: > Thanks Kai and Thomas, > t.addEventListener("SVGZoom", new OnZoomAction(), false); > and > JGVTComponentListener.componentTransformChanged() > both works fine for me > but I would prefer EventListener "SVGZoom" because JGVTComponentListene= r ist > also raised after pan and rotate. > Or should I use JGVTComponentListener ? (because of performance or othe= r > reasons) I would choose based on what I was trying to do. If I was doing 'swing' things I would use the Component Listener (since it is called in the Swing thread), if it was DOM things I would use the DOM method since it is called in the UpdateManager Thread. If it really didn't matter then I would probably use the DOM because as I said they are standard and hence much less likely to change. As to performance they will be similar. You can filter the changes by using the code from JSVGComponent.JSVGComponentListener which is what dispatches the DOM zoom event. > Maik >=20 > ----- Original Message -----=20 > From: "Thomas DeWeese" <gavinpatel@example.net> > To: "Batik Users" <gavinpatel@example.net> > Sent: Wednesday, December 01, 2004 11:50 AM > Subject: Re: how to catch resize events in JSVGCanvas via shift + right= > mouse key >=20 >=20 > Hi Maik, >=20 > Maik Sch=FCrer wrote: >=20 >=20 >>up to now I catch resize events in JSVGCanvas with a ComponentListener.= >>But it only works when the canvas (window) changes its size .... >=20 >=20 > Meves, gave a good answer to this using the DOM, which is > definitely the preferred solution as the DOM interfaces are standard). > There also exists an extension to the ComponentListener interface > called the JGVTComponentListener which adds componentTransformChanged > which is what the zoom event it built off of internally. >=20 >=20 >>Additional I want to catch events, when I change my SVG view via shift = + >>right mouse key + move (fast zoom in/out). >>Ho can I do this ? >=20 >=20 > There is no public interface for this. The only solution would > be to subclass either the canvas so you get events when the 'paint > transform' changes as well, or the AbstractImageZoomInteractor so it > notifies you or does the work directly. >=20 > Incidentally this indicates why the DOM is preferred. Now that > you mention this I'm tempted to add either a new method to the > JGVTComponentListener to track paint changes or perhaps a new > event type (COMPONENT_PAINT_TRANSFORM_CHANGED). Which could break > existing code (or at least cause the code to be called much more > than expected). >=20 >=20 > --------------------------------------------------------------------- > To unsubscribe, e-mail: gavinpatel@example.net > For additional commands, e-mail: gavinpatel@example.net >=20 >=20 >=20 > --------------------------------------------------------------------- > To unsubscribe, e-mail: gavinpatel@example.net > For additional commands, e-mail: gavinpatel@example.net >=20 --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 13:57:22 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 95987 invoked from network); 1 Dec 2004 13:57:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 13:57:21 -0000 Received: (qmail 94888 invoked by uid 500); 1 Dec 2004 13:57:04 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 94814 invoked by uid 500); 1 Dec 2004 13:57:02 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 94530 invoked by uid 99); 1 Dec 2004 13:56:57 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gavinpatel@example.net designates 83.161.120.155 as permitted sender) Received: from smtp1.kodak.com (HELO smtp1.kodak.com) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 05:56:54 -0800 Received: from roc-us-e1000-110.kodak.com (roc-us-e1000-110.kodak.com [83.161.120.155]) by smtp1.kodak.com (8.11.3/8.11.1) with SMTP id iB1DuSI13832 for <gavinpatel@example.net>; Wed, 1 Dec 2004 08:56:28 -0500 (EST) Received: from (83.161.120.155) by roc-us-e1000-110.kodak.com via smtp id 58c9_a1d79fc6_4366_11d9_868e_0002b3eef597; Wed, 01 Dec 2004 02:00:06 -0500 (EST) Message-ID: <gavinpatel@example.net> Date: Wed, 01 Dec 2004 08:56:29 -0500 From: Thomas DeWeese <gavinpatel@example.net> Organization: Eastman Kodak Company User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Batik Users <gavinpatel@example.net> Subject: Re: mouse actions in JSVGCanvas changeable or deactivate ? References: <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> In-Reply-To: <gavinpatel@example.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Hi Maik, Maik Sch=FCrer wrote: > 1) ist it possible to change e.g. the grop/zoom mouse action in JSVGCan= vas > from "Ctrl+left" mouse to "left mouse" ? > 2) ist it possible to deactivate e.g. the rotate mouse action in JSVGCa= nvas > ("Ctrl+right" mouse) These are all provided by the JSVGCanvas. The JSVGCanvas is a "light weight" subclass of JSVGComponent that simply tries to provide some basic interaction. It does two major things. 1) It provides all the interactors for pan, zoom, rotate. 2) It provides tool-tip support. You have two routes you could go here. 1) subclass JSVGCanvas and use the setEnable...Interactor to turn off the interactors you didn't like, and just install your own. 2) subclass JSVGComponent and provide your own interactors keybindings etc. While there is a fair bit of code in JSVGCanvas it is all pretty simple interface stuff. --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 14:55:34 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 45670 invoked from network); 1 Dec 2004 14:55:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 14:55:34 -0000 Received: (qmail 57247 invoked by uid 500); 1 Dec 2004 14:54:37 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 57206 invoked by uid 500); 1 Dec 2004 14:54:36 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 57157 invoked by uid 99); 1 Dec 2004 14:54:35 -0000 X-ASF-Spam-Status: No, hits=0.5 required=10.0 tests=FORGED_RCVD_HELO,HTML_90_100,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from mail11.cooperworld.net (HELO fa0008.findlay.tire.cooperintra.ctb) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 06:54:34 -0800 Received: by mail11.cooperworld.net with Internet Mail Service (5.5.2657.72) id <X5NPGJ8Q>; Wed, 1 Dec 2004 09:55:43 -0500 Message-ID: <gavinpatel@example.net> From: "Tang, Charlie Y." <gavinpatel@example.net> To: gavinpatel@example.net Subject: java.lang.OutOfMemoryError Date: Wed, 1 Dec 2004 09:55:36 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C4D7B5.D4B4AF00" X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N ------_=_NextPart_001_01C4D7B5.D4B4AF00 Content-Type: text/plain; charset="iso-8859-1" Hi I have a problem of OutofMemoryError when updating my screen continuously every second after about a day or so Below is the thread that does all the updating /** * This thread will take care of updating the Dom structure * and the object */ public class RunUpdate extends Thread { int delay; private boolean threadSuspended; RunnableUpdate ru = new RunnableUpdate(); RunUpdate(int d) { delay = d; threadSuspended = false; } public synchronized void pausethread() { if(!threadSuspended){ threadSuspended = true; notify(); } } public synchronized void resumethread() { if(threadSuspended){ threadSuspended = false; notify(); } } public void run(){ while (true) { try { if (threadSuspended) { synchronized(this) { while (threadSuspended) wait(); } } //Need by Batik inorder to refresh the svg canvas Thread.sleep (delay); um = svgc.getUpdateManager(); System.gc(); um.getUpdateRunnableQueue().invokeAndWait(ru); } catch (InterruptedException e){ System.out.println("RunUpdate over"); }catch (java.lang.OutOfMemoryError err ){ //in case of memory error System.exit(1); } } } public class RunnableUpdate implements Runnable { public void run(){ update(); //method to update the dom structure } } } I'm guessing the problem is the RunnableUpdate ru added to the RunnableQueue causes a RunnableQueue.Link object to be created to link to every Runnable Update And that does not get deleted eventhough there is only one instances of RunnableUpdate and that's ru. ? is there a way to update my screen continuously and indefinately? Thanks a lot Charlie Tang ------_=_NextPart_001_01C4D7B5.D4B4AF00 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <html> <head> <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Diso-8859-1"> <meta name=3DGenerator content=3D"Microsoft Word 11 (filtered)"> <style> <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:10.0pt; font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline;} span.emailstyle17 {font-family:Arial; color:windowtext;} span.EmailStyle18 {font-family:Arial; color:navy;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in;} div.Section1 {page:Section1;} --> </style> </head> <body lang=3DEN-US link=3Dblue vlink=3Dpurple> <div class=3DSection1> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>Hi</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>I have a problem of OutofMemoryError when updating = my screen continuously every second after about a day or so</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>Below is the thread that does all the = updating</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>/**</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;* This thread will take care of updating the Dom structure = </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;* and the object </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; public class RunUpdate extends Thread</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; int delay;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; private boolean threadSuspended;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; RunnableUpdate ru =3D new RunnableUpdate();</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; RunUpdate(int d)</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; delay =3D d;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; threadSuspended =3D false;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; public synchronized void pausethread()</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; if(!threadSuspended){</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; threadSuspended =3D true;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; notify();</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; public synchronized void resumethread()</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; if(threadSuspended){</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; threadSuspended =3D false;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; notify();</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; public void run(){</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-siz= e:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (true) = {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp; if (threadSuspended) {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; synchronized(this) {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (threadSuspended)</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp; wait(); </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp; //Need by Batik inorder to refresh the svg canvas</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thread.sleep (delay);</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; um =3D svgc.getUpdateManager();</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.gc();&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; um.getUpdateRunnableQueue().invokeAndWait(ru);&nbsp;&nbsp;&nbsp;&nbsp;&n= bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } = catch (InterruptedException e){</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; System.out.println(&quot;RunUpdate over&quot;);</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = }catch (java.lang.OutOfMemoryError err ){ //in case of memory = error</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.exit(1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb= sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb= sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb= sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb= sp;&nbsp;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; public class RunnableUpdate implements Runnable</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; {</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; public void run(){ = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; update();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb= sp; //method to update the dom structure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; = </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>I&#8217;m guessing the problem is the RunnableUpdate = ru added to the RunnableQueue causes a RunnableQueue.Link object to be = created to link to every Runnable Update</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>And that does not get deleted eventhough there is = only one instances of RunnableUpdate and that&#8217;s ru. ? is there a way to = update my screen continuously and indefinately?</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>Thanks a lot</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>&nbsp;</span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt; font-family:Arial'>Charlie Tang</span></font></p> </div> </body> </html> ------_=_NextPart_001_01C4D7B5.D4B4AF00-- From batikgavinpatel@example.net Wed Dec 01 15:02:21 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 51610 invoked from network); 1 Dec 2004 15:02:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 15:02:21 -0000 Received: (qmail 76594 invoked by uid 500); 1 Dec 2004 15:00:14 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 76573 invoked by uid 500); 1 Dec 2004 15:00:14 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 76551 invoked by uid 99); 1 Dec 2004 15:00:13 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: unknown (hermes.apache.org: error in processing during lookup of gavinpatel@example.net) Received: from mxsf02.cluster1.charter.net (HELO mxsf02.cluster1.charter.net) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 07:00:11 -0800 Received: from mxip20.cluster1.charter.net (mxip20a.cluster1.charter.net [83.161.120.155]) by mxsf02.cluster1.charter.net (8.12.11/8.12.11) with ESMTP id iB1F05dX023375 for <gavinpatel@example.net>; Wed, 1 Dec 2004 10:00:08 -0500 Received: from cable-68-113-94-164.mtv.al.charter.com (HELO InterJet.dellroad.org) (83.161.120.155) by mxip20.cluster1.charter.net with ESMTP; 01 Dec 2004 10:00:06 -0500 X-Ironport-AV: i="3.87,119,1099285200"; d="scan'208"; a="547797868:sNHT36588192" Received: from arch20m.dellroad.org (arch20m.dellroad.org [83.161.120.155]) by InterJet.dellroad.org (8.9.1a/8.9.1) with ESMTP id IAA04857 for <gavinpatel@example.net>; Wed, 1 Dec 2004 08:52:34 -0600 (CST) Received: from [83.161.120.155] (localhost [83.161.120.155]) by arch20m.dellroad.org (8.12.9p2/8.12.6) with ESMTP id iB1EqXNj046692 for <gavinpatel@example.net>; Wed, 1 Dec 2004 08:52:33 -0600 (CST) (envelope-from gavinpatel@example.net) Message-ID: <gavinpatel@example.net> Date: Wed, 01 Dec 2004 08:52:33 -0600 From: Archie Cobbs <gavinpatel@example.net> User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.3) Gecko/20041129 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Batik Users <gavinpatel@example.net> Subject: Re: mouse actions in JSVGCanvas changeable or deactivate ? References: <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> <gavinpatel@example.net> In-Reply-To: <gavinpatel@example.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Maik Sch=FCrer wrote: > 1) ist it possible to change e.g. the grop/zoom mouse action in JSVGCan= vas > from "Ctrl+left" mouse to "left mouse" ? > 2) ist it possible to deactivate e.g. the rotate mouse action in JSVGCa= nvas > ("Ctrl+right" mouse) Here's what we do (abridged for clarity :-). We just want pan and zoom, using button1 and shift-button1, respectively... // Disable default interactors svgCanvas.setEnableImageZoomInteractor(false); svgCanvas.setEnablePanInteractor(false); svgCanvas.setEnableResetTransformInteractor(false); svgCanvas.setEnableRotateInteractor(false); svgCanvas.setEnableZoomInteractor(false); // Add my pan and zoom interactors svgCanvas.getInteractors().add(new PanInteractor()); svgCanvas.getInteractors().add(new ZoomInteractor()); =2E.. class PanInteractor extends AbstractPanInteractor { public boolean startInteraction(InputEvent ie) { if (!(ie instanceof MouseEvent)) return false; MouseEvent me =3D (MouseEvent)ie; return me.getID() =3D=3D MouseEvent.MOUSE_PRESSED && (me.getModifiersEx() & MouseEvent.SHIFT_DOWN_MASK) =3D=3D= 0 && me.getButton() =3D=3D MouseEvent.BUTTON1; } } Our custom ZoomInteractor is similar. -Archie _________________________________________________________________________= _ Archie Cobbs * CTO, Awarix * http://www.awarix.co= m --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 15:06:50 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 54980 invoked from network); 1 Dec 2004 15:06:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 15:06:50 -0000 Received: (qmail 96066 invoked by uid 500); 1 Dec 2004 15:06:43 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 96042 invoked by uid 500); 1 Dec 2004 15:06:42 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 96028 invoked by uid 99); 1 Dec 2004 15:06:42 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gavinpatel@example.net designates 83.161.120.155 as permitted sender) Received: from main.gmane.org (HELO main.gmane.org) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 07:06:40 -0800 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1CZW3x-00009U-00 for <gavinpatel@example.net>; Wed, 01 Dec 2004 16:06:37 +0100 Received: from imladris.terrasel.de ([83.161.120.155]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for <gavinpatel@example.net>; Wed, 01 Dec 2004 16:06:37 +0100 Received: from jh by imladris.terrasel.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for <gavinpatel@example.net>; Wed, 01 Dec 2004 16:06:37 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: gavinpatel@example.net From: Jorg Heymans <gavinpatel@example.net> Subject: Re: xlink:href and factory.createSVGDocument Date: Wed, 01 Dec 2004 16:07:15 +0100 Lines: 32 Message-ID: <gavinpatel@example.net> References: <gavinpatel@example.net> <gavinpatel@example.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: gavinpatel@example.net X-Gmane-NNTP-Posting-Host: imladris.terrasel.de User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103) X-Accept-Language: en-us, en In-Reply-To: <gavinpatel@example.net> Sender: news <gavinpatel@example.net> X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Hi Thomas, I was adding in the <defs> element also dynamically (or so I thought). Works like a charm , sorry for the noise. Regards Jorg Thomas DeWeese wrote: > Hi Jorg, > > Well, if everything is working right, it shouldn't matter > what the base URI is for local references (like #logo). If > it does it is likely a bug and I would be interested in seeing the > stackTrace or a reproducible test case. > > Jorg Heymans wrote: > >> Up until now, i always created my documents dynamically using >> factory.createSVGDocument("jar:file:///foo.jar!/bar.svg", inputstream) >> , so basically using a non existing but valid URI and an inputstream. >> >> I'm running into problems now when referencing def elements eg >> <use x="10" xlink:href="#logo" y="10"/> >> >> Now i can sort of guess why this is happening, the renderer tries to >> resolve the URL relative to the document URI (which is foobar). >> What would be a sensible URI to put into the createSVGDocument() then? >> Is this URI resolved at load time? Or does it not matter what I put >> in, as long as the xlink:href use the same prefix? --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 15:17:14 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 65406 invoked from network); 1 Dec 2004 15:17:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 15:17:13 -0000 Received: (qmail 22182 invoked by uid 500); 1 Dec 2004 15:14:21 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 22128 invoked by uid 500); 1 Dec 2004 15:14:20 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 22079 invoked by uid 99); 1 Dec 2004 15:14:20 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gavinpatel@example.net designates 83.161.120.155 as permitted sender) Received: from smtp1.kodak.com (HELO smtp1.kodak.com) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 07:14:18 -0800 Received: from roc-us-e1000-109.kodak.com (roc-us-e1000-109.kodak.com [83.161.120.155]) by smtp1.kodak.com (8.11.3/8.11.1) with SMTP id iB1FEFI19406 for <gavinpatel@example.net>; Wed, 1 Dec 2004 10:14:15 -0500 (EST) Received: from (83.161.120.155) by roc-us-e1000-109.kodak.com via smtp id 4daf_0e395778_43ac_11d9_97d9_0002b3eef5d5; Wed, 01 Dec 2004 10:17:03 -0500 (EST) Message-ID: <gavinpatel@example.net> Date: Wed, 01 Dec 2004 10:14:15 -0500 From: Thomas DeWeese <gavinpatel@example.net> Organization: Eastman Kodak Company User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Batik Users <gavinpatel@example.net> Subject: Re: java.lang.OutOfMemoryError References: <gavinpatel@example.net> In-Reply-To: <gavinpatel@example.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Tang, Charlie Y. wrote: > I have a problem of OutofMemoryError when updating my screen=20 > continuously every second after about a day or so I don't know if the system has been stress tested to this extent . Every update involves a fair amount of code. Someone is obviously holding onto something but I don't know what. What version of Batik are you using? What sorts of updates are you doing? (text, shapes, fill colors, fill gradients, transforms, etc). > I=92m guessing the problem is the RunnableUpdate ru added to the=20 > RunnableQueue causes a RunnableQueue.Link object to be created to link = > to every Runnable Update This is probably not the problem (I looked at the code it is, at least on the face of it unlinking the nodes). It is probably something much deeper in Batik. > And that does not get deleted eventhough there is only one instances of= =20 > RunnableUpdate and that=92s ru. ? is there a way to update my screen=20 > continuously and indefinately? It should just work. The only real way to find the problem would be to use a tool like JProbe which has pretty good tools for identifying garbage that is collecting over time. I'm willing to work with you on this, but I don't have access to JProbe or any other "real" memory debugging tool for Java right now. --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 15:33:13 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 76187 invoked from network); 1 Dec 2004 15:33:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 15:33:12 -0000 Received: (qmail 85229 invoked by uid 500); 1 Dec 2004 15:30:33 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 85208 invoked by uid 500); 1 Dec 2004 15:30:33 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 85173 invoked by uid 99); 1 Dec 2004 15:30:32 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: unknown (hermes.apache.org: error in processing during lookup of gavinpatel@example.net) Received: from mxsf01.cluster1.charter.net (HELO mxsf01.cluster1.charter.net) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 07:30:21 -0800 Received: from mxip10.cluster1.charter.net (mxip10a.cluster1.charter.net [83.161.120.155]) by mxsf01.cluster1.charter.net (8.12.11/8.12.11) with ESMTP id iB1FU3Qr001852 for <gavinpatel@example.net>; Wed, 1 Dec 2004 10:30:03 -0500 Received: from cable-68-113-94-164.mtv.al.charter.com (HELO InterJet.dellroad.org) (83.161.120.155) by mxip10.cluster1.charter.net with ESMTP; 01 Dec 2004 10:30:02 -0500 X-Ironport-AV: i="3.87,119,1099285200"; d="scan'208"; a="459659835:sNHT36816890" Received: from arch20m.dellroad.org (arch20m.dellroad.org [83.161.120.155]) by InterJet.dellroad.org (8.9.1a/8.9.1) with ESMTP id JAA05217 for <gavinpatel@example.net>; Wed, 1 Dec 2004 09:23:00 -0600 (CST) Received: from [83.161.120.155] (localhost [83.161.120.155]) by arch20m.dellroad.org (8.12.9p2/8.12.6) with ESMTP id iB1FN0Nj047238 for <gavinpatel@example.net>; Wed, 1 Dec 2004 09:23:00 -0600 (CST) (envelope-from gavinpatel@example.net) Message-ID: <gavinpatel@example.net> Date: Wed, 01 Dec 2004 09:22:59 -0600 From: Archie Cobbs <gavinpatel@example.net> User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.3) Gecko/20041129 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Batik Users <gavinpatel@example.net> Subject: Re: java.lang.OutOfMemoryError References: <gavinpatel@example.net> <gavinpatel@example.net> In-Reply-To: <gavinpatel@example.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Tang, Charlie Y. wrote: > I have a problem of OutofMemoryError when updating my screen > continuously every second after about a day or so Try running your application with JMP installed. When the memory gets full, sort the heap by type of object to see which class has all the instances filling up the heap. http://www.khelekore.org/jmp/ E.g.: java -Xrunjmp:nomethods ... -Archie __________________________________________________________________________ Archie Cobbs * CTO, Awarix * http://www.awarix.com --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 15:39:54 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 81387 invoked from network); 1 Dec 2004 15:39:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 15:39:54 -0000 Received: (qmail 1525 invoked by uid 500); 1 Dec 2004 15:34:25 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 1515 invoked by uid 500); 1 Dec 2004 15:34:25 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 1447 invoked by uid 99); 1 Dec 2004 15:34:22 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from mail11.cooperworld.net (HELO fa0008.findlay.tire.cooperintra.ctb) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 07:34:21 -0800 Received: by mail11.cooperworld.net with Internet Mail Service (5.5.2657.72) id <X5NPGL34>; Wed, 1 Dec 2004 10:29:45 -0500 Message-ID: <gavinpatel@example.net> From: "Tang, Charlie Y." <gavinpatel@example.net> To: Batik Users <gavinpatel@example.net> Subject: RE: java.lang.OutOfMemoryError Date: Wed, 1 Dec 2004 10:29:48 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain; charset="iso-8859-1" X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Thomas, thanks for the reply >> I have a problem of OutofMemoryError when updating my screen >> continuously every second after about a day or so > I don't know if the system has been stress tested to >this extent . Every update involves a fair amount of code. >Someone is obviously holding onto something but I don't know what. >What version of Batik are you using? What sorts of updates are you >doing? (text, shapes, fill colors, fill gradients, transforms, etc). I'm changing text, make elements flash on and off, and translating the object by modifying the transform attribute. >> I'm guessing the problem is the RunnableUpdate ru added to the >> RunnableQueue causes a RunnableQueue.Link object to be created to link >> to every Runnable Update > This is probably not the problem (I looked at the code it >is, at least on the face of it unlinking the nodes). It is probably >something much deeper in Batik. >> And that does not get deleted eventhough there is only one instances of >> RunnableUpdate and that's ru. ? is there a way to update my screen >> continuously and indefinately? > It should just work. The only real way to find the problem >would be to use a tool like JProbe which has pretty good tools >for identifying garbage that is collecting over time. I'm >willing to work with you on this, but I don't have access to >JProbe or any other "real" memory debugging tool for Java right now. I've used JProbe on my program,when I used InvokeLater instead of InvokeAndWait, the problem was even worse, my program would crash after about 10 hours. The RunnableQueue$Link object count increased everytime updates were called. After using InvokeAndWait(), it seems to work better, but occasionally went out of memory also. Thanks Charlie Tang --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 16:28:15 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 21773 invoked from network); 1 Dec 2004 16:28:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 16:28:15 -0000 Received: (qmail 11082 invoked by uid 500); 1 Dec 2004 16:28:04 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 11051 invoked by uid 500); 1 Dec 2004 16:28:03 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 10959 invoked by uid 99); 1 Dec 2004 16:28:02 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gavinpatel@example.net designates 83.161.120.155 as permitted sender) Received: from smtp1.kodak.com (HELO smtp1.kodak.com) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 08:28:00 -0800 Received: from roc-us-e1000-109.kodak.com (roc-us-e1000-109.kodak.com [83.161.120.155]) by smtp1.kodak.com (8.11.3/8.11.1) with SMTP id iB1GRvC22601 for <gavinpatel@example.net>; Wed, 1 Dec 2004 11:27:57 -0500 (EST) Received: from (83.161.120.155) by roc-us-e1000-109.kodak.com via smtp id 3588_59ee923c_43b6_11d9_9b6f_0002b3eef5d5; Wed, 01 Dec 2004 11:30:45 -0500 (EST) Message-ID: <gavinpatel@example.net> Date: Wed, 01 Dec 2004 11:27:57 -0500 From: Thomas DeWeese <gavinpatel@example.net> Organization: Eastman Kodak Company User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Batik Users <gavinpatel@example.net> Subject: Re: java.lang.OutOfMemoryError References: <gavinpatel@example.net> In-Reply-To: <gavinpatel@example.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Tang, Charlie Y. wrote: > I've used JProbe on my program,when I used InvokeLater instead of > InvokeAndWait, the problem was even worse, my program would crash after > about 10 hours. The RunnableQueue$Link object count increased everytime > updates were called. Who is holding references to the Link Objects? > After using InvokeAndWait(), it seems to work > better, but occasionally went out of memory also. Is there any chance that you are adding runnables faster than they could be cleared? --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Wed Dec 01 16:56:11 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 38333 invoked from network); 1 Dec 2004 16:56:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Dec 2004 16:56:09 -0000 Received: (qmail 85401 invoked by uid 500); 1 Dec 2004 16:55:28 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 85384 invoked by uid 500); 1 Dec 2004 16:55:28 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post: <mailto:gavinpatel@example.net> Reply-To: "Batik Users" <gavinpatel@example.net> Delivered-To: mailing list gavinpatel@example.net Received: (qmail 85312 invoked by uid 99); 1 Dec 2004 16:55:27 -0000 X-ASF-Spam-Status: No, hits=2.7 required=10.0 tests=FROM_ALL_NUMS,FROM_ENDS_IN_NUMS,RCVD_BY_IP,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of gavinpatel@example.net designates 83.161.120.155 as permitted sender) Received: from wproxy.gmail.com (HELO wproxy.gmail.com) (83.161.120.155) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 01 Dec 2004 08:55:25 -0800 Received: by wproxy.gmail.com with SMTP id 67so160820wri for <gavinpatel@example.net>; Wed, 01 Dec 2004 08:55:22 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=Bu4dZ6tDc4bJUzW0U17edmRJIsx2RvG7DGsUrFhS+Dz5LMsCxO3cQ+QbSPzNr91YUY7u3IgcDuNDHwp1aJdt1W6wsg17JOymymiTbYd9nfFf0M5DKjj3Yp0iNrjXHZNu4U3zQIj5IBiQnqyj7Ux4RHEHqzaHJIeWr4nHPTN+IN8= Received: by 83.161.120.155 with SMTP id 77mr789218wrc; Wed, 01 Dec 2004 08:55:22 -0800 (PST) Received: by 83.161.120.155 with HTTP; Wed, 1 Dec 2004 08:55:22 -0800 (PST) Message-ID: <gavinpatel@example.net> Date: Wed, 1 Dec 2004 11:55:22 -0500 From: 0 8 <gavinpatel@example.net> Reply-To: 0 8 <gavinpatel@example.net> To: Batik Users <gavinpatel@example.net> Subject: Re: java.lang.OutOfMemoryError In-Reply-To: <gavinpatel@example.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <gavinpatel@example.net> X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Not sure if it's completely relevant, but nearly every time I've run into the out of memory error in a non-production environment, I've always boosted the memory allocation using -Xms and -Xmx. See http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html for more. Not a best practice, I'm sure, but it has worked... On Wed, 1 Dec 2004 09:55:36 -0500, Tang, Charlie Y. <gavinpatel@example.net> wrote: > > > > Hi > > > > I have a problem of OutofMemoryError when updating my screen continuously > every second after about a day or so > > > > > > Below is the thread that does all the updating > > /** > > * This thread will take care of updating the Dom structure > > * and the object > > */ > > public class RunUpdate extends Thread > > { > > int delay; > > private boolean threadSuspended; > > RunnableUpdate ru = new RunnableUpdate(); > > > > RunUpdate(int d) > > { > > delay = d; > > threadSuspended = false; > > } > > > > public synchronized void pausethread() > > { > > if(!threadSuspended){ > > threadSuspended = true; > > notify(); > > } > > > > } > > public synchronized void resumethread() > > { > > if(threadSuspended){ > > threadSuspended = false; > > notify(); > > } > > } > > > > > > public void run(){ > > > > > > while (true) { > > try { > > > > if (threadSuspended) { > > synchronized(this) { > > while (threadSuspended) > > wait(); > > } > > } > > //Need by Batik inorder to refresh the svg canvas > > Thread.sleep (delay); > > um = svgc.getUpdateManager(); > > System.gc(); > > > > > um.getUpdateRunnableQueue().invokeAndWait(ru); > > > > } catch (InterruptedException e){ > > System.out.println("RunUpdate over"); > > }catch (java.lang.OutOfMemoryError err ){ //in case > of memory error > > System.exit(1); > > > } > > } > > } > > > > public class RunnableUpdate implements Runnable > > { > > public void run(){ > > update(); > //method to update the dom structure > > } > > } > > } > > > > > > I'm guessing the problem is the RunnableUpdate ru added to the RunnableQueue > causes a RunnableQueue.Link object to be created to link to every Runnable > Update > > And that does not get deleted eventhough there is only one instances of > RunnableUpdate and that's ru. ? is there a way to update my screen > continuously and indefinately? > > Thanks a lot > > > > Charlie Tang --------------------------------------------------------------------- To unsubscribe, e-mail: gavinpatel@example.net For additional commands, e-mail: gavinpatel@example.net From batikgavinpatel@example.net Thu Dec 02 09:51:16 2004 Return-Path: <batikgavinpatel@example.net> Delivered-To: gavinpatel@example.net Received: (qmail 98012 invoked from network); 2 Dec 2004 09:51:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 2 Dec 2004 09:51:16 -0000 Received: (qmail 93414 invoked by uid 500); 2 Dec 2004 09:51:11 -0000 Delivered-To: gavinpatel@example.net Received: (qmail 93392 invoked by uid 500); 2 Dec 2004 09:51:11 -0000 Mailing-List: contact gavinpatel@example.net; run by ezmlm Precedence: bulk list-help: <mailto:gavinpatel@example.net> list-unsubscribe: <mailto:gavinpatel@example.net> list-post:
{'source': 'Apache Software Foundation Public Mail Archives'}