Some const correctness.
[dcpomatic.git] / src / lib / image.h
index 6b9ade99eefccb8b3d92e7c023300c14f9ac9601..31035d272d99a33f4791ff210d0cff23db47e991 100644 (file)
@@ -70,6 +70,8 @@ public:
 
        virtual bool aligned () const = 0;
 
+       virtual boost::shared_ptr<Image> clone () const = 0;
+
        int components () const;
        int lines (int) const;
 
@@ -118,6 +120,9 @@ private:
        /* Not allowed */
        FilterBufferImage (FilterBufferImage const &);
        FilterBufferImage& operator= (FilterBufferImage const &);
+       boost::shared_ptr<Image> clone () const {
+               assert (false);
+       }
        
        AVFilterBufferRef* _buffer;
        int* _line_size;
@@ -139,6 +144,7 @@ public:
        int * stride () const;
        libdcp::Size size () const;
        bool aligned () const;
+       boost::shared_ptr<Image> clone () const;
 
 protected:
        void allocate ();