Get stuff building again
[opengl.git] / image.cpp
index 6c09fa31caaca7335e18f302fb687d6393a85dc5..02fd60b878ee1122bd9a027e38df10304d681ef8 100644 (file)
--- a/image.cpp
+++ b/image.cpp
@@ -10,9 +10,15 @@ Image::Image(const std::string &path) {
        CGImageRelease(ref);
 }
 
-Image::Image(const unsigned char *data, size_t length) {
+Image::Image(const unsigned char *data, size_t length, const char *formatHint) {
        CGDataProviderRef dpRef = CGDataProviderCreateWithData(NULL, data, length, NULL);
-       CGImageRef ref = CGImageCreateWithJPEGDataProvider(dpRef, NULL, false, kCGRenderingIntentDefault);
+       CGImageRef ref;
+       if (strcmp("png", formatHint) == 0)
+               ref = CGImageCreateWithPNGDataProvider(dpRef, NULL, false, kCGRenderingIntentDefault);
+       else if (strcmp("jpg", formatHint) == 0)
+               ref = CGImageCreateWithJPEGDataProvider(dpRef, NULL, false, kCGRenderingIntentDefault);
+       else
+               abort();
        initWithImageRef(ref);
        CGImageRelease(ref);
 }