OK In progress...
This commit is contained in:
parent
d5e18999f8
commit
3d3eb05c3c
142
src/Area.vala
142
src/Area.vala
|
@ -3,38 +3,126 @@ namespace CairoChart {
|
|||
/**
|
||||
* Area rectangle.
|
||||
*/
|
||||
[Compact]
|
||||
public class Area {
|
||||
|
||||
double _x0 = 0;
|
||||
double _x1 = 1;
|
||||
double _y0 = 0;
|
||||
double _y1 = 1;
|
||||
double _zx0 = 0;
|
||||
double _zx1 = 1;
|
||||
double _zy0 = 0;
|
||||
double _zy1 = 1;
|
||||
|
||||
/**
|
||||
* Left bound.
|
||||
*/
|
||||
public double x0 = 0;
|
||||
public double x0 {
|
||||
get {
|
||||
return _x0;
|
||||
}
|
||||
set {
|
||||
_zx0 = _x0 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Top bound.
|
||||
*/
|
||||
public double y0 = 0;
|
||||
public double y0 {
|
||||
get {
|
||||
return _y0;
|
||||
}
|
||||
set {
|
||||
_zy0 = _y0 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Right bound.
|
||||
*/
|
||||
public double x1 = 1;
|
||||
public double x1 {
|
||||
get {
|
||||
return _x1;
|
||||
}
|
||||
set {
|
||||
_zx1 = _x1 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Bottom bound.
|
||||
*/
|
||||
public double y1 = 1;
|
||||
public double y1 {
|
||||
get {
|
||||
return _y1;
|
||||
}
|
||||
set {
|
||||
_zy1 = _y1 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zoomed Left bound.
|
||||
*/
|
||||
public double zx0 {
|
||||
get {
|
||||
return _zx0;
|
||||
}
|
||||
set {
|
||||
if (_x0 <= value <= _x1)
|
||||
_zx0 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zoomed Top bound.
|
||||
*/
|
||||
public double zy0 {
|
||||
get {
|
||||
return _zy0;
|
||||
}
|
||||
set {
|
||||
if (_y0 <= value <= _y1)
|
||||
_zy0 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zoomed Right bound.
|
||||
*/
|
||||
public double zx1 {
|
||||
get {
|
||||
return _zx1;
|
||||
}
|
||||
set {
|
||||
if (_x0 <= value <= _x1)
|
||||
_zx1 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zoomed Bottom bound.
|
||||
*/
|
||||
public double zy1 {
|
||||
get {
|
||||
return _zy1;
|
||||
}
|
||||
set {
|
||||
if (_y0 <= value <= _y1)
|
||||
_zy1 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ``Area`` width.
|
||||
*/
|
||||
public double width {
|
||||
get {
|
||||
return x1 - x0;
|
||||
return _x1 - _x0;
|
||||
}
|
||||
set {
|
||||
x1 = x0 + value;
|
||||
_zx1 = _x1 = _x0 + value;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -43,10 +131,36 @@ namespace CairoChart {
|
|||
*/
|
||||
public double height {
|
||||
get {
|
||||
return y1 - y0;
|
||||
return _y1 - _y0;
|
||||
}
|
||||
set {
|
||||
y1 = y0 + value;
|
||||
_zy1 = _y1 = _y0 + value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ``Area`` zoomed width.
|
||||
*/
|
||||
public double zwidth {
|
||||
get {
|
||||
return _zx1 - _zx0;
|
||||
}
|
||||
set {
|
||||
if (_zx0 <= _zx0 + value <= _x1)
|
||||
_zx1 = _zx0 + value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ``Area`` zoomed height.
|
||||
*/
|
||||
public double zheight {
|
||||
get {
|
||||
return _zy1 - _zy0;
|
||||
}
|
||||
set {
|
||||
if (_zy0 <= _zy0 + value <= _y1)
|
||||
_zy1 = _zy0 + value;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -111,5 +225,15 @@ namespace CairoChart {
|
|||
public Area copy () {
|
||||
return new Area.with_area(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unzooms ``Area``.
|
||||
*/
|
||||
public void unzoom () {
|
||||
_zx0 = x0;
|
||||
_zy0 = y0;
|
||||
_zx1 = x1;
|
||||
_zy1 = y1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,28 +3,85 @@ namespace CairoChart {
|
|||
/**
|
||||
* Linear range.
|
||||
*/
|
||||
[Compact]
|
||||
public class Range {
|
||||
|
||||
double _low = 0;
|
||||
double _high = 1;
|
||||
double _zlow = 0;
|
||||
double _zhigh = 1;
|
||||
|
||||
/**
|
||||
* Low bound.
|
||||
*/
|
||||
public double low = 0;
|
||||
public double low {
|
||||
get {
|
||||
return _low;
|
||||
}
|
||||
set {
|
||||
_zlow = _low = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* High bound.
|
||||
*/
|
||||
public double high = 1;
|
||||
public double high {
|
||||
get {
|
||||
return _high;
|
||||
}
|
||||
set {
|
||||
_zhigh = _high = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zoomed low bound.
|
||||
*/
|
||||
double zlow {
|
||||
get {
|
||||
return _zlow;
|
||||
}
|
||||
set {
|
||||
if (_low <= value <= _high)
|
||||
_zlow = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zoomed high bound.
|
||||
*/
|
||||
double zhigh {
|
||||
get {
|
||||
return _zhigh;
|
||||
}
|
||||
set {
|
||||
if (_low <= value <= _high)
|
||||
_zhigh = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ``Range`` value.
|
||||
*/
|
||||
public double range {
|
||||
get {
|
||||
return high - low;
|
||||
return _high - _low;
|
||||
}
|
||||
set {
|
||||
high = low + value;
|
||||
_zhigh = _high = _low + value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ``Range`` zoomed value.
|
||||
*/
|
||||
public double zrange {
|
||||
get {
|
||||
return _zhigh - _zlow;
|
||||
}
|
||||
set {
|
||||
if (_zlow <= _zlow + value <= _high)
|
||||
_zhigh = _zlow + value;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -63,5 +120,13 @@ namespace CairoChart {
|
|||
public Range copy () {
|
||||
return new Range.with_range(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unzooms ``Range``.
|
||||
*/
|
||||
public void unzoom () {
|
||||
_zlow = low;
|
||||
_zhigh = high;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue