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 FXJPGICON_H
00025 #define FXJPGICON_H
00026
00027 #ifndef FXICON_H
00028 #include "FXIcon.h"
00029 #endif
00030
00031 namespace FX {
00032
00033
00035 class FXAPI FXJPGIcon : public FXIcon {
00036 FXDECLARE(FXJPGIcon)
00037 protected:
00038 FXint quality;
00039 protected:
00040 FXJPGIcon(){}
00041 private:
00042 FXJPGIcon(const FXJPGIcon&);
00043 FXJPGIcon &operator=(const FXJPGIcon&);
00044 public:
00045 static const FXchar *fileExt;
00046 static const FXchar *mimeType;
00047 public:
00048
00050 FXJPGIcon(FXApp *a,const void *pix=NULL,FXColor clr=FXRGB(192,192,192),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 savePixels(FXStream& store) const;
00063
00065 virtual bool loadPixels(FXStream& store);
00066
00068 virtual ~FXJPGIcon();
00069 };
00070
00071
00072
00076 extern FXAPI bool fxcheckJPG(FXStream& store);
00077
00078
00084 extern FXAPI bool fxloadJPG(FXStream& store,FXColor*& data,FXint& width,FXint& height,FXint& quality);
00085
00086
00090 extern FXAPI bool fxsaveJPG(FXStream& store,const FXColor* data,FXint width,FXint height,FXint quality);
00091
00092 }
00093
00094 #endif