#ifndef _SCENE_HH_
#define _SCENE_HH_
+#include "list.hh"
#include "raster.hh"
void scene_destroy(scene_t* s);
+/*
+ * Get the elements of a scene.
+ */
+list_t* scene_elements(const scene_t* s);
+
+/*
+ * Get the lights of a scene.
+ */
+list_t* scene_lights(const scene_t* s);
+
+/*
+ * Get the ambient light color of the scene.
+ */
+color_t scene_ambient(const scene_t* s);
+
+
/*
* Render a scene to an in-memory raster. The caller takes ownership of the
* returned object and must destroy it when it is no longer needed.
*/
-raster_t* scene_render(scene_t* s);
+raster_t* scene_render(const scene_t* s);
#endif // _SCENE_HH_