blob: c56e0801615cec8c6a34ec84756dac80dc5d5028 [file] [log] [blame]
#ifndef SkImageEncoder_DEFINED
#define SkImageEncoder_DEFINED
#include "SkTypes.h"
class SkBitmap;
class SkWStream;
class SkImageEncoder {
public:
enum Type {
kJPEG_Type,
kPNG_Type,
kWEBP_Type
};
static SkImageEncoder* Create(Type);
virtual ~SkImageEncoder();
/* Quality ranges from 0..100 */
enum {
kDefaultQuality = 80
};
bool encodeFile(const char file[], const SkBitmap&, int quality);
bool encodeStream(SkWStream*, const SkBitmap&, int quality);
static bool EncodeFile(const char file[], const SkBitmap&, Type,
int quality);
static bool EncodeStream(SkWStream*, const SkBitmap&, Type,
int quality);
protected:
virtual bool onEncode(SkWStream*, const SkBitmap&, int quality) = 0;
};
#endif