private int getSelectedSliderTextIndex(MouseEvent evt) { double dy = Math.abs(sliderTextBaseLineY + SLIDER_VALUES_AREA_HEIGHT - evt.getY()); if (dy < SLIDER_VALUES_AREA_HEIGHT) { final int sliderIndex = getNearestSliderIndex(evt.getX()); final double dx = Math.abs(getAbsoluteSliderPos(getSliderSample(sliderIndex)) - evt.getX()); if (dx < Math.floor(FONT_SIZE / 2.0)) { return sliderIndex; } } return INVALID_INDEX; }
private int getSelectedSliderIndex(MouseEvent evt) { if (isVerticalInSliderArea(evt.getY())) { final int sliderIndex = getNearestSliderIndex(evt.getX()); final double dx = Math.abs(getAbsoluteSliderPos(getSliderSample(sliderIndex)) - evt.getX()); if (dx < Math.floor(SLIDER_WIDTH / 2.0)) { return sliderIndex; } } return INVALID_INDEX; }
@Override public void mousePressed(MouseEvent mouseEvent) { hidePopup(); resetState(); // on linux: popup is triggered on mousePressed // on windows: popup is triggered on mouseReleased if (!maybeShowSliderActions(mouseEvent)) { setDraggedSliderIndex(getNearestSliderIndex(mouseEvent.getX(), mouseEvent.getY())); if (isFirstSliderDragged() || isLastSliderDragged()) { computeFactors(); } } }
private int getNearestLeftSliderIndex(int x) { final int index = getNearestSliderIndex(x); final double pos = getRelativeSliderPos(getSliderSample(index)); if (pos > x) { if (index > 0) { return index - 1; } return INVALID_INDEX; } return index; }
private int getNearestSliderIndex(int x, int y) { if (isVerticalInSliderArea(y)) { return getNearestSliderIndex(x); } return INVALID_INDEX; }