Argentum Online - Cliente
renderizable_object.h
1 #ifndef __RENDERIZABLE_OBJECT_H
2 #define __RENDERIZABLE_OBJECT_H
3 
4 /* Interfaz que deben implementar todos los objetos que vayan
5 a ser renderizados por pantalla. */
6 #include <mutex>
7 
8 #include "SDL/sdl_animated_sprite.h"
9 #include "SDL/sdl_timer.h"
10 
15 typedef struct part_visual_info {
16  int width;
17  int height;
18  int offset_x;
20  int offset_y;
23 
30  protected:
31  visual_info_t visual_info;
32 
33  public:
39  RenderizableObject(visual_info_t visual_info);
40  virtual ~RenderizableObject() {}
41 
47  virtual void render(SDL_Rect dest) = 0;
48 
54  int get_width() const;
55 
61  int get_height() const;
62 
68  virtual int get_x_offset() const;
69 
75  virtual int get_y_offset() const;
76 
78  RenderizableObject& operator=(const RenderizableObject& other);
79  /* Debe ser llamado luego de renderizar para actualizar el estado de las
80  constantes visuales.*/
81 
87  void set_visual_info(visual_info_t new_visual_info);
88 
89  void set_offset(int new_x_offset, int new_y_offset);
90 
95  virtual void update();
96 };
97 
98 #endif
RenderizableObject
Interfaz que deben implementar todos los componentes que vayan a ser renderizados por la camara.
Definition: renderizable_object.h:29
part_visual_info::width
int width
Definition: renderizable_object.h:16
RenderizableObject::get_x_offset
virtual int get_x_offset() const
Devuelve el offset X total.
Definition: renderizable_object.cpp:24
RenderizableObject::get_y_offset
virtual int get_y_offset() const
Devuelve el offset Y total.
Definition: renderizable_object.cpp:28
part_visual_info::offset_x
int offset_x
Definition: renderizable_object.h:18
RenderizableObject::RenderizableObject
RenderizableObject(visual_info_t visual_info)
Crea un objeto RenderizableObject.
Definition: renderizable_object.cpp:3
RenderizableObject::get_height
int get_height() const
Devuelve el alto en centesimas de tile.
Definition: renderizable_object.cpp:16
part_visual_info
Struct de informacion visual.
Definition: renderizable_object.h:15
RenderizableObject::set_visual_info
void set_visual_info(visual_info_t new_visual_info)
Setea la informacion visual.
Definition: renderizable_object.cpp:32
part_visual_info::height
int height
Definition: renderizable_object.h:17
RenderizableObject::update
virtual void update()
Actualiza el objeto.
Definition: renderizable_object.cpp:41
part_visual_info::offset_y
int offset_y
Definition: renderizable_object.h:20
RenderizableObject::get_width
int get_width() const
Devuelve el ancho en centesimas de tile.
Definition: renderizable_object.cpp:20
RenderizableObject::render
virtual void render(SDL_Rect dest)=0
Renderiza el objeto en pantalla.