#include "DisplayHP.h" DisplayHP::DisplayHP( int vieMax, Uint32 front, Uint32 back, Vec up ) :Affichable( 0x0 ), m_vieMax( vieMax ), m_front( front ), m_back( back ), m_up( up ), m_vie() { /// Création de la surface de barre de vie cadrer(); /// Remplissage m_vie.h = BARRE_EPAIS; m_vie.w = vieMax; SDL_FillRect(m_img, 0x0, m_front); } DisplayHP::~DisplayHP() { SDL_FreeSurface( m_img ); } void DisplayHP::updateImg( const int &vie ) { m_vie.w = vie; SDL_FillRect(m_img, 0x0, m_back); SDL_FillRect(m_img, &m_vie, m_front); } void DisplayHP::IAmHere( const Vec &pos ) { m_pos = m_up + pos; } void DisplayHP::setMax( int max ) { if (m_vieMax != max) { m_vieMax = max; cadrer(); } } void DisplayHP::cadrer() { if ( m_img ) SDL_FreeSurface( m_img ); m_img = SDL_CreateRGBSurface( SDL_HWSURFACE, m_vieMax, BARRE_EPAIS, 32, 0, 0, 0, 0 ); }