Ejemplo n.º 1
0
void VideoElement::Render(ManagedRenderContext renderContext)
{
	Graphics::Bitmap* bitmap = get_Bitmap();
	if (bitmap)
	{
		if (true)
		{
			gm::RectF dstRect(0.0f, 0.0f, float(bitmap->GetWidth()), float(bitmap->GetHeight()));
			renderContext.DrawBitmap(bitmap, dstRect, get_Opacity());
		}
		else
		{
			Graphics::RenderTarget* rt = renderContext.m_p->GetRT();

			ImmediateRenderContext* imm = static_cast<ImmediateRenderContext*>(renderContext.m_p);
			rt->m_modelView = imm->m_transform;
			rt->m_modelViewProjection = rt->m_projection * rt->m_modelView;

			gm::RectF dstRect(80.0f, 20.0f, float(bitmap->GetWidth()), float(bitmap->GetHeight()));
			//*get_DestRect()

			Graphics::Direct10::s.Render(renderContext.m_p->GetRT(), bitmap, dstRect);
		}
	}
}
Ejemplo n.º 2
0
// virtual
void Image::OnRender(Graphics* pGraphics)
{
	if (m_Source)
	{
		LDraw::Bitmap* bitmap = m_Source->GetBitmap();

		double m_Opacity = get_Opacity();
		if (m_Opacity > 0)
		{
			float opacity = m_Opacity;
			if (opacity > 1) opacity = 1;

			LDraw::CompositingMode oldCompositingMode = pGraphics->GetCompositingMode();

			LDraw::CompositingMode compositingMode;
			switch (get_CompositingMode())
			{
			case SourceOver: compositingMode = LDraw::CompositingModeSourceOver; break;
			case SourceCopy: compositingMode = LDraw::CompositingModeSourceCopy; break;
			case Xor: compositingMode = LDraw::CompositingModeXor; break;
			case Multiply: compositingMode = LDraw::CompositingModeMultiply; break;
			case Screen: compositingMode = LDraw::CompositingModeScreen; break;
			default:
				ASSERT(0);
			}
			pGraphics->SetCompositingMode(compositingMode);

#if 1
			// opacity
			LDraw::ColorMatrixF colorMatrix(	1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
															0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
															0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
															0.0f, 0.0f, 0.0f, opacity, 0.0f,
															0.0f, 0.0f, 0.0f, 0.0f, 1.0f);

		//	Gdiplus::ImageAttributes imageAtt;
		//	imageAtt.SetColorMatrix(&colorMatrix, Gdiplus::ColorMatrixFlagsDefault, Gdiplus::ColorAdjustTypeBitmap);
#endif
			pGraphics->DrawImage(bitmap,
				LDraw::RectF(0, 0, float(m_computedSize.Width), float(m_computedSize.Height)),
				0, 0, bitmap->GetWidth(), bitmap->GetHeight(), LDraw::WrapModeClamp, &colorMatrix/*,
				Gdiplus::UnitPixel,
				&imageAtt*/);

			pGraphics->SetCompositingMode(oldCompositingMode);
		}
	}
}
Ejemplo n.º 3
0
// virtual
__release<LDraw::Brush> SolidColorBrush::CreateBrush(UIElement* pReferencingElement, double scaleX, double scaleY)
{
	int opacity = get_Opacity()*255;
	if (opacity < 0) opacity = 0;
	else if (opacity > 255) opacity = 255;

	Color color = get_Color();
//	if (color != NULL)
	{
		LDraw::Color dcolor = LDraw::Color(color.get_A()*opacity/255, color.get_R(), color.get_G(), color.get_B());
		return new LDraw::SolidBrush(dcolor);
	}
/*	else
	{
		return NULL;
	}
	*/
}