tkormann    2002/06/12 05:02:51

  Modified:    sources/org/apache/batik/bridge BridgeEventSupport.java
               sources/org/apache/batik/gvt/event AWTEventDispatcher.java
                        GraphicsNodeMouseEvent.java
  Log:
  fix bug. mouse screen location is now correct.
  
  Revision  Changes    Path
  1.40      +2 -2      
xml-batik/sources/org/apache/batik/bridge/BridgeEventSupport.java
  
  Index: BridgeEventSupport.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/bridge/BridgeEventSupport.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- BridgeEventSupport.java   12 Jun 2002 08:20:34 -0000      1.39
  +++ BridgeEventSupport.java   12 Jun 2002 12:02:51 -0000      1.40
  @@ -293,7 +293,7 @@
               }
               */
               short button = getButton(evt);
  -            Point screenXY = getScreenMouseLocation(clientXY);
  +            Point screenXY = evt.getScreenPoint();
               // create the coresponding DOM MouseEvent
               DocumentEvent d = (DocumentEvent)targetElement.getOwnerDocument();
               MouseEvent mouseEvt = (MouseEvent)d.createEvent("MouseEvents");
  
  
  
  1.8       +12 -4     
xml-batik/sources/org/apache/batik/gvt/event/AWTEventDispatcher.java
  
  Index: AWTEventDispatcher.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/gvt/event/AWTEventDispatcher.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AWTEventDispatcher.java   12 Jun 2002 08:20:34 -0000      1.7
  +++ AWTEventDispatcher.java   12 Jun 2002 12:02:51 -0000      1.8
  @@ -8,6 +8,7 @@
   
   package org.apache.batik.gvt.event;
   
  +import java.awt.Point;
   import java.awt.event.InputEvent;
   import java.awt.event.KeyEvent;
   import java.awt.event.KeyListener;
  @@ -337,7 +338,6 @@
       protected void dispatchMouseEvent(MouseEvent evt) {
           GraphicsNodeMouseEvent gvtevt;
           Point2D p = new Point2D.Float(evt.getX(), evt.getY());
  -
           if (baseTransform != null) {
               p = baseTransform.transform(p, null);
           }
  @@ -354,6 +354,7 @@
   
           // If the receiving node has changed, send a notification
           // check if we enter a new node
  +        Point screenPos = evt.getComponent().getLocationOnScreen();
           if (lastHit != node) {
               // post an MOUSE_EXITED
               if (lastHit != null) {
  @@ -364,6 +365,8 @@
                                                       evt.getModifiers(),
                                                       (float)p.getX(),
                                                       (float)p.getY(),
  +                                                    screenPos.x,
  +                                                    screenPos.y,
                                                       evt.getClickCount(),
                                                       node);
                   processMouseEvent(gvtevt);
  @@ -379,8 +382,9 @@
                                                       getModifiers(),
                                                       (float)p.getX(),
                                                       (float)p.getY(),
  -                                                    evt.
  -                                                    getClickCount(),
  +                                                    screenPos.x,
  +                                                    screenPos.y,
  +                                                    evt.getClickCount(),
                                                       lastHit);
                   processMouseEvent(gvtevt);
                   // node.processMouseEvent(gvtevt);
  @@ -394,6 +398,8 @@
                                                   evt.getModifiers(),
                                                   (float)p.getX(),
                                                   (float)p.getY(),
  +                                                screenPos.x,
  +                                                screenPos.y,
                                                   evt.getClickCount(),
                                                   relatedNode);
   
  @@ -409,6 +415,8 @@
                                                   evt.getModifiers(),
                                                   (float)p.getX(),
                                                   (float)p.getY(),
  +                                                screenPos.x,
  +                                                screenPos.y,
                                                   evt.getClickCount(),
                                                   relatedNode);
   
  
  
  
  1.6       +37 -2     
xml-batik/sources/org/apache/batik/gvt/event/GraphicsNodeMouseEvent.java
  
  Index: GraphicsNodeMouseEvent.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/gvt/event/GraphicsNodeMouseEvent.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- GraphicsNodeMouseEvent.java       21 Feb 2001 16:49:54 -0000      1.5
  +++ GraphicsNodeMouseEvent.java       12 Jun 2002 12:02:51 -0000      1.6
  @@ -8,6 +8,7 @@
   
   package org.apache.batik.gvt.event;
   
  +import java.awt.Point;
   import java.awt.event.MouseEvent;
   import java.awt.geom.Point2D;
   import java.awt.geom.AffineTransform;
  @@ -82,6 +83,10 @@
        */
       float y;
   
  +    int screenX;
  +
  +    int screenY;
  +
       /**
        * Indicates the number of quick consecutive clicks of a mouse button.
        */
  @@ -101,17 +106,22 @@
        * @param when the time the event occurred
        * @param modifiers the modifier keys down while event occurred
        * @param x, y the mouse coordinates
  +     * @param screenX, screenY the mouse coordinates relative to the screen
        * @param clickCount the number of clicks
        * @param relatedNode the related node
        * @see #getRelatedNode
        */
       public GraphicsNodeMouseEvent(GraphicsNode source, int id,
                                     long when, int modifiers,
  -                                  float x, float y, int clickCount,
  +                                  float x, float y, 
  +                                  int screenX, int screenY, 
  +                                  int clickCount,
                                     GraphicsNode relatedNode) {
           super(source, id, when, modifiers);
           this.x = x;
           this.y = y;
  +        this.screenX = screenX;
  +        this.screenY = screenY;
           this.clickCount = clickCount;
           this.relatedNode = relatedNode;
       }
  @@ -144,6 +154,31 @@
        */
       public float getY() {
           return y;
  +    }
  +
  +    /**
  +     * Returns the horizontal x position of the event relative to the
  +     * screen.
  +     * @return x a float indicating horizontal position relative to the screen
  +     */
  +    public int getScreenX() {
  +        return screenX;
  +    }
  +
  +    /**
  +     * Returns the vertical y position of the event relative to the screen.
  +     * @return y a float indicating vertical position relative to the screen
  +     */
  +    public int getScreenY() {
  +        return screenY;
  +    }
  +
  +    /**
  +     * Returns the (x, y) position of the event relative to the screen.
  +     * @return a Point object containing the x and y coordinates
  +     */
  +    public Point getScreenPoint() {
  +        return new Point(screenX, screenY);
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to