コード例 #1
0
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);
}
コード例 #2
0
int32 PropertyLineEditControl::FindValueForInsertion(const Vector2 & absolutePoint)
{
	for (int32 k = 0; k < (int32)values.size(); ++k)
	{
		Vector2 pos = CalcRealPosition(values[k]);
		if (absolutePoint.x < pos.x)
			return k;
	}
	return (int32)values.size();
}
コード例 #3
0
ファイル: Control.cpp プロジェクト: BeyondEngine/BeyondEngine
void CControl::SetPercentPosition( const CVec2& position )
{
    if ( position != m_vec2PercentPosition)
    {
        m_vec2PercentPosition = position;
        CVec2 position;
        CalcRealPosition( position );
        SetPosition( position.x ,position.y, 0.0f );
    }
}
コード例 #4
0
ファイル: Control.cpp プロジェクト: BeyondEngine/BeyondEngine
void CControl::SetAbsolutePosition( const CVec2& position )
{
    if ( m_vec2AbsolutePosition != position )
    {
        m_vec2AbsolutePosition = position;
        CVec2 position;
        CalcRealPosition( position );
        SetPosition( position.x ,position.y, 0.0f );
    }
}
コード例 #5
0
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;
}
コード例 #6
0
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));
        }
	}
}
コード例 #7
0
ファイル: Control.cpp プロジェクト: BeyondEngine/BeyondEngine
void CControl::OnParentSizeChange( float width, float height )
{
    m_fTargetWidth = width;
    m_fTargetHeight = height;

    CVec2 position;
    CalcRealPosition( position );
    SetPosition( position.x, position.y, 0.0f );

    CalcRealSize();

    UpdateQuadP();
    for ( auto childWnd : GetChildren() )
    {
        if( childWnd->GetType() == eNT_NodeGUI )
        {
            CControl* child = down_cast<CControl*>(childWnd);
            child->OnParentSizeChange( m_vecRealSize.x, m_vecRealSize.y );
        }
    }
}