- Crear directorio source/external/ para componentes externos - Mover sprite.h/.cpp, texture.h/.cpp, dbgtxt.h, stb_image.h a external/ - Actualizar includes en main.cpp y ball.h para nueva estructura - Modificar CMakeLists.txt y Makefile para incluir external/*.cpp - Mantener lógica del juego (ball.h/.cpp, main.cpp) en source/ - Mejorar organización y separación de responsabilidades 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
41 lines
953 B
C++
41 lines
953 B
C++
#pragma once
|
|
|
|
#include <SDL3/SDL_rect.h> // Para SDL_FRect
|
|
#include <SDL3/SDL_render.h> // Para SDL_Renderer, SDL_Texture
|
|
#include <string> // Para std::string
|
|
|
|
class Texture
|
|
{
|
|
private:
|
|
SDL_Renderer *renderer_;
|
|
SDL_Texture *texture_;
|
|
|
|
// Dimensiones de la imagen
|
|
int width_;
|
|
int height_;
|
|
|
|
public:
|
|
// Inicializa las variables
|
|
explicit Texture(SDL_Renderer *renderer);
|
|
Texture(SDL_Renderer *renderer, const std::string &file_path);
|
|
|
|
// Libera la memoria
|
|
~Texture();
|
|
|
|
// Carga una imagen desde la ruta especificada
|
|
bool loadFromFile(const std::string &path);
|
|
|
|
// Libera la textura
|
|
void free();
|
|
|
|
// Renderiza la textura en el punto especificado
|
|
void render(SDL_FRect *src = nullptr, SDL_FRect *dst = nullptr);
|
|
|
|
// Obtiene las dimensiones de la imagen
|
|
int getWidth();
|
|
int getHeight();
|
|
|
|
// Modula el color de la textura
|
|
void setColor(int r, int g, int b);
|
|
};
|