1 2 /** 3 * @class 渲染器抽象基类。 4 * @param {Object} properties 创建对象的属性参数。可包含此类所有可写属性。 5 * @module hilo/renderer/Renderer 6 * @requires hilo/core/Hilo 7 * @requires hilo/core/Class 8 * @property {Object} canvas 渲染器对应的画布。它可能是一个普通的DOM元素,比如div,也可以是一个canvas画布元素。只读属性。 9 * @property {Object} stage 渲染器对应的舞台。只读属性。 10 */ 11 var Renderer = Class.create(/** @lends Renderer.prototype */{ 12 constructor: function Renderer(properties){ 13 properties = properties || {}; 14 Hilo.copy(this, properties, true); 15 }, 16 17 canvas: null, 18 stage: null, 19 20 /** 21 * 为开始绘制可视对象做准备。需要子类来实现。 22 * @param {View} target 要绘制的可视对象。 23 */ 24 startDraw: function(target){ }, 25 26 /** 27 * 绘制可视对象。需要子类来实现。 28 * @param {View} target 要绘制的可视对象。 29 */ 30 draw: function(target){ }, 31 32 /** 33 * 结束绘制可视对象后的后续处理方法。需要子类来实现。 34 * @param {View} target 要绘制的可视对象。 35 */ 36 endDraw: function(target){ }, 37 38 /** 39 * 对可视对象进行变换。需要子类来实现。 40 */ 41 transform: function(){ }, 42 43 /** 44 * 隐藏可视对象。需要子类来实现。 45 */ 46 hide: function(){ }, 47 48 /** 49 * 从画布中删除可视对象。注意:不是从stage中删除对象。需要子类来实现。 50 * @param {View} target 要删除的可视对象。 51 */ 52 remove: function(target){ }, 53 54 /** 55 * 清除画布指定区域。需要子类来实现。 56 * @param {Number} x 指定区域的x轴坐标。 57 * @param {Number} y 指定区域的y轴坐标。 58 * @param {Number} width 指定区域的宽度。 59 * @param {Number} height 指定区域的高度。 60 */ 61 clear: function(x, y, width, height){ } 62 63 });