Package de.gsi.chart.axes.spi
Class OscilloscopeAxis
- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- de.gsi.chart.axes.spi.AbstractAxisParameter
-
- de.gsi.chart.axes.spi.AbstractAxis
-
- de.gsi.chart.axes.spi.OscilloscopeAxis
-
- All Implemented Interfaces:
Axis,de.gsi.dataset.AxisDescription,de.gsi.dataset.event.EventSource,javafx.css.Styleable,javafx.event.EventTarget
public class OscilloscopeAxis extends AbstractAxis implements Axis
Implements an Oscilloscope-like axis with a default of 10 divisions (tick marks) and fixed zero (or offset) screen positionCompared to the
DefaultNumericAxis, this one has a few additional/different features:- the number of grid and label divisions is kept (by convention) always at 10
- the zero is kept at the same relative screen position and min/max ranges are adjusted accordingly
- the default tick-unit ranges are <1.0, 2.0, 5.0> (
DEFAULT_MULTIPLIERS1) but can be changed to half steps (ie. usingDEFAULT_MULTIPLIERS2) - it provides a
getMinRange()andgetMaxRange()feature to force a minimum and/or maximum axis range (N.B. to disable this, simply 'clear()' these ranges).
- Author:
- rstein
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classOscilloscopeAxis.Cache
-
Field Summary
Fields Modifier and Type Field Description static java.util.SortedSet<java.lang.Number>DEFAULT_MULTIPLIERS1static java.util.SortedSet<java.lang.Number>DEFAULT_MULTIPLIERS2protected booleanisUpdating-
Fields inherited from class de.gsi.chart.axes.spi.AbstractAxis
animator, BURST_LIMIT_CSS_MS, cachedOffset, currentLowerBound, labelOverlap, lock, MAX_NARROW_FONT_SCALE, maxLabelHeight, maxLabelWidth, MIN_NARROW_FONT_SCALE, RANGE_ANIMATION_DURATION_MS, scaleFont, tickMarkDoubleCache, tickMarkStringCache
-
Fields inherited from class de.gsi.chart.axes.spi.AbstractAxisParameter
DEFAULT_MINOR_TICK_COUNT, isInvertedAxis, isTimeAxis, majorTickMarks, majorTickMarkValues, maxProp, minorTickMarks, minorTickMarkValues, minProp, oldAxisLength, oldAxisMax, oldAxisMin, oldTickUnit, scaleBinding, tickLabelRotation, tickUnit, valid
-
-
Constructor Summary
Constructors Constructor Description OscilloscopeAxis(java.lang.String axisLabel)Creates anauto-rangingAxis.OscilloscopeAxis(java.lang.String axisLabel, double lowerBound, double upperBound, double tickUnit)Create anon-auto-rangingAxis with the given upper bound, lower bound and tick unit.OscilloscopeAxis(java.lang.String axisLabel, java.lang.String unit)Creates anauto-rangingAxis.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description javafx.beans.property.DoublePropertyaxisZeroValueProperty()The relative centre axis value (commonly '0')protected java.util.List<java.lang.Double>calculateMajorTickValues(double length, AxisRange axisRange)Calculate a list of all the data values for each tick mark in rangeprotected java.util.List<java.lang.Double>calculateMinorTickValues()Calculate a list of the data values for every minor tick markjavafx.beans.property.DoublePropertycenterAxisZeroPositionProperty()The relative zero centre position (N.B.doublecomputePreferredTickUnit(double axisLength)Computes the preferred tick unit based on the upper/lower bounds and the length of the axis in screen coordinates.protected AxisRangecomputeRange(double minValue, double maxValue, double axisLength, double labelSize)Computes range of this axis, similarly toAbstractAxis.autoRange(double, double, double, double).AxisTransformgetAxisTransform()doublegetAxisZeroPosition()The relative zero centre position (N.B.doublegetAxisZeroValue()The relative centre axis value (commonly '0')de.gsi.dataset.spi.DataRangegetClampedRange()static java.util.List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>>getClassCssMetaData()protected static doublegetEffectiveRange(double min, double max)LogAxisTypegetLogAxisType()de.gsi.dataset.spi.DataRangegetMaxRange()de.gsi.dataset.spi.DataRangegetMinRange()TickUnitSuppliergetTickUnitSupplier()doublegetValueForDisplay(double displayPosition)Get the data value for the given display position on this axis.booleanisLogAxis()This is true when the axis implements a log scaleprotected voidrecomputeClamedRange()reinitialises clamped range based onAbstractAxisParameter.getMin(),AbstractAxisParameter.getMax(),getMinRange()andgetMaxRange().voidsetAxisZeroPosition(double value)voidsetAxisZeroValue(double value)voidsetTickUnitSupplier(TickUnitSupplier tickUnitSupplier)protected voidupdateCachedVariables()to be overwritten by derived class that want to cache variables for efficiency reasons-
Methods inherited from class de.gsi.chart.axes.spi.AbstractAxis
autoRange, autoRange, axisLabelFormatterProperty, calculateNewScale, clearAxisCanvas, computePrefHeight, computePrefWidth, computeTickMarks, drawAxis, drawAxisLabel, drawAxisLabel, drawAxisLine, drawAxisPost, drawAxisPre, drawTickLabels, drawTickMarkLabel, drawTickMarks, fireInvalidated, forceRedraw, getAxisLabelFormatter, getAxisRange, getCanvas, getDisplayPosition, getGraphicsContext, getMaxTickLabelHeight, getMaxTickLabelWidth, getNewTickMark, getTickMarkLabel, getZeroPosition, invalidateCaches, invalidateRange, isLabelOverlapping, isValueOnAxis, layoutChildren, measureTickMarkLength, recomputeTickMarks, recomputeTickMarks, requestAxisLayout, setAxisLabelFormatter, setMax, setMin, setRange, shouldAnimate, snap, tickMarksUpdated, updateCSS
-
Methods inherited from class de.gsi.chart.axes.spi.AbstractAxisParameter
add, add, animatedProperty, animationDurationProperty, autoGrowRangingProperty, autoNotification, autoRangePaddingProperty, autoRangeRoundingProperty, autoRangingProperty, autoUnitScalingProperty, axisLabelGapProperty, axisLabelTextAlignmentProperty, axisPaddingProperty, centerAxisPositionProperty, clear, contains, equalString, getaAxisLabelTextAlignment, getAnimationDuration, getAutoRange, getAutoRangePadding, getAxisCenterPosition, getAxisLabel, getAxisLabelGap, getAxisLabelTextAlignment, getAxisPadding, getCenterAxisPosition, getCssMetaData, getLength, getMajorTickStyle, getMax, getMaxMajorTickLabelCount, getMaxMaxjorTickLabelCount, getMin, getMinorTickCount, getMinorTickLength, getMinorTickMarks, getMinorTickMarkValues, getMinorTickStyle, getName, getOverlapPolicy, getRange, getScale, getSide, getTickLabelFill, getTickLabelFont, getTickLabelFormatter, getTickLabelGap, getTickLabelRotation, getTickLabelSpacing, getTickLength, getTickMarks, getTickMarkValues, getTickUnit, getUnit, getUnitScaling, getUserRange, invalidate, invertAxis, invertAxisProperty, invokeListener, isAnimated, isAutoGrowRanging, isAutoRangeRounding, isAutoRanging, isAutoUnitScaling, isDefined, isInvertedAxis, isMinorTickVisible, isTickLabelsVisible, isTickMarkVisible, isTimeAxis, isValid, maxMajorTickLabelCountProperty, maxProperty, minorTickCountProperty, minorTickLengthProperty, minorTickVisibleProperty, minProperty, nameProperty, overlapPolicyProperty, scaleProperty, set, set, set, setAnimated, setAnimationDuration, setAutoGrowRanging, setAutoRangePadding, setAutoRangeRounding, setAutoRanging, setAutoUnitScaling, setAxisCenterPosition, setAxisLabelGap, setAxisLabelTextAlignment, setAxisPadding, setMaxMajorTickLabelCount, setMinorTickCount, setMinorTickLength, setMinorTickVisible, setName, setOverlapPolicy, setScale, setSide, setTickLabelFill, setTickLabelFont, setTickLabelFormatter, setTickLabelGap, setTickLabelRotation, setTickLabelSpacing, setTickLabelsVisible, setTickLength, setTickMarkVisible, setTickUnit, setTimeAxis, setUnit, setUnitScaling, setUnitScaling, sideProperty, tickLabelFillProperty, tickLabelFontProperty, tickLabelFormatterProperty, tickLabelGapProperty, tickLabelRotationProperty, tickLabelSpacing, tickLabelsVisibleProperty, tickLengthProperty, tickMarkVisibleProperty, tickUnitProperty, timeAxisProperty, unitProperty, unitScalingProperty, updateAxisLabelAndUnit, updateEventListener, updateScaleAndUnitPrefix, validProperty
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
Methods inherited from class javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.gsi.chart.axes.Axis
autoGrowRangingProperty, autoRangingProperty, autoUnitScalingProperty, drawAxis, forceRedraw, getAutoRange, getDisplayPosition, getHeight, getLength, getMinorTickCount, getMinorTickMarks, getRange, getSide, getTickLabelFill, getTickLabelFont, getTickLabelFormatter, getTickLabelGap, getTickLabelSpacing, getTickMarkLabel, getTickMarks, getTickUnit, getUnitScaling, getUserRange, getWidth, getZeroPosition, invalidateRange, invertAxis, invertAxisProperty, invokeListener, isAutoGrowRanging, isAutoRanging, isAutoUnitScaling, isInvertedAxis, isTimeAxis, isValueOnAxis, maxProperty, minProperty, nameProperty, requestAxisLayout, setAnimated, setAutoGrowRanging, setAutoRanging, setAutoUnitScaling, setName, setSide, setTickUnit, setTimeAxis, setUnit, setUnitScaling, setUnitScaling, sideProperty, tickUnitProperty, timeAxisProperty, unitProperty, unitScalingProperty
-
Methods inherited from interface de.gsi.dataset.AxisDescription
add, add, add, clear, contains, getMax, getMin, getName, getUnit, isDefined, set, set, set, set, setMax, setMin
-
-
-
-
Constructor Detail
-
OscilloscopeAxis
public OscilloscopeAxis(java.lang.String axisLabel)
Creates anauto-rangingAxis.- Parameters:
axisLabel- the axislabel
-
OscilloscopeAxis
public OscilloscopeAxis(java.lang.String axisLabel, double lowerBound, double upperBound, double tickUnit)Create anon-auto-rangingAxis with the given upper bound, lower bound and tick unit.- Parameters:
axisLabel- the axislabellowerBound- thelower boundof the axisupperBound- theupper boundof the axistickUnit- the tick unit, i.e. space between tick marks
-
OscilloscopeAxis
public OscilloscopeAxis(java.lang.String axisLabel, java.lang.String unit)Creates anauto-rangingAxis.
-
-
Method Detail
-
axisZeroValueProperty
public javafx.beans.property.DoubleProperty axisZeroValueProperty()
The relative centre axis value (commonly '0')- Returns:
- the axisZeroValue property
-
centerAxisZeroPositionProperty
public javafx.beans.property.DoubleProperty centerAxisZeroPositionProperty()
The relative zero centre position (N.B. clamped to [0.0,1.0]) w.r.t. the axis length- Returns:
- the axisZeroPosition property
-
computePreferredTickUnit
public double computePreferredTickUnit(double axisLength)
Description copied from class:AbstractAxisComputes the preferred tick unit based on the upper/lower bounds and the length of the axis in screen coordinates.- Specified by:
computePreferredTickUnitin classAbstractAxis- Parameters:
axisLength- the length in screen coordinates- Returns:
- the tick unit
-
getAxisTransform
public AxisTransform getAxisTransform()
- Specified by:
getAxisTransformin interfaceAxis
-
getAxisZeroPosition
public double getAxisZeroPosition()
The relative zero centre position (N.B. clamped to [0.0,1.0]) w.r.t. the axis length- Returns:
- the centerAxisZeroPosition
-
getAxisZeroValue
public double getAxisZeroValue()
The relative centre axis value (commonly '0')- Returns:
- the axisZeroValue
-
getClampedRange
public de.gsi.dataset.spi.DataRange getClampedRange()
- Returns:
- the range that is clamped to limits defined by
getMinRange()andgetMaxRange().
-
getLogAxisType
public LogAxisType getLogAxisType()
- Specified by:
getLogAxisTypein interfaceAxis- Returns:
- given linear and/or logarithmic (+ sub-type, e.g. log10, dB20, ...) axis types
-
getMaxRange
public de.gsi.dataset.spi.DataRange getMaxRange()
- Returns:
- the maximum range, axis range will never be smaller than this.
To disable this feature, simply use
getMaxRange().clear().
-
getMinRange
public de.gsi.dataset.spi.DataRange getMinRange()
- Returns:
- the minimum range, axis range will never be smaller than this.
To disable this feature, simply use
getMinRange().clear().
-
getTickUnitSupplier
public TickUnitSupplier getTickUnitSupplier()
- Returns:
- the tickUnitSupplier
-
getValueForDisplay
public double getValueForDisplay(double displayPosition)
Description copied from interface:AxisGet the data value for the given display position on this axis. If the axis is a CategoryAxis this will be the nearest value.- Specified by:
getValueForDisplayin interfaceAxis- Parameters:
displayPosition- A pixel position on this axis- Returns:
- the nearest data value to the given pixel position or null if not on axis;
-
isLogAxis
public boolean isLogAxis()
Description copied from interface:AxisThis is true when the axis implements a log scale
-
setAxisZeroPosition
public void setAxisZeroPosition(double value)
- Parameters:
value- the relative zero centre position (N.B. clamped to [0.0,1.0]) w.r.t. the axis length
-
setAxisZeroValue
public void setAxisZeroValue(double value)
- Parameters:
value- the relative centre axis value (commonly '0')
-
setTickUnitSupplier
public void setTickUnitSupplier(TickUnitSupplier tickUnitSupplier)
- Parameters:
tickUnitSupplier- the tickUnitSupplier to set
-
calculateMajorTickValues
protected java.util.List<java.lang.Double> calculateMajorTickValues(double length, AxisRange axisRange)Description copied from class:AbstractAxisCalculate a list of all the data values for each tick mark in range- Specified by:
calculateMajorTickValuesin classAbstractAxis- Parameters:
length- The length of the axis in display unitsaxisRange- A range object returned from autoRange()- Returns:
- A list of tick marks that fit along the axis if it was the given length
-
calculateMinorTickValues
protected java.util.List<java.lang.Double> calculateMinorTickValues()
Description copied from class:AbstractAxisCalculate a list of the data values for every minor tick mark- Specified by:
calculateMinorTickValuesin classAbstractAxis- Returns:
- List of data values where to draw minor tick marks
-
computeRange
protected AxisRange computeRange(double minValue, double maxValue, double axisLength, double labelSize)
Description copied from class:AbstractAxisComputes range of this axis, similarly toAbstractAxis.autoRange(double, double, double, double). The major difference is that this method is called whenauto-rangeis off.- Specified by:
computeRangein classAbstractAxis- Parameters:
minValue- The min data value that needs to be plotted on this axismaxValue- The max data value that needs to be plotted on this axisaxisLength- The length of the axis in display coordinateslabelSize- The approximate average size a label takes along the axis- Returns:
- The calculated range
- See Also:
AbstractAxis.autoRange(double, double, double, double)
-
recomputeClamedRange
protected void recomputeClamedRange()
reinitialises clamped range based onAbstractAxisParameter.getMin(),AbstractAxisParameter.getMax(),getMinRange()andgetMaxRange().
-
updateCachedVariables
protected void updateCachedVariables()
Description copied from class:AbstractAxisto be overwritten by derived class that want to cache variables for efficiency reasons- Overrides:
updateCachedVariablesin classAbstractAxis
-
getClassCssMetaData
public static java.util.List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>> getClassCssMetaData()
- Returns:
- The CssMetaData associated with this class, which may include the CssMetaData of its super classes.
-
getEffectiveRange
protected static double getEffectiveRange(double min, double max)
-
-