void PropertyLineEditControl::Draw(const UIGeometricData &geometricData)
{
	RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 0.3f);
	RenderHelper::Instance()->FillRect(geometricData.GetUnrotatedRect());
    
    const Rect & cRect = GetWorkZone();
    
    RenderManager::Instance()->SetColor(0.8f, 0.6f, 0.6f, 1.0f);
    RenderHelper::Instance()->DrawLine(CalcRealPosition(PropertyRect(curTime, maxY)), CalcRealPosition(PropertyRect(curTime, minY)));
    
	RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 0.9f);
	RenderHelper::Instance()->DrawRect(cRect);
    
    RenderHelper::Instance()->DrawLine(Vector2(cRect.x - 3, cRect.y + cRect.dy/2), Vector2(cRect.x + 3, cRect.y + cRect.dy/2));
    RenderHelper::Instance()->DrawLine(Vector2(cRect.x + cRect.dx - 3, cRect.y + cRect.dy/2), Vector2(cRect.x + cRect.dx + 3, cRect.y + cRect.dy/2));
    RenderHelper::Instance()->DrawLine(Vector2(cRect.x + cRect.dx/2, cRect.y - 3), Vector2(cRect.x + cRect.dx/2, cRect.y + 3));
    RenderHelper::Instance()->DrawLine(Vector2(cRect.x + cRect.dx/2, cRect.y + cRect.dy - 3), Vector2(cRect.x + cRect.dx/2, cRect.y + cRect.dy + 3));
    
	RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 1.0f);

	for (int32 k = 0; k < (int32)values.size() - 1; ++k)
	{
		RenderHelper::Instance()->DrawLine(CalcRealPosition(values[k]), CalcRealPosition(values[k + 1]));
	}
	
	Vector2 vlast = CalcRealPosition(values[(int32)values.size() - 1]);
	Vector2 vlast2 = CalcRealPosition(PropertyRect(maxX, maxY));
	vlast2.y = vlast.y;
	
	RenderHelper::Instance()->DrawLine(vlast, vlast2);
	
	for (int32 k = 0; k < (int32)values.size(); ++k)
	{
		Vector2 pos = CalcRealPosition(values[k]);
        if(activeValueIndex == k)
        {
            RenderManager::Instance()->SetColor(0.6f, 0.6f, 0.6f, 1.0f);
            RenderHelper::Instance()->FillRect(RectFromPosition(pos));
        }
        else if(selectedValueIndex == k)
        {
            RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 1.0f);
            RenderHelper::Instance()->FillRect(RectFromPosition(pos));
        }
        else
        {
            RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 1.0f);
            RenderHelper::Instance()->DrawRect(RectFromPosition(pos));
        }
	}
}
void PropertyLineEditControl::Draw(const UIGeometricData &geometricData)
{
	RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 0.3f);
	RenderHelper::Instance()->FillRect(geometricData.GetUnrotatedRect());

	RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 0.9f);
	RenderHelper::Instance()->DrawRect(GetWorkZone());

	RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 1.0f);

	for (int32 k = 0; k < (int32)values.size() - 1; ++k)
	{
		RenderHelper::Instance()->DrawLine(CalcRealPosition(values[k]), CalcRealPosition(values[k + 1]));
	}
	
	Vector2 vlast = CalcRealPosition(values[(int32)values.size() - 1]);
	Vector2 vlast2 = CalcRealPosition(PropertyRect(maxX, maxY));
	vlast2.y = vlast.y;
	
	RenderHelper::Instance()->DrawLine(vlast, vlast2);
	
	for (int32 k = 0; k < (int32)values.size(); ++k)
	{
		Vector2 pos = CalcRealPosition(values[k]);
		RenderHelper::Instance()->DrawRect(RectFromPosition(pos));
	}

	RenderManager::Instance()->SetColor(1.0f, 1.0f, 1.0f, 1.0f);
}
int32 PropertyLineEditControl::FindActiveValueFromPosition(const Vector2 & absolutePoint)
{
	for (int32 k = 0; k < (int32)values.size(); ++k)
	{
		Rect valRect = RectFromPosition(CalcRealPosition(values[k]));
		if (valRect.PointInside(absolutePoint))
		{
            return k;
		}
	}
	return -1;
}
Esempio n. 4
0
//-----------------------------------------------------------------------------
//!
//-----------------------------------------------------------------------------
void tNASBar::paintEvent( QPaintEvent* /*pEvent*/ )
{
    QPainter painter( this );

    QStyleOptionButton option;
    option.initFrom( this );
    tNOSStyle* nemStyle = qobject_cast< tNOSStyle* >( style() );
    if( nemStyle )
    {
        nemStyle->DrawMediaBar( &option, &painter, Selected() );
    }

    // draw a highlight area if the mouse is pressed on a hot spot
    if( m_ButtonPressed && m_PressedPosition != eCP_None )
    {
        painter.fillRect( RectFromPosition( m_PressedPosition ), palette().highlight() );
    }

    painter.end();
}