HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImfFlatImage.h
Go to the documentation of this file.
1 //
2 // SPDX-License-Identifier: BSD-3-Clause
3 // Copyright (c) Contributors to the OpenEXR Project.
4 //
5 
6 #ifndef INCLUDED_IMF_FLAT_IMAGE_H
7 #define INCLUDED_IMF_FLAT_IMAGE_H
8 
9 //----------------------------------------------------------------------------
10 //
11 // class FlatImage
12 //
13 // For an explanation of images, levels and channels,
14 // see the comments in header file Image.h.
15 //
16 //----------------------------------------------------------------------------
17 
18 #include "ImfFlatImageLevel.h"
19 #include "ImfImage.h"
20 #include "ImfUtilExport.h"
21 
22 #include "ImfTileDescription.h"
23 
25 
27 {
28 public:
29  //
30  // Constructors and destructor.
31  // The default constructor constructs an image with an empty data
32  // window level mode ONE_LEVEL and level rounding mode ROUND_DOWN.
33  //
34 
36 
38  FlatImage (
39  const IMATH_NAMESPACE::Box2i& dataWindow,
40  LevelMode levelMode = ONE_LEVEL,
41  LevelRoundingMode levelRoundingMode = ROUND_DOWN);
42 
43  IMFUTIL_EXPORT virtual ~FlatImage ();
44 
45  //
46  // Accessing image levels by level number
47  //
48 
49  IMFUTIL_EXPORT virtual FlatImageLevel& level (int l = 0);
50  IMFUTIL_EXPORT virtual const FlatImageLevel& level (int l = 0) const;
51 
52  IMFUTIL_EXPORT virtual FlatImageLevel& level (int lx, int ly);
53  IMFUTIL_EXPORT virtual const FlatImageLevel& level (int lx, int ly) const;
54 
55 protected:
57  newLevel (int lx, int ly, const IMATH_NAMESPACE::Box2i& dataWindow);
58 };
59 
61 
62 #endif
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
Definition: ImfNamespace.h:83
virtual IMFUTIL_EXPORT ImageLevel & level(int l=0)
Definition: Image.h:45
enum IMF_EXPORT_ENUM LevelRoundingMode
Box< V2i > Box2i
2D box of base type int.
Definition: ImathBox.h:143
#define IMFUTIL_EXPORT_TYPE
Definition: ImfUtilExport.h:54
#define IMFUTIL_EXPORT
Definition: ImfUtilExport.h:51
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
Definition: ImfNamespace.h:80
virtual ImageLevel * newLevel(int lx, int ly, const IMATH_NAMESPACE::Box2i &dataWindow)=0
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER enum IMF_EXPORT_ENUM LevelMode
ROUND_DOWN