ButcherImage *ButcherProjectAreaConfigPreview::GetPreview()
{
    if (ConfigChanged())
    {
        if (GetProject()->Views().Exists(viewid_) && NeedImage())
        {
            ButcherProjectBaseAutoProgress progress(this,
                wxString::Format(_("Generating preview for %s, please wait..."),
                    areaconfig_->GetArea()->GetDescription().c_str()));
            try
            {
                std::auto_ptr<ButcherImage> simage(GetProject()->Views()[viewid_]->CreateAreaImage(areaconfig_->GetArea()));
                if (HavePreview() && simage.get())
                    SetPreview(simage->Save(areaconfig_->ImageInfo().GetSaveParams()));
                else
                    SetPreview(simage.release());
            } catch(...) {
                //lasterror_=true;
                //throw;
                SetPreview(GetProject()->Views()[viewid_]->CreateAreaErrorImage(areaconfig_->GetArea()));
            }
        }
        else
            SetPreview(NULL);
    }
    return preview_;
}
示例#2
0
void CSrmmProxyWindow::OnRenderPreview()
{
	if (!m_hbmpPreview) return;

	RECT rc;
	GetWindowRect(m_hwndWindow, &rc);
	MapWindowPoints(NULL, m_hwndParent, (POINT *)&rc, 2);
	SetPreview(m_hbmpPreview, rc.left, rc.top);
}
示例#3
0
func ControlUseStart(object clonk, int x, int y)
{
	clonk->Sound("Objects::WallKit::Click");
	SetPreview(clonk,x,y);
	return true;
}
示例#4
0
func ControlUseHolding(object clonk, int new_x, int new_y)
{
	SetPreview(clonk, new_x, new_y);
	return true;
}