A shape implementation must include
- rdman_shape_*_new()
- clear memory for shape_t member.
- assign *_free() to shape_t::free.
- make new object been managed by a redraw manager.
- *_free()
- *_transform()
- *_draw()
- first member variable of a shape type must be a shape_t.
Must modify