#include "window.h" WindowManager::WindowManager() { if (!initWindow()) { printf("Failed to initialize!\n"); } } WindowManager::~WindowManager() { destroyWindow(); } SDL_Renderer * WindowManager::getRenderer() { return renderer; } void WindowManager::render(std::vector objects) { // Set the draw color to black and clear the screen SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); SDL_RenderClear(renderer); // Print object position (optional for debugging) //fprintf(stderr, "%d\n", objectList.size()); for (int i = 0; i < objects.size(); i++) { //fprintf(stderr, "%f\n", objectList[i]->getX()); // Create a rectangle representing the ball SDL_Rect ball_rect = { (int) objects[i]->getX(), (int) objects[i]->getY(), (int) objects[i]->getWidth(), (int) objects[i]->getHeight(), }; // Set the draw color to white and render the ball SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); SDL_RenderFillRect(renderer, &ball_rect); } SDL_RenderPresent(renderer); } bool WindowManager::initWindow() { if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { fprintf(stderr, "Error inititalising SDL.\n"); return false; } window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN ); if (!window) { fprintf(stderr, "Error creating SDL Window. \n"); return false; } renderer = SDL_CreateRenderer(window, -1, 0); if (!renderer) { fprintf(stderr, "Error creating SDL renderer. \n"); return false; } return true; } void WindowManager::destroyWindow() { SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); }