mirror of
https://github.com/hiloteam/Hilo.git
synced 2025-12-08 20:35:59 +00:00
78 lines
2.3 KiB
JavaScript
78 lines
2.3 KiB
JavaScript
/**
|
||
* Hilo
|
||
* Copyright 2015 alibaba.com
|
||
* Licensed under the MIT License
|
||
*/
|
||
|
||
/**
|
||
* @class 渲染器抽象基类。
|
||
* @param {Object} properties 创建对象的属性参数。可包含此类所有可写属性。
|
||
* @module hilo/renderer/Renderer
|
||
* @requires hilo/core/Class
|
||
* @requires hilo/util/util
|
||
* @property {Object} canvas 渲染器对应的画布。它可能是一个普通的DOM元素,比如div,也可以是一个canvas画布元素。只读属性。
|
||
* @property {Object} stage 渲染器对应的舞台。只读属性。
|
||
* @property {String} renderType 渲染方式。只读属性。
|
||
*/
|
||
var Renderer = Class.create(/** @lends Renderer.prototype */{
|
||
constructor: function(properties){
|
||
properties = properties || {};
|
||
util.copy(this, properties, true);
|
||
},
|
||
|
||
renderType:null,
|
||
canvas: null,
|
||
stage: null,
|
||
blendMode:'source-over',
|
||
|
||
/**
|
||
* 为开始绘制可视对象做准备。需要子类来实现。
|
||
* @param {View} target 要绘制的可视对象。
|
||
*/
|
||
startDraw: function(target){ },
|
||
|
||
/**
|
||
* 绘制可视对象。需要子类来实现。
|
||
* @param {View} target 要绘制的可视对象。
|
||
*/
|
||
draw: function(target){ },
|
||
|
||
/**
|
||
* 结束绘制可视对象后的后续处理方法。需要子类来实现。
|
||
* @param {View} target 要绘制的可视对象。
|
||
*/
|
||
endDraw: function(target){ },
|
||
|
||
/**
|
||
* 对可视对象进行变换。需要子类来实现。
|
||
*/
|
||
transform: function(){ },
|
||
|
||
/**
|
||
* 隐藏可视对象。需要子类来实现。
|
||
*/
|
||
hide: function(){ },
|
||
|
||
/**
|
||
* 从画布中删除可视对象。注意:不是从stage中删除对象。需要子类来实现。
|
||
* @param {View} target 要删除的可视对象。
|
||
*/
|
||
remove: function(target){ },
|
||
|
||
/**
|
||
* 清除画布指定区域。需要子类来实现。
|
||
* @param {Number} x 指定区域的x轴坐标。
|
||
* @param {Number} y 指定区域的y轴坐标。
|
||
* @param {Number} width 指定区域的宽度。
|
||
* @param {Number} height 指定区域的高度。
|
||
*/
|
||
clear: function(x, y, width, height){ },
|
||
|
||
/**
|
||
* 改变渲染器的画布大小。
|
||
* @param {Number} width 指定渲染画布新的宽度。
|
||
* @param {Number} height 指定渲染画布新的高度。
|
||
*/
|
||
resize: function(width, height){ }
|
||
|
||
}); |