1 type ImageFormat = 2 | Grayscale 3 | Rgb 4 | Rgba 5 6 def to_bpp : u32 = case self of 7 ImageFormat/Grayscale -> 8 8 ImageFormat/Rgb -> 24 9 ImageFormat/Rgba -> 32 10 11 object ImageFormat = 12 def from_bpp (bpp : u32) = case bpp of 13 8 -> ImageFormat/Grayscale 14 24 -> ImageFormat/Rgb 15 32 -> ImageFormat/Rgba 16 else -> fail 17