summaryrefslogtreecommitdiff
path: root/gpr/source/lib/dng_sdk/dng_simple_image.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpr/source/lib/dng_sdk/dng_simple_image.h')
-rw-r--r--gpr/source/lib/dng_sdk/dng_simple_image.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/gpr/source/lib/dng_sdk/dng_simple_image.h b/gpr/source/lib/dng_sdk/dng_simple_image.h
new file mode 100644
index 0000000..006337d
--- /dev/null
+++ b/gpr/source/lib/dng_sdk/dng_simple_image.h
@@ -0,0 +1,82 @@
+/*****************************************************************************/
+// Copyright 2006-2008 Adobe Systems Incorporated
+// All Rights Reserved.
+//
+// NOTICE: Adobe permits you to use, modify, and distribute this file in
+// accordance with the terms of the Adobe license agreement accompanying it.
+/*****************************************************************************/
+
+/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_simple_image.h#1 $ */
+/* $DateTime: 2012/05/30 13:28:51 $ */
+/* $Change: 832332 $ */
+/* $Author: tknoll $ */
+
+/*****************************************************************************/
+
+#ifndef __dng_simple_image__
+#define __dng_simple_image__
+
+/*****************************************************************************/
+
+#include "dng_auto_ptr.h"
+#include "dng_image.h"
+#include "dng_pixel_buffer.h"
+
+/*****************************************************************************/
+
+/// dng_image derived class with simple Trim and Rotate functionality.
+
+class dng_simple_image : public dng_image
+ {
+
+ protected:
+
+ dng_pixel_buffer fBuffer;
+
+ AutoPtr<dng_memory_block> fMemory;
+
+ dng_memory_allocator &fAllocator;
+
+ public:
+
+ dng_simple_image (const dng_rect &bounds,
+ uint32 planes,
+ uint32 pixelType,
+ dng_memory_allocator &allocator);
+
+ virtual ~dng_simple_image ();
+
+ virtual dng_image * Clone () const;
+
+ /// Setter for pixel type.
+
+ virtual void SetPixelType (uint32 pixelType);
+
+ /// Trim image data outside of given bounds. Memory is not reallocated or freed.
+
+ virtual void Trim (const dng_rect &r);
+
+ /// Rotate image according to orientation.
+
+ virtual void Rotate (const dng_orientation &orientation);
+
+ /// Get the buffer for direct processing. (Unique to dng_simple_image.)
+
+ void GetPixelBuffer (dng_pixel_buffer &buffer)
+ {
+ buffer = fBuffer;
+ }
+
+ protected:
+
+ virtual void AcquireTileBuffer (dng_tile_buffer &buffer,
+ const dng_rect &area,
+ bool dirty) const;
+
+ };
+
+/*****************************************************************************/
+
+#endif
+
+/*****************************************************************************/