00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef COIN_SOSFIMAGE_H
00021 #define COIN_SOSFIMAGE_H
00022
00023 #include <Inventor/fields/SoSField.h>
00024 #include <Inventor/fields/SoSubField.h>
00025 #include <Inventor/SbVec2s.h>
00026
00027
00028 class COIN_DLL_API SoSFImage : public SoSField {
00029 typedef SoSField inherited;
00030
00031 SO_SFIELD_CONSTRUCTOR_HEADER(SoSFImage);
00032 SO_SFIELD_REQUIRED_HEADER(SoSFImage);
00033
00034 public:
00035 static void initClass(void);
00036
00037 const unsigned char * getValue(SbVec2s & size, int & nc) const;
00038 void setValue(const SbVec2s & size, const int nc,
00039 const unsigned char * bytes);
00040
00041 int operator==(const SoSFImage & field) const;
00042 int operator!=(const SoSFImage & field) const { return ! operator == (field); }
00043
00044 unsigned char * startEditing(SbVec2s & size, int & nc);
00045 void finishEditing(void);
00046
00047 private:
00048 virtual SbBool readValue(SoInput * in);
00049 virtual void writeValue(SoOutput * out) const;
00050
00051 class SbImage * image;
00052 };
00053
00054 #endif // !COIN_SOSFIMAGE_H