2018-01-20 14:43:21 +03:00
|
|
|
namespace CairoChart {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Linear range.
|
|
|
|
*/
|
|
|
|
[Compact]
|
|
|
|
public class Range {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Low bound.
|
|
|
|
*/
|
|
|
|
public double low = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* High bound.
|
|
|
|
*/
|
|
|
|
public double high = 1;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ``Range`` value.
|
|
|
|
*/
|
|
|
|
public double range {
|
|
|
|
get {
|
|
|
|
return high - low;
|
|
|
|
}
|
2018-01-20 14:51:26 +03:00
|
|
|
set {
|
2018-01-20 14:43:21 +03:00
|
|
|
high = low + value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructs a new ``Range``.
|
|
|
|
*/
|
2018-01-20 20:07:06 +03:00
|
|
|
public Range () { }
|
2018-01-20 14:43:21 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructs a new ``Range`` with a ``Range`` instance.
|
|
|
|
*/
|
2018-01-20 20:07:06 +03:00
|
|
|
public Range.with_range (Range range) {
|
2018-01-20 14:43:21 +03:00
|
|
|
this.low = range.low;
|
|
|
|
this.high = range.high;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructs a new ``Range`` with absolute coordinates.
|
|
|
|
*/
|
2018-01-20 20:07:06 +03:00
|
|
|
public Range.with_abs (double low, double high) {
|
2018-01-20 14:43:21 +03:00
|
|
|
this.low = low;
|
|
|
|
this.high = high;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructs a new ``Range`` with relative coordinates.
|
|
|
|
*/
|
2018-01-20 20:07:06 +03:00
|
|
|
public Range.with_rel (double low, double range) {
|
2018-01-20 14:43:21 +03:00
|
|
|
this.low = low;
|
2018-01-20 20:07:06 +03:00
|
|
|
this.range = range;
|
2018-01-20 14:43:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets a copy of the ``Range``.
|
|
|
|
*/
|
|
|
|
public Range copy () {
|
|
|
|
return new Range.with_range(this);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|