getDrawColor method

bool getDrawColor(
  1. Pointer<SdlColor> color
)

Get the color used for drawing operations (Rect, Line and Clear).

\param renderer the rendering context. \param r a pointer filled in with the red value used to draw on the rendering target. \param g a pointer filled in with the green value used to draw on the rendering target. \param b a pointer filled in with the blue value used to draw on the rendering target. \param a a pointer filled in with the alpha value used to draw on the rendering target; usually SDL_ALPHA_OPAQUE (255). \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_GetRenderDrawColorFloat \sa SDL_SetRenderDrawColor

extern SDL_DECLSPEC bool SDLCALL SDL_GetRenderDrawColor(SDL_Renderer *renderer, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)

{@category render}

Implementation

bool getDrawColor(Pointer<SdlColor> color) {
  final rPointer = calloc<Uint8>();
  final gPointer = calloc<Uint8>();
  final bPointer = calloc<Uint8>();
  final aPointer = calloc<Uint8>();
  final result = sdlGetRenderDrawColor(
    this,
    rPointer,
    gPointer,
    bPointer,
    aPointer,
  );
  color.ref.r = rPointer.value;
  color.ref.g = gPointer.value;
  color.ref.b = bPointer.value;
  color.ref.a = aPointer.value;
  calloc
    ..free(rPointer)
    ..free(gPointer)
    ..free(bPointer)
    ..free(aPointer);
  return result;
}