private Color[] getColorPalette() { if (palette == null) { palette = getModel().createColorPalette(); } return palette; }
private double getMaxSample() { return getModel().getMaxSample(); }
private int getSliderCount() { return getModel().getSliderCount(); }
private double getMinSample() { return getModel().getMinSample(); }
private Color getSliderColor(int index) { return getModel().getSliderColor(index); }
private void setSliderSample(int index, double v) { getModel().setSliderSample(index, v); }
@Override public void actionPerformed(ActionEvent e) { getModel().removeSlider(removeIndex); hidePopup(); applyChanges(); } });
private void setSliderColor(int index, Color c) { getModel().setSliderColor(index, c); applyChanges(); }
private void setLastSliderSample(double v) { setSliderSample(getModel().getSliderCount() - 1, v); }
private double getNormalizedHistogramViewSampleValue(double sample) { final double minVisibleSample = scaleInverse(getModel().getMinHistogramViewSample()); final double maxVisibleSample = scaleInverse(getModel().getMaxHistogramViewSample()); sample = scaleInverse(sample); double delta = maxVisibleSample - minVisibleSample; if (delta == 0 || Double.isNaN(delta)) { delta = 1; } return (sample - minVisibleSample) / delta; }
private boolean maybeShowSliderActions(MouseEvent mouseEvent) { if (getModel().isColorEditable() && mouseEvent.isPopupTrigger()) { final int sliderIndex = getSelectedSliderIndex(mouseEvent); showSliderActions(mouseEvent, sliderIndex); return true; } return false; }
private double computeSliderValueForX(int sliderIndex, int x) { final double minVS = scaleInverse(getModel().getMinHistogramViewSample()); final double maxVS = scaleInverse(getModel().getMaxHistogramViewSample()); final double value = scale(minVS + (x - sliderBaseLineRect.x) * (maxVS - minVS) / sliderBaseLineRect.width); if (isFirstSliderIndex(sliderIndex)) { return Math.min(value, getLastSliderSample()); } if (isLastSliderIndex(sliderIndex)) { return Math.max(value, getFirstSliderSample()); } return computeAdjustedSliderValue(sliderIndex, value); }
public void computeZoomInToSliderLimits() { final double firstSliderValue = scaleInverse(getFirstSliderSample()); final double lastSliderValue = scaleInverse(getLastSliderSample()); final double percentOffset = 0.0; final double minViewSample = scale(firstSliderValue - percentOffset); final double maxViewSample = scale(lastSliderValue + percentOffset); getModel().setMinHistogramViewSample(minViewSample); getModel().setMaxHistogramViewSample(maxViewSample); repaint(); }
public void compute95Percent() { final Histogram histogram = new Histogram(getModel().getHistogramBins(), scaleInverse(getModel().getMinSample()), scaleInverse(getModel().getMaxSample())); final Range autoStretchRange = histogram.findRangeFor95Percent(); computeFactors(); setFirstSliderSample(scale(autoStretchRange.getMin())); setLastSliderSample(scale(autoStretchRange.getMax())); partitionSliders(false); computeZoomInToSliderLimits(); }