sdlxGetTextureColorMod function render
Get the additional color value multiplied into render copy operations.
\param texture the texture 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 should only be called on the main thread.
\since This function is available since SDL 3.2.0.
\sa SDL_GetTextureAlphaMod \sa SDL_GetTextureColorModFloat \sa SDL_SetTextureColorMod
extern SDL_DECLSPEC bool SDLCALL SDL_GetTextureColorMod(SDL_Texture *texture, Uint8 *r, Uint8 *g, Uint8 *b)
Implementation
bool sdlxGetTextureColorMod(Pointer<SdlTexture> texture, SdlxColor color) {
final rPointer = ffi.calloc<Uint8>();
final gPointer = ffi.calloc<Uint8>();
final bPointer = ffi.calloc<Uint8>();
final aPointer = ffi.calloc<Uint8>();
var result = sdlGetTextureColorMod(texture, rPointer, gPointer, bPointer);
if (result) {
color
..r = rPointer.value
..g = gPointer.value
..b = bPointer.value;
result = sdlGetTextureAlphaMod(texture, aPointer);
if (result) {
color.a = aPointer.value;
}
}
rPointer.callocFree();
gPointer.callocFree();
bPointer.callocFree();
aPointer.callocFree();
return result;
}