1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
void OutlineFont::draw(const char* text, int x, int y, int r, int g, int b, int a, Graphics* gfx)
{
if (mFont == nullptr)
return;
SDL_Surface* renderedText = nullptr;
Uint8 aR = r, aG = g, aB = b, aA = a;
SDL_Color color = {aR, aG, aB, aA};
renderedText = TTF_RenderText_Solid(mFont, text, color);
if (renderedText == nullptr)
{
std::cerr << "Failed to render text!\n TTF Error: " << TTF_GetError() << "\n";
return;
}
SDL_Rect pos;
pos.x = x;
pos.y = y;
SDL_Texture* textTexture = SDL_CreateTextureFromSurface(gfx->getRenderer(), renderedText);
SDL_RenderCopy(gfx->getRenderer(), textTexture, nullptr, &pos);
SDL_FreeSurface(renderedText);
renderedText = nullptr;
SDL_DestroyTexture(textTexture);
textTexture = nullptr;
}
|