Having the following simple PNG image rendering example:
#include <Windows.h>
#include <stdlib.h>
#include <SDL.h>
#include <SDL_image.h>
#include <iostream>
char g_buffer[100];
int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR str, int nWinMode) {
SDL_Event event;
SDL_Renderer* renderer = NULL;
SDL_Texture* texture = NULL;
SDL_Texture* texture2 = NULL;
SDL_Window* window = NULL;
SDL_Init(SDL_INIT_TIMER | SDL_INIT_VIDEO);
SDL_CreateWindowAndRenderer(
400, 400,
0, &window, &renderer
);
IMG_Init(IMG_INIT_PNG);
texture = IMG_LoadTexture(renderer, "D:/Pobrane_2/flower.png");
if (!texture)
{
sprintf(g_buffer, "IMG_LoadTexture error: %s\n", SDL_GetError());
MessageBox(NULL, g_buffer, "Error!", MB_OK | MB_ICONINFORMATION);
g_buffer[0] = 0;
return 1;
}
while (1) {
// Select the color for drawing. It is set to red here.
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
// Clear the entire screen to our selected color.
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, NULL, NULL);
SDL_RenderPresent(renderer);
if (SDL_PollEvent(&event) && event.type == SDL_QUIT)
break;
}
SDL_DestroyTexture(texture);
IMG_Quit();
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return EXIT_SUCCESS;
}
How can one make the window background color transparent instead of solid red just to see what's behind the app window (for e.g. windows desktop)? I'd prefer platform independent code if possible.
Note: this is not a duplicate of my previous question: Making window background transparent