HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: //usr/include/OpenEXR/ImfFlatImage.h
//
// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) Contributors to the OpenEXR Project.
//

#ifndef INCLUDED_IMF_FLAT_IMAGE_H
#define INCLUDED_IMF_FLAT_IMAGE_H

//----------------------------------------------------------------------------
//
//      class FlatImage
//
//      For an explanation of images, levels and channels,
//      see the comments in header file Image.h.
//
//----------------------------------------------------------------------------

#include "ImfFlatImageLevel.h"
#include "ImfImage.h"
#include "ImfUtilExport.h"

#include "ImfTileDescription.h"

OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER


class IMFUTIL_EXPORT_TYPE FlatImage : public Image
{
  public:

    //
    // Constructors and destructor.
    // The default constructor constructs an image with an empty data
    // window level mode ONE_LEVEL and level rounding mode ROUND_DOWN.
    //

  	IMFUTIL_EXPORT FlatImage();

    IMFUTIL_EXPORT
  	FlatImage(const IMATH_NAMESPACE::Box2i &dataWindow,
               LevelMode levelMode = ONE_LEVEL,
               LevelRoundingMode levelRoundingMode = ROUND_DOWN);

    IMFUTIL_EXPORT virtual ~FlatImage();


    //
    // Accessing image levels by level number
    //

    IMFUTIL_EXPORT virtual FlatImageLevel &        level(int l = 0);
    IMFUTIL_EXPORT virtual const FlatImageLevel &  level(int l = 0) const;

    IMFUTIL_EXPORT virtual FlatImageLevel &        level(int lx, int ly);
    IMFUTIL_EXPORT virtual const FlatImageLevel &  level(int lx, int ly) const;

   protected:

    IMFUTIL_EXPORT virtual FlatImageLevel *
        newLevel (int lx, int ly, const IMATH_NAMESPACE::Box2i &dataWindow);
};


OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT

#endif