Files
vibe2_modules/source/external/texture.h
Sergio Valor 34a0e0505b Commit inicial: Configuración del proyecto vibe2_modules
Renombrado de vibe1_delta a vibe2_modules para aprendizaje de modularización.
- Actualizado nombre del proyecto en CMakeLists.txt
- Cambiado título de ventana a vibe2_modules
- Actualizado .gitignore con nuevos nombres de ejecutables y añadido .claude/
- Cambiada ruta de resources a data/ball.png
- Añadido README completo explicando propósito y fases del proyecto

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 21:05:34 +02:00

44 lines
1.1 KiB
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);
// Getter para batch rendering
SDL_Texture *getSDLTexture() const { return texture_; }
};