class SelectionHandler extends MouseAdapter {

        @Override
        public void mousePressed(MouseEvent e) {<FILL_FUNCTION_BODY>}

        @Override
        public void mouseReleased(MouseEvent e) {
            resetSelection();
        }
    }

            Ellipse2D area1 = getDraggableArea(control1);
            Ellipse2D area2 = getDraggableArea(control2);

            if (area1.contains(e.getPoint())) {
                selected = control1;
                dragStart = e.getPoint();

                Rectangle bounds = area1.getBounds();
                repaint(bounds.x, bounds.y, bounds.width, bounds.height);
            } else if (area2.contains(e.getPoint())) {
                selected = control2;
                dragStart = e.getPoint();

                Rectangle bounds = area2.getBounds();
                repaint(bounds.x, bounds.y, bounds.width, bounds.height);
            } else {
                resetSelection();
            }
        
<methods>public void <init>(double, double, double, double, double, double, double, int, double, int) ,public void addEquation(org.gephi.ui.components.splineeditor.equation.AbstractEquation, java.awt.Color) ,public List<org.gephi.ui.components.splineeditor.equation.EquationDisplay.DrawableEquation> getEquations() ,public java.awt.Dimension getPreferredSize() ,public boolean isDrawText() ,public void propertyChange(java.beans.PropertyChangeEvent) ,public void removeEquation(org.gephi.ui.components.splineeditor.equation.AbstractEquation) ,public void setDrawText(boolean) ,public void setEnabled(boolean) <variables>private static final float COEFF_ZOOM,private static final float STROKE_AXIS,private static final float STROKE_GRID,private final non-sealed java.awt.Color colorAxis,private final non-sealed java.awt.Color colorBackground,private final non-sealed java.awt.Color colorMajorGrid,private final non-sealed java.awt.Color colorMinorGrid,private java.awt.Point dragStart,private boolean drawText,private final non-sealed List<org.gephi.ui.components.splineeditor.equation.EquationDisplay.DrawableEquation> equations,private final non-sealed java.text.NumberFormat formatter,private final non-sealed double majorX,private final non-sealed double majorY,protected double maxX,protected double maxY,protected double minX,protected double minY,private final non-sealed int minorX,private final non-sealed int minorY,private final non-sealed double originX,private final non-sealed double originY,private final non-sealed org.gephi.ui.components.splineeditor.equation.EquationDisplay.PanHandler panHandler,private final non-sealed org.gephi.ui.components.splineeditor.equation.EquationDisplay.PanMotionHandler panMotionHandler,private final non-sealed org.gephi.ui.components.splineeditor.equation.EquationDisplay.ZoomHandler zoomHandler