Пример #1
0
D3DXVECTOR3 SUIPictureBox::PositionImage()
{
	if (isAbsoluteRender && father)
	{
		return D3DXVECTOR3(
			Position().x,
			Position().y,
			CalDepth(0));
	}
	return D3DXVECTOR3(GetTexRect().X, GetTexRect().Y, 1);
}
Пример #2
0
bool SUIPictureBox::Draw( float timeDelta )
{
	SRectangle texRect = GetTexRect();

	picture->Draw(timeDelta);

	if (transformation && transformation->State() != Hidden)
	{
		if (targetPicture)
		{
			targetPicture->Draw(timeDelta);
			transformation->SetTarget(targetPicture->GetTarget());
		}		

		SPSpriteManager::GetSingleton().RenderOnScreen(picture->GetTarget(),
			transformation, texRect, SPColor::White, 1, childTarget );
	}
	else
	{
		SPSpriteManager::GetSingleton().RenderOnScreen(picture->GetTarget(),
			NULL, texRect, SPColor::White, 1, childTarget );
	}

	return true;
}
Пример #3
0
void SUIPictureBox::Draw( float timeDelta )
{
	SRectangle texRect = GetTexRect();

	picture->Draw(timeDelta);

	if (transformation && transformation->State() != Hidden)
	{
		if (targetPicture)
		{
			targetPicture->Draw(timeDelta);
			transformation->SetTarget(targetPicture->GetTarget());
		}		

		//SPSpriteManager::GetSingleton()->RenderOnScreen(picture->GetTarget(),
		//	transformation, texRect, SPColor::White, 1, childTarget );
		SPSpriteManager::GetSingleton()->RenderWithMatrix(picture->GetTarget(),
			transformation, TransformMatrixImage(), ImageSrcRect().CRect(),
			D3DXVECTOR3(0,0,0), PositionImage(), Alpha() * (D3DXCOLOR)SPColor::White, childTarget);
	}
	else
	{
		//SPSpriteManager::GetSingleton()->RenderOnScreen(picture->GetTarget(),
		//	NULL, texRect, SPColor::White, 1, childTarget );
		SPSpriteManager::GetSingleton()->RenderWithMatrix(picture->GetTarget(),
			NULL, TransformMatrixImage(), ImageSrcRect().CRect(),
			D3DXVECTOR3(0,0,0), PositionImage(), Alpha() * (D3DXCOLOR)SPColor::White, childTarget);
	}
}
Пример #4
0
D3DXMATRIX SUIPictureBox::TransformMatrixImage()
{
	D3DXMATRIX transformMatrix;

	if(picture->GetTarget())
	{
		D3DXMatrixTransformation2D(
		&transformMatrix, 
		&D3DXVECTOR2(PositionImage().x, PositionImage().y),
		0, 
		&D3DXVECTOR2((float)GetTexRect().Width / picture->GetTarget()->GetWidth(), 
			(float)GetTexRect().Height / picture->GetTarget()->GetHeight()),
		&D3DXVECTOR2(0, 0),
		0, 
		&D3DXVECTOR2(0, 0));
	}
	else
	{
		D3DXMatrixTransformation2D(
		&transformMatrix, 
		&D3DXVECTOR2(PositionImage().x, PositionImage().y),
		0, 
		&D3DXVECTOR2(1, 1),
		&D3DXVECTOR2(0, 0),
		0, 
		&D3DXVECTOR2(0, 0));
	}	

	if (isAbsoluteRender && father)
	{
		D3DXMATRIX fMatrix = TransformMatrix();
		D3DXMATRIX result = transformMatrix * fMatrix;
		return result;
	}

	return transformMatrix;
}
Пример #5
0
bool SUIPictureBox::PreDraw()
{
	GetTexRect();

	return SUIComponentComposite::PreDraw();
}
Пример #6
0
void SUIPictureBox::PreDraw()
{
	GetTexRect();
	SUIComponent::PreDraw();
}