deweese 2003/08/13 04:01:17 Modified: samples/tests/spec/scripting currentScaleTranslate.svg sources/org/apache/batik/bridge SVGImageElementBridge.java sources/org/apache/batik/ext/awt/image/rendered AbstractTiledRed.java sources/org/apache/batik/swing/gvt JGVTComponent.java sources/org/apache/batik/swing/svg JSVGComponent.java sources/org/apache/batik/util SVGConstants.java Log: 1) Image elements now propogate all UI event types. 2) Better prevention of non-computed tiles being put in Tile Cache 3) Swing components now use visibleRect rather than bounds for visible area. Revision Changes Path 1.3 +3 -3 xml-batik/samples/tests/spec/scripting/currentScaleTranslate.svg Index: currentScaleTranslate.svg =================================================================== RCS file: /home/cvs/xml-batik/samples/tests/spec/scripting/currentScaleTranslate.svg,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- currentScaleTranslate.svg 8 Aug 2003 11:39:33 -0000 1.2 +++ currentScaleTranslate.svg 13 Aug 2003 11:01:16 -0000 1.3 @@ -53,9 +53,9 @@ --> <!-- ====================================================================== --> -<!-- append child test --> +<!-- Test of getting/setting current Scale and Translate. --> <!-- --> -<!-- @author [EMAIL PROTECTED] --> +<!-- @author [EMAIL PROTECTED] --> <!-- @version $Id$ --> <!-- ====================================================================== --> 1.59 +26 -8 xml-batik/sources/org/apache/batik/bridge/SVGImageElementBridge.java Index: SVGImageElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGImageElementBridge.java,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- SVGImageElementBridge.java 8 Aug 2003 11:38:51 -0000 1.58 +++ SVGImageElementBridge.java 13 Aug 2003 11:01:16 -0000 1.59 @@ -597,16 +597,34 @@ // to the <image> element (inside the original document). if (ctx.isInteractive()) { EventListener listener = new ForwardEventListener(svgElement, e); - EventTarget target = (EventTarget)svgElement; + EventTarget tgt = (EventTarget)svgElement; - target.addEventListener(SVG_EVENT_CLICK, listener, false); - ctx.storeEventListener(target, SVG_EVENT_CLICK, listener, false); + tgt.addEventListener(SVG_EVENT_CLICK, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_CLICK, listener, false); - target.addEventListener(SVG_EVENT_MOUSEOVER, listener, false); - ctx.storeEventListener(target, SVG_EVENT_MOUSEOVER, listener,false); + tgt.addEventListener(SVG_EVENT_KEYDOWN, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_KEYDOWN, listener, false); - target.addEventListener(SVG_EVENT_MOUSEOUT, listener, false); - ctx.storeEventListener(target, SVG_EVENT_MOUSEOUT, listener, false); + tgt.addEventListener(SVG_EVENT_KEYPRESS, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_KEYPRESS, listener, false); + + tgt.addEventListener(SVG_EVENT_KEYUP, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_KEYUP, listener, false); + + tgt.addEventListener(SVG_EVENT_MOUSEDOWN, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_MOUSEDOWN, listener,false); + + tgt.addEventListener(SVG_EVENT_MOUSEMOVE, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_MOUSEMOVE, listener,false); + + tgt.addEventListener(SVG_EVENT_MOUSEOUT, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_MOUSEOUT, listener, false); + + tgt.addEventListener(SVG_EVENT_MOUSEOVER, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_MOUSEOVER, listener,false); + + tgt.addEventListener(SVG_EVENT_MOUSEUP, listener, false); + ctx.storeEventListener(tgt, SVG_EVENT_MOUSEUP, listener, false); } return result; 1.17 +4 -1 xml-batik/sources/org/apache/batik/ext/awt/image/rendered/AbstractTiledRed.java Index: AbstractTiledRed.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/ext/awt/image/rendered/AbstractTiledRed.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- AbstractTiledRed.java 8 Aug 2003 11:39:07 -0000 1.16 +++ AbstractTiledRed.java 13 Aug 2003 11:01:16 -0000 1.17 @@ -463,6 +463,9 @@ // e.printStackTrace(); } + if (Thread.currentThread().isInterrupted()) + return; + idx = 0; // Fill in the ones that weren't in the cache. for (ty=ty0; ty<=ty1; ty++) { 1.39 +22 -18 xml-batik/sources/org/apache/batik/swing/gvt/JGVTComponent.java Index: JGVTComponent.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/gvt/JGVTComponent.java,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- JGVTComponent.java 8 Aug 2003 11:39:24 -0000 1.38 +++ JGVTComponent.java 13 Aug 2003 11:01:16 -0000 1.39 @@ -466,20 +466,24 @@ */ public void immediateRepaint() { if (EventQueue.isDispatchThread()) { - Dimension dim = getSize(); + Rectangle visRect = getVisibleRect(); if (doubleBufferedRendering) - repaint(0, 0, dim.width, dim.height); + repaint(visRect.x, visRect.y, + visRect.width, visRect.height); else - paintImmediately(0, 0, dim.width, dim.height); + paintImmediately(visRect.x, visRect.y, + visRect.width, visRect.height); } else { try { EventQueue.invokeAndWait(new Runnable() { public void run() { - Dimension dim = getSize(); + Rectangle visRect = getVisibleRect(); if (doubleBufferedRendering) - repaint(0, 0, dim.width, dim.height); + repaint(visRect.x, visRect.y, + visRect.width, visRect.height); else - paintImmediately(0, 0, dim.width, dim.height); + paintImmediately(visRect.x, visRect.y, + visRect.width,visRect.height); } }); } catch (Exception e) { @@ -495,10 +499,11 @@ Graphics2D g2d = (Graphics2D)g; - Dimension d = getSize(); + Rectangle visRect = getVisibleRect(); g2d.setComposite(AlphaComposite.SrcOver); g2d.setPaint(getBackground()); - g2d.fillRect(0, 0, d.width, d.height); + g2d.fillRect(visRect.x, visRect.y, + visRect.width, visRect.height); if (image != null) { if (paintingTransform != null) { @@ -637,8 +642,8 @@ * Renders the GVT tree. */ protected void renderGVTTree() { - Dimension d = getSize(); - if (gvtRoot == null || d.width <= 0 || d.height <= 0) { + Rectangle visRect = getVisibleRect(); + if (gvtRoot == null || visRect.width <= 0 || visRect.height <= 0) { return; } @@ -655,13 +660,12 @@ } catch (NoninvertibleTransformException e) { throw new InternalError(e.getMessage()); } - Shape s = inv.createTransformedShape - (new Rectangle(0, 0, d.width, d.height)); + Shape s = inv.createTransformedShape(visRect); // Rendering thread setup. gvtTreeRenderer = new GVTTreeRenderer(renderer, renderingTransform, - doubleBufferedRendering, - s, d.width, d.height); + doubleBufferedRendering, s, + visRect.width, visRect.height); gvtTreeRenderer.setPriority(Thread.MIN_PRIORITY); Iterator it = gvtTreeRendererListeners.iterator(); @@ -792,9 +796,9 @@ public void run() { if (progressivePaintThread == thisThread) { - Dimension dim = getSize(); - repaint(0, 0, dim.width, - dim.height); + Rectangle vRect = getVisibleRect(); + repaint(vRect.x, vRect.y, + vRect.width, vRect.height); } } }); 1.80 +20 -19 xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java Index: JSVGComponent.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- JSVGComponent.java 10 Aug 2003 18:03:16 -0000 1.79 +++ JSVGComponent.java 13 Aug 2003 11:01:17 -0000 1.80 @@ -714,8 +714,9 @@ disableInteractions = true; initialTransform = new AffineTransform(); setRenderingTransform(initialTransform, false); - Dimension d = getSize(); - repaint(0, 0, d.width, d.height); + Rectangle vRect = getVisibleRect(); + repaint(vRect.x, vRect.y, + vRect.width, vRect.height); return; } @@ -993,8 +994,10 @@ return; } - final Dimension d = getSize(); - if (gvtRoot == null || d.width <= 0 || d.height <= 0) { + final Rectangle visRect = getVisibleRect(); + if ((gvtRoot == null) || + (visRect.width <= 0) || + (visRect.height <= 0)) { return; } @@ -1006,17 +1009,15 @@ throw new InternalError(e.getMessage()); } final Shape s = - inv.createTransformedShape(new Rectangle(0, 0, d.width, d.height)); + inv.createTransformedShape(visRect); - updateManager.getUpdateRunnableQueue().invokeLater(new Runnable() { - public void run() { - paintingTransform = null; - updateManager.updateRendering(renderingTransform, - doubleBufferedRendering, - s, d.width, d.height); - - } - }); + updateManager.getUpdateRunnableQueue().invokeLater + (new Runnable() { public void run() { + paintingTransform = null; + updateManager.updateRendering(renderingTransform, + doubleBufferedRendering, s, + visRect.width, visRect.height); + }}); } /** @@ -1715,10 +1716,10 @@ List l = e.getDirtyAreas(); if (l != null) { - Dimension dim = getSize(); - List ml = mergeRectangles(l, 0, 0, - dim.width - 1, - dim.height - 1); + Rectangle visRect = getVisibleRect(); + List ml = mergeRectangles + (l, visRect.x, visRect.y, + visRect.width - 1, visRect.height - 1); if (ml.size() < l.size()) { l = ml; } 1.70 +8 -2 xml-batik/sources/org/apache/batik/util/SVGConstants.java Index: SVGConstants.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/util/SVGConstants.java,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- SVGConstants.java 8 Aug 2003 11:39:26 -0000 1.69 +++ SVGConstants.java 13 Aug 2003 11:01:17 -0000 1.70 @@ -868,8 +868,14 @@ // event constants /////////////////////////////////////////////////////////////////// - String SVG_EVENT_CLICK = "click"; + String SVG_EVENT_CLICK = "click"; + String SVG_EVENT_KEYDOWN = "keydown"; + String SVG_EVENT_KEYPRESS = "keypress"; + String SVG_EVENT_KEYUP = "keyup"; + String SVG_EVENT_MOUSEDOWN = "mousedown"; + String SVG_EVENT_MOUSEMOVE = "mousemove"; String SVG_EVENT_MOUSEOVER = "mouseover"; String SVG_EVENT_MOUSEOUT = "mouseout"; + String SVG_EVENT_MOUSEUP = "mouseup"; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]