| import Utils from "/app/js/common/Utils.js" | |||||
| export default class ISurface{ | |||||
| constructor(){ | |||||
| this.__default_pi = [ | |||||
| "#080808", | |||||
| "#343434", | |||||
| "#a2a2a2", | |||||
| "#efefef", | |||||
| "#666666" // Out of bounds color. | |||||
| ]; | |||||
| } | |||||
| get width(){return 0;} | |||||
| get height(){return 0;} | |||||
| get length(){return 0;} | |||||
| get coloridx(){ | |||||
| return new Proxy(this, { | |||||
| get: function(obj, prop){ | |||||
| if (prop === "length") | |||||
| return 0; | |||||
| if (!Utils.isInt(prop)) | |||||
| throw new TypeError("Expected integer index."); | |||||
| if (prop < 0) | |||||
| throw new RangeError("Index is out of bounds."); | |||||
| return obj.__default_pi[4]; | |||||
| } | |||||
| set: function(obj, prop, value){ | |||||
| if (!Utils.isInt(prop)) | |||||
| throw new TypeError("Expected integer index."); | |||||
| if (prop < 0) | |||||
| throw new RangeError("Index out of bounds."); | |||||
| if (!Utils.isInt(value)) | |||||
| throw new TypeError("Color index expected to be an integer."); | |||||
| if (value < 0 || value >= 4) | |||||
| throw new RangeError("Color index is out of bounds."); | |||||
| return true; | |||||
| } | |||||
| }); | |||||
| } | |||||
| copy(b){return this;} | |||||
| clone(){return new ISurface();} | |||||
| getColor(x, y){ | |||||
| return this.__default_pi[4]; | |||||
| } | |||||
| setColorIndex(x, y, ci, pi){ | |||||
| return this; | |||||
| } | |||||
| } |