+#ifndef IMAGE_HPP
+#define IMAGE_HPP
+
#include <iostream>
#include <fstream>
#ifdef __APPLE__
class Image {
public:
Image(const std::string &path);
+ Image(const unsigned char *data, size_t length, const char *formatHint);
~Image();
- unsigned char *data();
+ unsigned char *data() const;
GLfloat width() const;
GLfloat height() 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
};
+
+#endif