46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
//Объявление класса прямоугольника
|
||
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);
|
||
} |