/**
* @author Wolfgang Kowarschick <kowa@hs-augsburg.de>
* @copyright 2017 - 2018
* @license CC-BY-NC-SA-4.0
*/
import {Graphics} from 'pixi.js';
import {stringToHex} from '/wk_pixi/util/stringToHex';
/**
* @property {ModelRectangle} model - the model to be visualized
* @property {PIXI.Graphics} sprite - a graphic object that visualizes the model
*/
class ViewRectangleGraphics
{ /**
* @param {Object} p_pixi_app
* @param {ModelRectangle} p_model
* @param {Object} p_config
* @param {number} [p_config.border = 5]
* @param {string} [p_config.borderColor = '#AAAAAA']
* @param {string} [p_config.color = '#FFAA00']
*/
constructor
( p_pixi_app,
p_model,
{ border: p_border = 0,
borderColor: p_border_color = '#000000',
color: p_color = '#000000'
}
)
{ const c_sprite = new Graphics();
c_sprite.lineStyle(p_border, stringToHex(p_border_color), 1);
c_sprite.beginFill(stringToHex(p_color));
c_sprite.drawRect(0, 0,
p_model.width - 2*p_border,
p_model.height - 2*p_border
);
c_sprite.endFill();
p_pixi_app.stage.addChild(c_sprite);
this.sprite = c_sprite;
this.model = p_model;
this.render();
}
render()
{ this.sprite.x = this.model.x;
this.sprite.y = this.model.y;
}
}
export {ViewRectangleGraphics};