canvast编写的一些组件