public static Image New(string filename, bool flip, Loader.LoadedCallbackMethod loadedCallback)
{
string ext = Streams.GetFileExt(filename);
switch (ext.ToLower())
{
case ".dds": return new ImageDDS(filename, flip, loadedCallback);
case ".atc": return new ImageDDS(filename, flip, loadedCallback);
case ".pvr": return new ImagePVR(filename, flip, loadedCallback);
#if !XNA && NaCl
case ".bmpc": return new ImageBMPC(filename, flip, loadedCallback);
#endif
#if (!XNA && !NaCl && !VITA) || SILVERLIGHT
#if !WP8
case ".bmpc": return new ImageBMPC(filename, flip, loadedCallback);
#endif
case ".png": return new ImagePNG(filename, flip, loadedCallback);
case ".jpg": return new ImageJPG(filename, flip, loadedCallback);
case ".jpeg": return new ImageJPG(filename, flip, loadedCallback);
#if !iOS && !ANDROID
case ".bmp": return new ImageBMP(filename, flip, loadedCallback);
#endif
#endif
default:
Debug.ThrowError("Image", string.Format("File 'ext' {0} not supported.", ext));
return null;
}
}