public override bool Draw(Surface a_Surface) { if (m_Changed) { // m_Changed = false; a_Surface.BoxAbs(m_Position.X, m_Position.Y, m_Position2.X, m_Position2.Y); a_Surface.BarAbs(m_Position.X + m_BarOffset, m_Position.Y + m_BarOffset, m_Position2.X - m_BarOffset, m_Position2.Y - m_BarOffset, Surface.PIXEL_OFF); if (m_Value > 0 && m_Maximum - m_Minimum > 0) { int bar_x2 = ConvertRange(m_Value, m_Minimum, m_Maximum, m_Position.X + m_BarOffset, m_Position2.X - m_BarOffset); if (bar_x2 > m_Position.X + m_BarOffset) { a_Surface.BarAbs(m_Position.X + m_BarOffset, m_Position.Y + m_BarOffset, bar_x2, m_Position2.Y - m_BarOffset); } } return(true); } return(false); }