00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00021 #ifndef __vtkKWResourceUtilities_h
00022 #define __vtkKWResourceUtilities_h
00023
00024 #include "vtkObject.h"
00025 #include "vtkKWWidgets.h"
00026
00027 class vtkKWWidget;
00028
00029 class KWWidgets_EXPORT vtkKWResourceUtilities : public vtkObject
00030 {
00031
00032 public:
00033 static vtkKWResourceUtilities* New();
00034 vtkTypeRevisionMacro(vtkKWResourceUtilities,vtkObject);
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036
00038
00044 static int ReadImage(const char *filename,
00045 int *width, int *height,
00046 int *pixel_size,
00047 unsigned char **pixels);
00049
00051
00059 static int ReadPNGImage(const char *filename,
00060 int *width, int *height,
00061 int *pixel_size,
00062 unsigned char **pixels);
00064
00066
00070 static int WritePNGImage(const char *filename,
00071 int width, int height,
00072 int pixel_size,
00073 const unsigned char *pixels);
00075
00077
00113 enum
00114 {
00115 ConvertImageToHeaderOptionZlib = 1,
00116 ConvertImageToHeaderOptionBase64 = 2,
00117 ConvertImageToHeaderOptionUpdate = 4,
00118 ConvertImageToHeaderOptionAppend = 8,
00119 ConvertImageToHeaderOptionUsePathInName = 16
00120 };
00121
00122 static int ConvertImageToHeader(
00123 const char *header_filename,
00124 const char **filenames,
00125 int nb_files,
00126 int options = 0,
00127 const char *var_prefix = NULL);
00129
00131
00136 static int EncodeBuffer(
00137 const unsigned char *input, unsigned long input_length,
00138 unsigned char **output, unsigned long *output_length,
00139 int options);
00141
00143
00150 static int DecodeBuffer(
00151 const unsigned char *input, unsigned long input_length,
00152 unsigned char **output, unsigned long output_expected_length);
00154
00155
00156
00157 protected:
00158 vtkKWResourceUtilities() {};
00159 ~vtkKWResourceUtilities() {};
00160
00161
00162
00163 private:
00164 vtkKWResourceUtilities(const vtkKWResourceUtilities&);
00165 void operator=(const vtkKWResourceUtilities&);
00166 };
00167
00168 #endif
00169
00170