#ifndef CLASS_SELECTION_DATA #define CLASS_SELECTION_DATA #include "graphic/Image.h" #include "Element.h" #include "Layer.h" #define BAR_BORDER_IMG 0 #define BAR_GOOD_IMG 1 #define BAR_BAD_IMG 2 #define BORDER_V_OFFSET 30 #define BAR_H_OFFSET 1 #define BAR_V_OFFSET 1 /// this layer is used to show element stats, like energy or rank class SelectionData : public Layer { private: /// current selected object Element * _sel_elem; /// images used to show data of selected element std::vector < graphic::Image * > _images; public: /// constructor SelectionData(std::vector < graphic::Image * > images); /// destroyer ~SelectionData() { }; /// store a pointer to the selected object void SetSelected(Element * obj) { _sel_elem = obj; }; /// set the pointer to the selected object to NULL void ClearSelected() { _sel_elem = NULL; }; /// return true if an object is selected bool IsSelected() { return (_sel_elem != NULL); }; /// blit part of the layer on a surface, if the surface is NULL blit on screen void BlitLayer(SDL_Rect limits_rect, graphic::Surface * dst_surf = NULL); }; #endif