1 #ifndef COIN_SOGLIMAGE_H
2 #define COIN_SOGLIMAGE_H
34 #include <Inventor/SbBasic.h>
35 #include <Inventor/SbVec2s.h>
36 #include <Inventor/SbVec3s.h>
37 #include <Inventor/SoType.h>
48 virtual void unref(
SoState * state = NULL);
50 static SoType getClassTypeId(
void);
51 virtual SoType getTypeId(
void)
const ;
52 virtual SbBool isOfType(
SoType type)
const;
69 unsigned char * destbuffer,
76 const Wrap wraps = REPEAT,
77 const Wrap wrapt = REPEAT,
78 const float quality = 0.5f);
80 void setPBuffer(
SoState * state,
82 const Wrap wraps = REPEAT,
83 const Wrap wrapt = REPEAT,
84 const float quality = 0.5f);
86 void setData(
const unsigned char * bytes,
88 const int numcomponents,
89 const Wrap wraps = REPEAT,
90 const Wrap wrapt = REPEAT,
91 const float quality = 0.5f,
93 SoState * createinstate = NULL);
95 void setData(
const unsigned char * bytes,
97 const int numcomponents,
98 const Wrap wraps = REPEAT,
99 const Wrap wrapt = REPEAT,
100 const Wrap wrapr = REPEAT,
101 const float quality = 0.5f,
102 const int border = 0,
103 SoState * createinstate = NULL);
105 virtual void setData(
const SbImage * image,
106 const Wrap wraps = REPEAT,
107 const Wrap wrapt = REPEAT,
108 const float quality = 0.5f,
109 const int border = 0,
110 SoState * createinstate = NULL);
112 virtual void setData(
const SbImage * image,
116 const float quality = 0.5f,
117 const int border = 0,
118 SoState * createinstate = NULL);
125 LINEAR_MAG_FILTER = 0x0004,
126 LINEAR_MIN_FILTER = 0x0008,
127 LINEAR_MIPMAP_FILTER = 0x0010,
130 FORCE_TRANSPARENCY_TRUE = 0x0020,
131 FORCE_TRANSPARENCY_FALSE = 0x0040,
132 FORCE_ALPHA_TEST_TRUE = 0x0080,
133 FORCE_ALPHA_TEST_FALSE = 0x0100,
145 USE_QUALITY_VALUE = 0X8000
148 void setFlags(
const uint32_t flags);
149 uint32_t getFlags(
void)
const;
151 const SbImage * getImage(
void)
const;
154 SbBool hasTransparency(
void)
const;
155 SbBool useAlphaTest(
void)
const;
156 Wrap getWrapS(
void)
const;
157 Wrap getWrapT(
void)
const;
158 Wrap getWrapR(
void)
const;
160 float getQuality(
void)
const;
161 uint32_t getGLImageId(
void)
const;
165 void incAge(
void)
const;
166 void resetAge(
void)
const;
167 virtual void unrefOldDL(
SoState * state,
const uint32_t maxage);
172 class SoGLImageP * pimpl;
173 friend class SoGLImageP;
174 static void cleanupClass(
void);
178 static void beginFrame(
SoState * state);
180 static void endFrame(
SoState * state);
181 static void setDisplayListMaxAge(
const uint32_t maxage);
182 static void freeAllImages(
SoState * state = NULL);
184 void setEndFrameCallback(
void (*cb)(
void *),
void * closure);
185 int getNumFramesSinceUsed(
void)
const;
188 static void initClass(
void);
189 static void setResizeCallback(SoGLImageResizeCB * f,
void * closure);
192 static void registerImage(
SoGLImage * image);
193 static void unregisterImage(
SoGLImage * image);
196 #endif // !COIN_SOGLIMAGE_H
ResizeReason
Definition: SoGLImage.h:61
Flags
Definition: SoGLImage.h:121
Wrap
Definition: SoGLImage.h:54
The SoState class manages the Coin scenegraph traversal state data.The SoState class is used by actio...
Definition: SoState.h:35
The SbVec3s class is a 3 dimensional vector with short integer coordinates.This vector class provides...
Definition: SbVec3s.h:39
The SoGLDisplayList class stores and manages OpenGL display lists.The TEXTURE_OBJECT type is not dire...
Definition: SoGLDisplayList.h:34
The SoGLImage class is used to handle OpenGL 2D/3D textures.
Definition: SoGLImage.h:44
SbBool SoGLImageResizeCB(SoState *state, const SbVec3s &newsize, unsigned char *destbuffer, ResizeReason reason, void *closure, class SoGLImage *image)
Definition: SoGLImage.h:67
The SbImage class is an abstract datatype for 2D and 3D images.Be aware that this class is an extensi...
Definition: SbImage.h:37
The SbVec2s class is a 2 dimensional vector with short integer coordinates.This vector class is used ...
Definition: SbVec2s.h:41
The SoType class is the basis for the run-time type system in Coin.Many of the classes in the Coin li...
Definition: SoType.h:50