Home » openjdk-7 » java » awt » [javadoc | source]

    1   /*
    2    *  Licensed to the Apache Software Foundation (ASF) under one or more
    3    *  contributor license agreements.  See the NOTICE file distributed with
    4    *  this work for additional information regarding copyright ownership.
    5    *  The ASF licenses this file to You under the Apache License, Version 2.0
    6    *  (the "License"); you may not use this file except in compliance with
    7    *  the License.  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
   10    *
   11    *  Unless required by applicable law or agreed to in writing, software
   12    *  distributed under the License is distributed on an "AS IS" BASIS,
   13    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    *  See the License for the specific language governing permissions and
   15    *  limitations under the License.
   16    */
   17   
   18   package java.awt;
   19   
   20   import java.awt.dnd.DnDConstants;
   21   import java.awt.dnd.DragGestureListener;
   22   import java.awt.dnd.DragSource;
   23   import java.awt.dnd.MouseDragGestureRecognizer;
   24   import java.awt.event.InputEvent;
   25   import java.awt.event.MouseEvent;
   26   import java.util.ArrayList;
   27   
   28   class DefaultMouseDragGestureRecognizer extends MouseDragGestureRecognizer {
   29       private static final long serialVersionUID = 1L;
   30   
   31       private boolean active;
   32   
   33       protected DefaultMouseDragGestureRecognizer(DragSource ds, Component c, int act,
   34               DragGestureListener dgl) {
   35           super(ds, c, act, dgl);
   36           events = new ArrayList<InputEvent>();
   37       }
   38   
   39       @Override
   40       public void mousePressed(MouseEvent e) {
   41           events.add(e);
   42       }
   43   
   44       @Override
   45       public void mouseDragged(MouseEvent e) {
   46           if (active) {
   47               return;
   48           }
   49           events.add(e);
   50           int distance = 2; // TODO: use desktop property 
   51           MouseEvent e0 = (MouseEvent) events.get(0);
   52           if (e0.getPoint().distance(e.getPoint()) >= distance) {
   53               if (sourceActions != DnDConstants.ACTION_NONE) {
   54                   active = true;
   55                   fireDragGestureRecognized(sourceActions, e.getPoint());
   56               }
   57           }
   58       }
   59   
   60       @Override
   61       public void mouseReleased(MouseEvent e) {
   62           active = false;
   63       }
   64   }

Home » openjdk-7 » java » awt » [javadoc | source]