# Renderer

模块 hilo/renderer/Renderer 依赖 hilo/core/Class, hilo/util/util 源码 Renderer.js
渲染器抽象基类。

### 属性概览

| 属性 | 定义于
--- | --- | ---
| canvas:Object 渲染器对应的画布。它可能是一个普通的DOM元素，比如div，也可以是一个canvas画布元素。只读属性。 | Renderer
| renderType:String 渲染方式。只读属性。 | Renderer
| stage:Object 渲染器对应的舞台。只读属性。 | Renderer

### 方法概览

| 方法 | 定义于
--- | --- | ---
| Renderer(properties:Object) 构造函数 | Renderer
| clear(x:Number, y:Number, width:Number, height:Number) 清除画布指定区域。需要子类来实现。 | Renderer
| draw(target:View) 绘制可视对象。需要子类来实现。 | Renderer
| endDraw(target:View) 结束绘制可视对象后的后续处理方法。需要子类来实现。 | Renderer
| hide() 隐藏可视对象。需要子类来实现。 | Renderer
| remove(target:View) 从画布中删除可视对象。注意：不是从stage中删除对象。需要子类来实现。 | Renderer
| resize(width:Number, height:Number) 改变渲染器的画布大小。 | Renderer
| startDraw(target:View) 为开始绘制可视对象做准备。需要子类来实现。 | Renderer
| transform() 对可视对象进行变换。需要子类来实现。 | Renderer

### 属性详情

canvas:Object
渲染器对应的画布。它可能是一个普通的DOM元素，比如div，也可以是一个canvas画布元素。只读属性。
renderType:String
渲染方式。只读属性。
stage:Object
渲染器对应的舞台。只读属性。

### 构造函数

Renderer(properties:Object)

parameters
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。

### 方法详情

clear(x:Number, y:Number, width:Number, height:Number)
清除画布指定区域。需要子类来实现。

parameters
x:Number — 指定区域的x轴坐标。
y:Number — 指定区域的y轴坐标。
width:Number — 指定区域的宽度。
height:Number — 指定区域的高度。

draw(target:View)
绘制可视对象。需要子类来实现。

parameters
target:View — 要绘制的可视对象。

endDraw(target:View)
结束绘制可视对象后的后续处理方法。需要子类来实现。

parameters
target:View — 要绘制的可视对象。

hide()
隐藏可视对象。需要子类来实现。
remove(target:View)
从画布中删除可视对象。注意：不是从stage中删除对象。需要子类来实现。

parameters
target:View — 要删除的可视对象。

resize(width:Number, height:Number)
改变渲染器的画布大小。

parameters
width:Number — 指定渲染画布新的宽度。
height:Number — 指定渲染画布新的高度。

startDraw(target:View)
为开始绘制可视对象做准备。需要子类来实现。

parameters
target:View — 要绘制的可视对象。

transform()
对可视对象进行变换。需要子类来实现。