diff --git a/exec/load/frame.js b/exec/load/frame.js index 5756f0c647c9bfb4d9fa03d8d4c8fa896bc0bdde..9d6a1466b357cabda10c1495caa1e54525872f39 100644 --- a/exec/load/frame.js +++ b/exec/load/frame.js @@ -151,7 +151,7 @@ function Frame(x,y,width,height,attr,frame) { else if(isNaN(x)) throw("invalid x coordinate: " + x); else - properties.x = x; + properties.x = Number(x); }); this.__defineGetter__("y", function() { return properties.y; @@ -162,7 +162,7 @@ function Frame(x,y,width,height,attr,frame) { else if(isNaN(y) || y < 1 || y > console.screen_rows) throw("invalid y coordinate: " + y); else - properties.y = y; + properties.y = Number(y); }); this.__defineGetter__("width", function() { return properties.width; @@ -170,10 +170,10 @@ function Frame(x,y,width,height,attr,frame) { this.__defineSetter__("width", function(width) { if(width == undefined) properties.width = console.screen_columns; - else if(isNaN(width) || (x + width - 1) > (console.screen_columns)) + else if(isNaN(width) || (this.x + Number(width) - 1) > (console.screen_columns)) throw("invalid width: " + width); else - properties.width = width; + properties.width = Number(width); }); this.__defineGetter__("height", function() { return properties.height; @@ -181,10 +181,10 @@ function Frame(x,y,width,height,attr,frame) { this.__defineSetter__("height", function(height) { if(height == undefined) properties.height = console.screen_rows; - else if(isNaN(height) || (y + height - 1) > (console.screen_rows)) + else if(isNaN(height) || (this.y + Number(height) - 1) > (console.screen_rows)) throw("invalid height: " + height); else - properties.height = height; + properties.height = Number(height); }); /* public methods */ @@ -507,7 +507,7 @@ function Frame(x,y,width,height,attr,frame) { return; if(!checkX(x)) throw("invalid x coordinate: " + x); - properties.x = x; + properties.x = Number(x); }); this.__defineGetter__("y", function() { if(properties.y == undefined) @@ -519,7 +519,7 @@ function Frame(x,y,width,height,attr,frame) { return; if(!checkY(y)) throw("invalid y coordinate: " + y); - properties.y = y; + properties.y = Number(y); }); this.__defineGetter__("width", function() { if(properties.width == undefined) @@ -529,9 +529,9 @@ function Frame(x,y,width,height,attr,frame) { this.__defineSetter__("width", function(width) { if(width == undefined) return; - if(!checkWidth(this.x,width)) + if(!checkWidth(this.x,Number(width))) throw("invalid width: " + width); - properties.width = width; + properties.width = Number(width); }); this.__defineGetter__("height", function() { if(properties.height == undefined) @@ -541,9 +541,9 @@ function Frame(x,y,width,height,attr,frame) { this.__defineSetter__("height", function(height) { if(height == undefined) return; - if(!checkHeight(this.y,height)) + if(!checkHeight(this.y,Number(height))) throw("invalid height: " + height); - properties.height = height; + properties.height = Number(height); }); /* read-only properties */ @@ -1266,6 +1266,12 @@ function Frame(x,y,width,height,attr,frame) { this.setData(position.cursor.x,position.cursor.y,ch,attr,true); } function init(x,y,width,height,attr,frame) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + this.attr = attr; + if(frame instanceof Frame) { properties.id = frame.child.length; properties.display = frame.display; @@ -1276,12 +1282,6 @@ function Frame(x,y,width,height,attr,frame) { else { properties.display = new Display(x,y,width,height); } - - this.x = x; - this.y = y; - this.width = width; - this.height = height; - this.attr = attr; for(var h=0;h<this.height;h++) { properties.data.push(new Array(this.width));