00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef FXPNGICON_H
00022 #define FXPNGICON_H
00023
00024 #ifndef FXICON_H
00025 #include "FXIcon.h"
00026 #endif
00027
00028 namespace FX {
00029
00030
00032 class FXAPI FXPNGIcon : public FXIcon {
00033 FXDECLARE(FXPNGIcon)
00034 protected:
00035 FXPNGIcon(){}
00036 private:
00037 FXPNGIcon(const FXPNGIcon&);
00038 FXPNGIcon &operator=(const FXPNGIcon&);
00039 public:
00040 static const FXchar fileExt[];
00041 static const FXchar mimeType[];
00042 public:
00043
00045 FXPNGIcon(FXApp *a,const void *pix=NULL,FXColor clr=FXRGB(192,192,192),FXuint opts=0,FXint w=1,FXint h=1);
00046
00048 static const FXbool supported;
00049
00051 virtual FXbool savePixels(FXStream& store) const;
00052
00054 virtual FXbool loadPixels(FXStream& store);
00055
00057 virtual ~FXPNGIcon();
00058 };
00059
00060
00061 #ifndef FXLOADPNG
00062 #define FXLOADPNG
00063
00067 extern FXAPI FXbool fxcheckPNG(FXStream& store);
00068
00069
00075 extern FXAPI FXbool fxloadPNG(FXStream& store,FXColor*& data,FXint& width,FXint& height);
00076
00077
00081 extern FXAPI FXbool fxsavePNG(FXStream& store,const FXColor* data,FXint width,FXint height);
00082
00083 #endif
00084
00085 }
00086
00087 #endif