/*========================================================================= Program: Visualization Toolkit Module: vtkBMPWriter.h Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ /** * @class vtkBMPWriter * @brief Writes Windows BMP files. * * vtkBMPWriter writes BMP files. The data type * of the file is unsigned char regardless of the input type. * * @sa * vtkBMPReader */ #ifndef vtkBMPWriter_h #define vtkBMPWriter_h #include "vtkIOImageModule.h" // For export macro #include "vtkImageWriter.h" class vtkUnsignedCharArray; class VTKIOIMAGE_EXPORT vtkBMPWriter : public vtkImageWriter { public: static vtkBMPWriter *New(); vtkTypeMacro(vtkBMPWriter,vtkImageWriter); void PrintSelf(ostream& os, vtkIndent indent) override; //@{ /** * Write the image to memory (a vtkUnsignedCharArray) */ vtkSetMacro(WriteToMemory, unsigned int); vtkGetMacro(WriteToMemory, unsigned int); vtkBooleanMacro(WriteToMemory, unsigned int); //@} //@{ /** * When writing to memory this is the result, it will be NULL until the * data is written the first time */ virtual void SetResult(vtkUnsignedCharArray*); vtkGetObjectMacro(Result, vtkUnsignedCharArray); //@} protected: vtkBMPWriter(); ~vtkBMPWriter() override; void WriteFile(ostream *file, vtkImageData *data, int ext[6], int wExt[6]) override; void WriteFileHeader(ostream *, vtkImageData *, int wExt[6]) override; void MemoryWrite(int, vtkImageData *, int wExt[6], vtkInformation *inInfo) override; private: vtkBMPWriter(const vtkBMPWriter&) = delete; void operator=(const vtkBMPWriter&) = delete; vtkUnsignedCharArray *Result; }; #endif