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>
This commit is contained in:
43
source/external/texture.h
vendored
Normal file
43
source/external/texture.h
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
#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_; }
|
||||
};
|
||||
Reference in New Issue
Block a user