00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef FXJPGIMAGE_H
00025 #define FXJPGIMAGE_H
00026
00027 #ifndef FXIMAGE_H
00028 #include "FXImage.h"
00029 #endif
00030
00031 namespace FX {
00032
00033
00035 class FXAPI FXJPGImage : public FXImage {
00036 FXDECLARE(FXJPGImage)
00037 protected:
00038 FXint quality;
00039 protected:
00040 FXJPGImage(){}
00041 private:
00042 FXJPGImage(const FXJPGImage&);
00043 FXJPGImage &operator=(const FXJPGImage&);
00044 public:
00045 static const FXchar *fileExt;
00046 static const FXchar *mimeType;
00047 public:
00048
00050 FXJPGImage(FXApp *a,const void *pix=NULL,FXuint opts=0,FXint w=1,FXint h=1,FXint q=75);
00051
00053 static const bool supported;
00054
00056 void setQuality(FXint q){ quality=q; }
00057
00059 FXint getQuality() const { return quality; }
00060
00062 virtual bool loadPixels(FXStream& store);
00063
00065 virtual bool savePixels(FXStream& store) const;
00066
00068 virtual ~FXJPGImage();
00069 };
00070
00071
00075 extern FXAPI bool fxcheckJPG(FXStream& store);
00076
00077
00083 extern FXAPI bool fxloadJPG(FXStream& store,FXColor*& data,FXint& width,FXint& height,FXint& quality);
00084
00085
00089 extern FXAPI bool fxsaveJPG(FXStream& store,const FXColor* data,FXint width,FXint height,FXint quality);
00090
00091 }
00092
00093 #endif