/*
* @(#)NumericControlAdapter.java 1.2 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media.controls;
import javax.media.*;
import com.sun.media.*;
import com.sun.media.controls.*;
import java.awt.*;
/**
* A control that represents the state by a numeric value. The value can be any
* number represented as a float as long as it falls within the range and
* has the specified granularity/accuracy. For example, if the lower limit is
* 0 and the upper limit is 255 and the granularity is 1, then it can be assigned
* any integer value from 0 to 255.
*/
public class NumericControlAdapter extends AtomicControlAdapter
implements NumericControl {
protected float lowerLimit;
protected float upperLimit;
protected float defaultValue;
protected float granularity;
protected boolean logarithmic;
public NumericControlAdapter() {
super(null, true, null);
lowerLimit = 0f;
upperLimit = 1.0f;
defaultValue = 0.5f;
granularity = 0.001f;
logarithmic = false;
}
public NumericControlAdapter(float ll, float ul, float dv,
float gran, boolean log,
Component comp,
boolean def,
Control parent) {
super(comp, def, parent);
lowerLimit = ll;
upperLimit = ul;
defaultValue = dv;
granularity = gran;
logarithmic = log;
}
/**
* The smallest value assignable to this control.
*/
public float getLowerLimit() {
return lowerLimit;
}
/**
* The largest value assignable to this control.
*/
public float getUpperLimit() {
return upperLimit;
}
/**
* Returns the value that the control currently represents.
*/
public float getValue() {
return (float) 0.0;
}
/**
* Sets the value on the control and returns the value that was actually
* set.
*/
public float setValue(float value) {
return value;
}
/**
* Returns the value that is the default for this control.
*/
public float getDefaultValue() {
return defaultValue;
}
/**
* Sets the default value for the control.
*/
public float setDefaultValue(float value) {
return (defaultValue = value);
}
/**
* Returns the granularity of the numeric value.
*/
public float getGranularity() {
return granularity;
}
/**
* ???
*/
public boolean isLogarithmic() {
return logarithmic;
}
/**
* ???
*/
public float getLogarithmicBase() {
return (float) 0;
}
}
|