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 
26 
28 {
29  public:
30 
31  //
32  // Constructors and destructor.
33  // The default constructor constructs an image with an empty data
34  // window level mode ONE_LEVEL and level rounding mode ROUND_DOWN.
35  //
36 
38 
40  FlatImage(const IMATH_NAMESPACE::Box2i &dataWindow,
41  LevelMode levelMode = ONE_LEVEL,
42  LevelRoundingMode levelRoundingMode = ROUND_DOWN);
43 
44  IMFUTIL_EXPORT virtual ~FlatImage();
45 
46 
47  //
48  // Accessing image levels by level number
49  //
50 
51  IMFUTIL_EXPORT virtual FlatImageLevel & level(int l = 0);
52  IMFUTIL_EXPORT virtual const FlatImageLevel & level(int l = 0) const;
53 
54  IMFUTIL_EXPORT virtual FlatImageLevel & level(int lx, int ly);
55  IMFUTIL_EXPORT virtual const FlatImageLevel & level(int lx, int ly) const;
56 
57  protected:
58 
60  newLevel (int lx, int ly, const IMATH_NAMESPACE::Box2i &dataWindow);
61 };
62 
63 
65 
66 #endif
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
Definition: ImfNamespace.h:80
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:79
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