X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scene.hh;h=e0c7d393376c062fdf36b8bba0e530731caf5f49;hb=a737ad45e690daa3b39b8885e2b6574d2ea48833;hp=3e7293ddbff93dbc706eb30e16ddd75d57855553;hpb=03be53bf14d0c2e1e3e19356376491945cdd78c8;p=chaz%2Frasterize diff --git a/scene.hh b/scene.hh index 3e7293d..e0c7d39 100644 --- a/scene.hh +++ b/scene.hh @@ -8,6 +8,7 @@ #ifndef _SCENE_HH_ #define _SCENE_HH_ +#include "list.hh" #include "raster.hh" @@ -27,11 +28,27 @@ scene_t* scene_alloc(FILE* file); 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_