Hilo/docs/api-zh/code/renderer/Renderer.js
2017-06-29 14:48:45 +08:00

78 lines
2.3 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 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){ }
});