ImfOutputPart.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // SPDX-License-Identifier: BSD-3-Clause
  3. // Copyright (c) Contributors to the OpenEXR Project.
  4. //
  5. #ifndef IMFOUTPUTPART_H_
  6. #define IMFOUTPUTPART_H_
  7. #include "ImfForward.h"
  8. OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
  9. //---------------------------------------------------------------------
  10. // class OutputPart:
  11. //
  12. // Same interface as OutputFile. Please refer to OutputFile.
  13. //---------------------------------------------------------------------
  14. class IMF_EXPORT_TYPE OutputPart
  15. {
  16. public:
  17. IMF_EXPORT
  18. OutputPart(MultiPartOutputFile& multiPartFile, int partNumber);
  19. IMF_EXPORT
  20. const char * fileName () const;
  21. IMF_EXPORT
  22. const Header & header () const;
  23. IMF_EXPORT
  24. void setFrameBuffer (const FrameBuffer &frameBuffer);
  25. IMF_EXPORT
  26. const FrameBuffer & frameBuffer () const;
  27. IMF_EXPORT
  28. void writePixels (int numScanLines = 1);
  29. IMF_EXPORT
  30. int currentScanLine () const;
  31. IMF_EXPORT
  32. void copyPixels (InputFile &in);
  33. IMF_EXPORT
  34. void copyPixels (InputPart &in);
  35. IMF_EXPORT
  36. void updatePreviewImage (const PreviewRgba newPixels[]);
  37. IMF_EXPORT
  38. void breakScanLine (int y, int offset, int length, char c);
  39. private:
  40. OutputFile* file;
  41. };
  42. OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
  43. #endif /* IMFOUTPUTPART_H_ */