/**
* @author Wolfgang Kowarschick <kowa@hs-augsburg.de>
* @copyright 2017 - 2018
* @license CC-BY-NC-SA-4.0
*/
/**
* @module app03/view/ViewCircleGraphics
*/
import {Graphics} from 'pixi.js';
import stringToHex from '/wk_pixi/util/stringToHex';
/**
* @property {ModelCircle} model - the model to be visualized
* @property {PIXI.Graphics} sprite - a graphic object that visualizes the model
*/
class ViewCircleGraphics
{ /**
* @param {Object} p_pixi_app
* @param {ModelCircle|Object} 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 = 5,
borderColor: p_border_color = '#AAAAAA',
color: p_color = '#FFAA00'
} = {}
)
{ const c_sprite = new Graphics();
c_sprite.lineStyle(p_border, stringToHex(p_border_color), 1);
c_sprite.beginFill(stringToHex(p_color));
c_sprite.drawCircle(0, 0, p_model.r-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 default ViewCircleGraphics;