+#include <boost/python.hpp>
+#include <boost/python/register_ptr_to_python.hpp>
+using namespace boost::python;
+
+#include "alg/drawable.hpp"
+
+
+void export_drawable()
+{
+ class_<Drawable>("Drawable")
+ .def(init<float, float, float, float, ColorRef>())
+ //optional<Drawable::draw_func_ptr> >())
+ .add_property("x", &Drawable::x, &Drawable::setX,
+ "starting x (horizontal) coordinate")
+ .add_property("y", &Drawable::y, &Drawable::setY,
+ "starting y (vertical) coordinate")
+ .add_property("z", &Drawable::z, &Drawable::setZ,
+ "starting z (depth into/out of screen) coordinate")
+ .add_property("h", &Drawable::height, &Drawable::setHeight,
+ "how 'tall' our rectangle should be")
+ .add_property("color", &Drawable::color, &Drawable::setColor,
+ "color for this object")
+
+ //void setDrawFunction(draw_func_ptr d) { draw_func = d; }
+ //draw_func_ptr drawFunction() const { return draw_func; }
+ ;
+
+ register_ptr_to_python< DrawableRef >();
+}
+
+
+