1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#pragma once
#include "Options.h"
#include "Image.h"
namespace graphics {
/**
* PPM options.
*/
class PPMOptions : public FormatOptions {
STORM_CLASS;
public:
// Create, default options.
STORM_CTOR PPMOptions();
// Store in binary?
Bool binary;
// Mode.
enum Mode {
// Monochrome, 1bpp
mono1 = 1,
// Monochrome, 8bpp
mono = 2,
// Color, 24bpp
color = 3,
};
// Mode.
Mode mode;
// Create, specify options.
STORM_CTOR PPMOptions(Bool binary, Mode mode);
// Load an image, set options.
virtual Image *STORM_FN load(IStream *from);
// Save an image according to options.
virtual void STORM_FN save(Image *image, OStream *to);
using FormatOptions::load;
// To string.
virtual void STORM_FN toS(StrBuf *out) const;
using FormatOptions::save;
};
// Create an ImageFormat. For internal use.
ImageFormat *ppmFormat(Engine &e);
}
|