class Image {
public:
Image(const std::string &path);
+ Image(const unsigned char *data, size_t length, const char *formatHint);
~Image();
unsigned char *data() const;
GLfloat width() const;
GLfloat height() const;
- GLuint format() const;
+ GLenum format() const;
+ GLint internalFormat() const;
+ GLenum type() const;
private:
#ifdef __APPLE__
+ void initWithImageRef(CGImageRef ref);
CFDataRef dataRef;
CGBitmapInfo info;
CGImageAlphaInfo alphaInfo;
CGColorSpaceRef colorSpace;
GLfloat _width, _height;
+ size_t bitsPerComponent;
+ bool usesFloat() const;
#endif
};