//--------------------------------------------------------------------------------------
void CProgressBarVertical::Draw ( void )
{
	if ( !m_bVisible )
		return;

	CMouse *pMouse = m_pDialog->GetMouse ();

	if ( pMouse && 
		 m_bPressed && 
		 m_rBoundingBox.ContainsPoint ( pMouse->GetPos () ) && 
		 !m_timer.Running() )
	{
		if ( pMouse->GetPos ().m_nY > m_rProgress.m_pos.m_nY + m_rProgress.m_size.cx )
		{
			m_timer.Start ( PROGRESSBAR_ARROWCLICK_START );
			SetValue ( m_fValue + m_fStep );
		}
		else if ( pMouse->GetPos ().m_nY < m_rProgress.m_pos.m_nY + m_rProgress.m_size.cx )
		{
			m_timer.Start ( PROGRESSBAR_ARROWCLICK_START );
			SetValue ( m_fValue - m_fStep );
		}
	}

	m_pDialog->DrawBox ( m_rBoundingBox, m_sControlColor.d3dColorBoxBack, m_sControlColor.d3dColorOutline, m_bAntAlias );
	m_pDialog->DrawBox ( m_rProgress, m_sControlColor.d3dColorBoxSel, m_sControlColor.d3dColorOutline, m_bAntAlias );
}
Exemple #2
0
//--------------------------------------------------------------------------------------
void CProgressBarHorizontal::Draw ( void )
{
	if ( !m_bVisible )
		return;

	CMouse *pMouse = m_pDialog->GetMouse ();
	assert ( pMouse && "Invalid mouse pointer" );

	if ( pMouse &&
		 m_bPressed &&
		 m_rBoundingBox.InControlArea ( pMouse->GetPos () ) && 
		 !m_timer.Running() )
	{
		if ( pMouse->GetPos ().GetX () > m_rProgress.pos.GetX () + m_rProgress.size.cx )
		{
			m_timer.Start ( PROGRESSBAR_ARROWCLICK_REPEAT );
			SetValue ( m_fValue + m_fStep );
		}
		else if ( pMouse->GetPos ().GetX () < m_rProgress.pos.GetX () + m_rProgress.size.cx )
		{
			m_timer.Start ( PROGRESSBAR_ARROWCLICK_REPEAT );
			SetValue ( m_fValue - m_fStep );
		}
	}

	m_pDialog->DrawBox ( m_rBoundingBox, m_sControlColor.d3dColorBoxBack, m_sControlColor.d3dColorOutline, m_bAntAlias );
	m_pDialog->DrawBox ( m_rProgress, m_sControlColor.d3dColorBoxSel, m_sControlColor.d3dColorOutline, m_bAntAlias );
}