CurrStatVDP/Diagram-Canvas/DiagramStoveDll/Rectangle.js

46 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-05-17 23:38:10 +05:00
//Объявление класса прямоугольника
function Rectangle(x, y, w, h) {
/*Функции для работы с координатами
* основного прямоугольника */
function chkVal(val) {
var a = parseFloat(val);
return (isNaN(a) || a < 0) ? 0 : a;
}
this.X = function (val) {
if (val === undefined) return x;
x = chkVal(val);
};
this.Y = function (val) {
if (val === undefined) return y;
y = chkVal(val);
};
this.W = function (val) {
if (val === undefined) return w;
w = chkVal(val);
};
this.H = function (val) {
if (val === undefined) return h;
h = chkVal(val);
};
//Функция изменения начальной координаты и размеров прямоугольника
this.RectParam = function (_x, _y, _w, _h) {
this.X(_x);
this.Y(_y);
this.W(_w);
this.H(_h);
};
//Функция изменения прямоугольника по другому прямоугольнику
this.Rect = function (val) {
if (val === undefined) return this;
this.RectParam(val.X(), val.Y(), val.W(), val.H());
};
//Первая инициализация
if (x === undefined) x = 0;
else this.X(x);
if (y === undefined) y = 0;
else this.Y(y);
if (w === undefined) w = 0;
else this.W(w);
if (h === undefined) h = 0;
else this.H(h);
}