diff options
Diffstat (limited to 'libdimensionxx/dimensionxx/scene.hpp')
-rw-r--r-- | libdimensionxx/dimensionxx/scene.hpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/libdimensionxx/dimensionxx/scene.hpp b/libdimensionxx/dimensionxx/scene.hpp index 8b5270c..c79152f 100644 --- a/libdimensionxx/dimensionxx/scene.hpp +++ b/libdimensionxx/dimensionxx/scene.hpp @@ -25,12 +25,19 @@ namespace Dimension { + // Wrapper for dmnsn_quality + enum Quality { + RENDER_NONE = DMNSN_RENDER_NONE, + RENDER_OBJECTS = DMNSN_RENDER_OBJECTS, + RENDER_FULL = DMNSN_RENDER_FULL + }; + // Base scene class. Wraps a dmnsn_scene*. class Scene { public: // Allocate a dmnsn_scene* - Scene(const Color& background, Camera& camera, Canvas& canvas); + Scene(Camera& camera, Canvas& canvas); // Scene(const Scene& scene); @@ -38,14 +45,21 @@ namespace Dimension ~Scene(); // Element access - Color background() const; - Camera& camera(); - const Camera& camera() const; - Canvas& canvas(); - const Canvas& canvas() const; + Color background() const; + void background(const Color& color); + + Camera& camera(); + const Camera& camera() const; + + Canvas& canvas(); + const Canvas& canvas() const; + Array<Object>& objects(); const Array<Object>& objects() const; + Quality quality() const; + void quality(Quality quality); + // Access the wrapped C object. dmnsn_scene* dmnsn(); const dmnsn_scene* dmnsn() const; |