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