]> git.tdb.fi Git - libs/gl.git/blobdiff - source/pixelformat.cpp
Move srgb handling to storage_pixelformat_from_graphics
[libs/gl.git] / source / pixelformat.cpp
index cd3bb2aa78e30709293dd8dfb13f4d42cd4c481d..679c6467503e3d4d059668890b1eb2922eb54426 100644 (file)
@@ -54,16 +54,22 @@ PixelFormat pixelformat_from_graphics(Graphics::PixelFormat pf)
        }
 }
 
-PixelFormat storage_pixelformat_from_graphics(Graphics::PixelFormat pf)
+PixelFormat storage_pixelformat_from_graphics(Graphics::PixelFormat pf, bool srgb)
 {
+       PixelFormat result;
        switch(pf)
        {
        case Graphics::RGBX:
        case Graphics::BGR:
-       case Graphics::BGRX: return RGB;
-       case Graphics::BGRA: return RGBA;
-       default: return pixelformat_from_graphics(pf);
+       case Graphics::BGRX: result = RGB; break;
+       case Graphics::BGRA: result = RGBA; break;
+       default: result = pixelformat_from_graphics(pf);
        }
+
+       if(srgb)
+               return get_srgb_pixelformat(result);
+       else
+               return result;
 }
 
 PixelFormat get_base_pixelformat(PixelFormat pf)