From 4f9f95a05a41bfbcc9965eaaf7f2d14c6af9f261 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 12 Apr 2009 15:42:04 +0000 Subject: Write C++ libdimension-png wrapper. --- libdimensionxx/dimensionxx/canvas.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'libdimensionxx/dimensionxx/canvas.hpp') diff --git a/libdimensionxx/dimensionxx/canvas.hpp b/libdimensionxx/dimensionxx/canvas.hpp index f51aa75..c501413 100644 --- a/libdimensionxx/dimensionxx/canvas.hpp +++ b/libdimensionxx/dimensionxx/canvas.hpp @@ -26,10 +26,14 @@ namespace Dimension class Canvas { public: - Canvas(unsigned int x, unsigned int y) - : m_canvas(dmnsn_new_canvas(x, y)) { } + Canvas(unsigned int width, unsigned int height) + : m_canvas(dmnsn_new_canvas(width, height)) { } + explicit Canvas(dmnsn_canvas* canvas) : m_canvas(canvas) { } virtual ~Canvas(); + unsigned int width() const { return m_canvas->x; } + unsigned int height() const { return m_canvas->y; } + Color pixel(unsigned int x, unsigned int y) const { return Color(dmnsn_get_pixel(m_canvas, x, y)); } void pixel(unsigned int x, unsigned int y, const Color& c) @@ -38,9 +42,12 @@ namespace Dimension dmnsn_canvas* dmnsn() { return m_canvas; } const dmnsn_canvas* dmnsn() const { return m_canvas; } - private: + protected: + Canvas() : m_canvas(0) { } + dmnsn_canvas* m_canvas; + private: // Copying prohibited Canvas(const Canvas&); Canvas& operator=(const Canvas&); -- cgit v1.2.3