Exemplo n.º 1
0
void wxSkinWindow::OnPaint(wxPaintEvent& e)
{
	wxBufferedPaintDC dcp(this);

	if(m_bScaleFill)
	{	int h, w;
		GetSize(&h,&w);
		
		if(m_bInside && bmp_over.ISOK())
			dcp.DrawBitmap(wxBitmap(bmp_over.Scale(h, w)),0,0,true);
		else if(IsEnabled() && bmp_normal.ISOK())
			dcp.DrawBitmap(wxBitmap(bmp_normal.Scale(h, w)),0,0,true);
		else if( bmp_disabled.ISOK() )
			dcp.DrawBitmap(wxBitmap(bmp_disabled.Scale(h, w)),0,0,true);
	}
	else
	{
		if(m_bInside && bmp_over.ISOK())
			dcp.DrawBitmap(bmp_over,0,0,true);
		if(IsEnabled() && bmp_normal.ISOK())
			dcp.DrawBitmap(bmp_normal,0,0,true);
		else if( bmp_disabled.ISOK() )
			dcp.DrawBitmap(bmp_disabled,0,0,true);
	}


	DrawCustom(dcp);
}
Exemplo n.º 2
0
void wxSkinWindow::OnPaint(wxPaintEvent& e)
{
	wxBufferedPaintDC dcp(this);

	wxSize size = GetSize();

	if(m_inside && m_imageOver.IsOk())
	{
		dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageOver.Scale(size.x, size.y)) : m_imageOver, 0, 0, true);
	}
	else if(IsEnabled() && (m_imageNormal.IsOk() || m_imageFocus.IsOk()))
	{
		if(m_imageFocus.IsOk() && HasFocus())
			dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageFocus.Scale(size.x, size.y)) : m_imageFocus, 0, 0, true);
		else
			dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageNormal.Scale(size.x, size.y)) : m_imageNormal, 0, 0, true);
	}
	else if(m_imageDisabled.IsOk())
	{
		dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageDisabled.Scale(size.x, size.y)) : m_imageDisabled, 0, 0, true);
	}
	
	DrawCustom(dcp);
}