public static Color FromUint(uint value, PixelFormatInfo format) { byte r = 0; byte g = 0; byte b = 0; byte a = 0; SDL_GetRGBA(value, format.Handle, ref r, ref g, ref b, ref a); return(Color.FromArgb(a, r, g, b)); }
internal Surface(IntPtr handle) { Handle = handle; var data = Marshal.PtrToStructure <SDL_Surface>(handle); PixelInfo = new PixelFormatInfo(data.format); Width = data.w; Height = data.h; Stride = data.pitch; MustBeLocked = SDL_MUSTLOCK(data); _pixels = data.pixels; _shouldFreePixels = false; Locked = data.locked > 0; }
public static uint AsUint(this Color color, PixelFormatInfo format) => SDL_MapRGBA(format.Handle, color.R, color.G, color.B, color.A);