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);
|
|||
|
}
|