00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef COIN_SBIMAGE_H
00021 #define COIN_SBIMAGE_H
00022 
00023 #include <Inventor/SbVec2s.h>
00024 #include <stddef.h> 
00025 
00026 class SbString;
00027 
00028 class COIN_DLL_API SbImage {
00029 public:
00030   SbImage(void);
00031   SbImage(const unsigned char * bytes,
00032           const SbVec2s & size, const int bytesperpixel);
00033   ~SbImage(void);
00034 
00035   void setValue(const SbVec2s & size, const int bytesperpixel,
00036                 const unsigned char * bytes);
00037   unsigned char * getValue(SbVec2s & size, int & bytesperpixel) const;
00038 
00039   SbBool readFile(const SbString & filename,
00040                 const SbString * const * searchdirectories = NULL,
00041                 const int numdirectories = 0);
00042 
00043   int operator==(const SbImage & image) const;
00044   int operator!=(const SbImage & image) const {
00045     return ! operator == (image);
00046   }
00047 
00048   static SbString searchForFile(const SbString & basename,
00049                                 const SbString * const * dirlist,
00050                                 const int numdirs);
00051 
00052 private:
00053   unsigned char * bytes;
00054   SbVec2s size;
00055   int bpp;
00056 };
00057 
00058 #endif // COIN_SBIMAGE_H