DYT/Tool/OpenSceneGraph-3.6.5/include/OpenEXR/ImfForward.h
2024-12-25 07:49:36 +08:00

95 lines
2.6 KiB
C++

//
// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) Contributors to the OpenEXR Project.
//
#ifndef INCLUDED_IMF_FORWARD_H
#define INCLUDED_IMF_FORWARD_H
////////////////////////////////////////////////////////////////////
//
// Forward declarations for OpenEXR - correctly declares namespace
//
////////////////////////////////////////////////////////////////////
#include "ImfExport.h"
#include "ImfNamespace.h"
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
// classes for basic types;
template <class T> class IMF_EXPORT_TEMPLATE_TYPE Array;
template <class T> class IMF_EXPORT_TEMPLATE_TYPE Array2D;
struct IMF_EXPORT_TYPE Channel;
class IMF_EXPORT_TYPE ChannelList;
struct IMF_EXPORT_TYPE Chromaticities;
// attributes used in headers are TypedAttributes
class IMF_EXPORT_TYPE Attribute;
class IMF_EXPORT_TYPE Header;
// file handling classes
class IMF_EXPORT_TYPE OutputFile;
class IMF_EXPORT_TYPE TiledInputFile;
class IMF_EXPORT_TYPE ScanLineInputFile;
class IMF_EXPORT_TYPE InputFile;
class IMF_EXPORT_TYPE TiledOutputFile;
class IMF_EXPORT_TYPE DeepScanLineInputFile;
class IMF_EXPORT_TYPE DeepScanLineOutputFile;
class IMF_EXPORT_TYPE DeepTiledInputFile;
class IMF_EXPORT_TYPE DeepTiledOutputFile;
class IMF_EXPORT_TYPE AcesInputFile;
class IMF_EXPORT_TYPE AcesOutputFile;
class IMF_EXPORT_TYPE TiledInputPart;
class IMF_EXPORT_TYPE TiledInputFile;
class IMF_EXPORT_TYPE TileOffsets;
// multipart file handling
class IMF_EXPORT_TYPE GenericInputFile;
class IMF_EXPORT_TYPE GenericOutputFile;
class IMF_EXPORT_TYPE MultiPartInputFile;
class IMF_EXPORT_TYPE MultiPartOutputFile;
class IMF_EXPORT_TYPE InputPart;
class IMF_EXPORT_TYPE TiledInputPart;
class IMF_EXPORT_TYPE DeepScanLineInputPart;
class IMF_EXPORT_TYPE DeepTiledInputPart;
class IMF_EXPORT_TYPE OutputPart;
class IMF_EXPORT_TYPE ScanLineOutputPart;
class IMF_EXPORT_TYPE TiledOutputPart;
class IMF_EXPORT_TYPE DeepScanLineOutputPart;
class IMF_EXPORT_TYPE DeepTiledOutputPart;
// internal use only
struct InputPartData;
struct OutputStreamMutex;
struct OutputPartData;
struct InputStreamMutex;
// frame buffers
class IMF_EXPORT_TYPE FrameBuffer;
class IMF_EXPORT_TYPE DeepFrameBuffer;
struct IMF_EXPORT_TYPE DeepSlice;
// compositing
class IMF_EXPORT_TYPE DeepCompositing;
class IMF_EXPORT_TYPE CompositeDeepScanLine;
// preview image
class IMF_EXPORT_TYPE PreviewImage;
struct IMF_EXPORT_TYPE PreviewRgba;
// streams
class IMF_EXPORT_TYPE OStream;
class IMF_EXPORT_TYPE IStream;
class IMF_EXPORT_TYPE IDManifest;
class IMF_EXPORT_TYPE CompressedIDManifest;
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
#endif // include guard