sdlxGetSurfaceColorMod function surface
Get the additional color value multiplied into blit operations.
\param surface the SDL_Surface structure to query. \param r a pointer filled in with the current red color value. \param g a pointer filled in with the current green color value. \param b a pointer filled in with the current blue color value. \returns true on success or false on failure; call SDL_GetError() for more information.
\threadsafety This function can be called on different threads with different surfaces.
\since This function is available since SDL 3.2.0.
\sa SDL_GetSurfaceAlphaMod \sa SDL_SetSurfaceColorMod
extern SDL_DECLSPEC bool SDLCALL SDL_GetSurfaceColorMod(SDL_Surface *surface, Uint8 *r, Uint8 *g, Uint8 *b)
See also:
Implementation
SdlxColor? sdlxGetSurfaceColorMod(Pointer<SdlSurface> surface) =>
ffi.using((arena) {
final rPointer = arena<Uint8>();
final gPointer = arena<Uint8>();
final bPointer = arena<Uint8>();
final aPointer = arena<Uint8>();
if (!sdlGetSurfaceColorMod(surface, rPointer, gPointer, bPointer)) {
return null;
}
if (!sdlGetSurfaceAlphaMod(surface, aPointer)) {
return null;
}
return SdlxColor(
rPointer.value,
gPointer.value,
bPointer.value,
aPointer.value,
);
});