DYT/Tool/OpenSceneGraph-3.6.5/include/OpenEXR/ImfInputPart.h

73 lines
1.8 KiB
C
Raw Normal View History

2024-12-24 23:49:36 +00:00
//
// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) Contributors to the OpenEXR Project.
//
#ifndef IMFINPUTPART_H_
#define IMFINPUTPART_H_
#include "ImfForward.h"
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
//-------------------------------------------------------------------
// class InputPart:
//
// Same interface as InputFile. Please refer to InputFile.
//-------------------------------------------------------------------
class IMF_EXPORT_TYPE InputPart
{
public:
IMF_EXPORT
InputPart (MultiPartInputFile& multiPartFile, int partNumber);
IMF_EXPORT
const char* fileName () const;
IMF_EXPORT
const Header& header () const;
IMF_EXPORT
int version () const;
IMF_EXPORT
void setFrameBuffer (const FrameBuffer& frameBuffer);
IMF_EXPORT
const FrameBuffer& frameBuffer () const;
IMF_EXPORT
bool isComplete () const;
IMF_EXPORT
bool isOptimizationEnabled () const;
IMF_EXPORT
void readPixels (int scanLine1, int scanLine2);
IMF_EXPORT
void readPixels (int scanLine);
IMF_EXPORT
void readPixels (
const FrameBuffer& frameBuffer, int scanLine1, int scanLine2);
IMF_EXPORT
void rawPixelData (
int firstScanLine, const char*& pixelData, int& pixelDataSize);
IMF_EXPORT
void rawPixelDataToBuffer (
int scanLine, char* pixelData, int& pixelDataSize) const;
IMF_EXPORT
void rawTileData (
int& dx,
int& dy,
int& lx,
int& ly,
const char*& pixelData,
int& pixelDataSize);
private:
InputFile* file;
// for internal use - give OutputFile and TiledOutputFile access to file for copyPixels
friend class OutputFile;
friend class TiledOutputFile;
};
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
#endif /* IMFINPUTPART_H_ */