]> git.cworth.org Git - apitrace/blobdiff - image.hpp
PNM output support.
[apitrace] / image.hpp
index e02abed08d6d667e54263734f274f7793a8d96bd..44fc4f4352252b148699097c08cef57afa16d523 100644 (file)
--- a/image.hpp
+++ b/image.hpp
@@ -65,15 +65,35 @@ public:
         return flipped ? pixels + (height - 1)*width*channels : pixels;
     }
 
+    inline const unsigned char *start(void) const {
+        return flipped ? pixels + (height - 1)*width*channels : pixels;
+    }
+
     inline unsigned char *end(void) {
         return flipped ? pixels - width*channels : pixels + height*width*channels;
     }
 
+    inline const unsigned char *end(void) const {
+        return flipped ? pixels - width*channels : pixels + height*width*channels;
+    }
+
     inline signed stride(void) const {
         return flipped ? -width*channels : width*channels;
     }
 
     bool writeBMP(const char *filename) const;
+
+    void writePNM(std::ostream &os) const;
+
+    inline bool writePNM(const char *filename) const {
+        std::ofstream os(filename, std::ofstream::binary);
+        if (!os) {
+            return false;
+        }
+        writePNM(os);
+        return true;
+    }
+
     bool writePNG(const char *filename) const;
 
     double compare(Image &ref);