Exemplo n.º 1
0
void muFrame::OnURLGetterProgress(UpdaterEvent& event)
{
	m_locatorProgress = wxDouble(event.GetInt()) / wxDouble(event.GetExtraLong());
	DisplayCheckingProgress();
	if( !event.GetString().IsEmpty() )
		wxLogVerbose(wxT("[URLGetter] %s"), event.GetString().c_str());
}
Exemplo n.º 2
0
void muFrame::OnIntegrityProgress(UpdaterEvent& event)
{
	m_integrityProgress = wxDouble(event.GetInt()) / wxDouble(event.GetExtraLong());
	DisplayCheckingProgress();
	if( !event.GetString().IsEmpty() )
		wxLogVerbose(wxT("[Integrity] %s"), event.GetString().c_str());
}
Exemplo n.º 3
0
void muFrame::OnUpdatingProgress(UpdaterEvent& event)
{
	if( event.GetExtraLong() > 0.0f )
		m_updatingProgress = wxDouble(event.GetInt()) / wxDouble(event.GetExtraLong());
	else
		m_updatingProgress = 0.0f;

	DisplayUpdatingProgress();
	if( !event.GetString().IsEmpty() )
		wxLogVerbose(wxT("[Updater] %s"), event.GetString().c_str());

	if( m_updatingProgress > 0 )
	{
		double dlnow = event.GetInt();
		double dltotal = event.GetExtraLong();
		static wxStopWatch eventWatch;
		static double lastdl = 0;

		double dldelta = dlnow - lastdl;
		dldelta /= 1024.0f;
		lastdl = dlnow;

		eventWatch.Pause();
		double speed = 0;
		if( eventWatch.Time() > 0.0f )
			speed = dldelta / eventWatch.Time();
		eventWatch.Start();

		static double speedAvg = 0.0f;
		if( speed >= 0.0f )
			speedAvg = (speedAvg*0.95f + speed*0.05f);

		wxString remainingText = wxT("?");
		if( speedAvg > 0 )
		{
			double secondsRemaining = (dltotal-dlnow) / 1024.0f / (speedAvg * 1000.0f);
			wxTimeSpan span = wxTimeSpan::Seconds(secondsRemaining);
			remainingText = span.Format();
		}

		// update label every second only
		static wxStopWatch limitWatch;
		limitWatch.Pause();
		if( limitWatch.Time() > 1000 )
		{
			m_detailsLabel->SetLabel(wxString::Format(	
				wxT("Downloading Gunreal v%i... %s remaining (%03.1lf MB at %0.0lf KB/s)")
				, m_latestVersion
				, remainingText.c_str()
				, dltotal / 1024.0f / 1024.0f
				, speedAvg * 1000.0f
				));

			limitWatch.Start();
		}
		else
			limitWatch.Resume();
	}
}
Exemplo n.º 4
0
void wxGraphicsPathData::AddQuadCurveToPoint( wxDouble cx, wxDouble cy, wxDouble x, wxDouble y )
{
    // calculate using degree elevation to a cubic bezier
    wxPoint2DDouble c1;
    wxPoint2DDouble c2;

    wxPoint2DDouble start;
    GetCurrentPoint(&start.m_x,&start.m_y);
    wxPoint2DDouble end(x,y);
    wxPoint2DDouble c(cx,cy);
    c1 = wxDouble(1/3.0) * start + wxDouble(2/3.0) * c;
    c2 = wxDouble(2/3.0) * c + wxDouble(1/3.0) * end;
    AddCurveToPoint(c1.m_x,c1.m_y,c2.m_x,c2.m_y,x,y);
}
Exemplo n.º 5
0
void muFrame::OnUpdatingProgress(UpdaterEvent& event)
{
	if( event.GetExtraLong() > 0.0f )
		m_updatingProgress = wxDouble(event.GetInt()) / wxDouble(event.GetExtraLong());
	else
		m_updatingProgress = 0.0f;

	DisplayUpdatingProgress();
	if( !event.GetString().IsEmpty() )
		wxLogVerbose(event.GetString());

	if( m_updatingProgress > 0 )
	{
		double dlnow = event.GetInt();
		//double dltotal = event.GetExtraLong();
		static wxStopWatch eventWatch;
		static double lastdl = 0;

		double dldelta = dlnow - lastdl;
		dldelta /= 1024;
		lastdl = dlnow;

		eventWatch.Pause();
		double speed = 0;
		if( eventWatch.Time() > 0.0f )
			speed = dldelta / eventWatch.Time() * 1000.0f;
		eventWatch.Start();

		static double speedAvg = 0.0f;
		if( speed >= 0.0f )
			speedAvg = (speedAvg*0.95f + speed*0.05f);

		// update label every second only
		static wxStopWatch limitWatch;
		limitWatch.Pause();
		if( limitWatch.Time() > 1000 )
		{
			m_detailsLabel->SetLabel(wxString::Format(
				wxT("Downloading Gunreal v%i - %0.1lf%% at %0.0lfKb/s...")
				, m_latestVersion, m_updatingProgress*100.0f, speedAvg));
			
			limitWatch.Start();
		}
		else
			limitWatch.Resume();
	}
}
Exemplo n.º 6
0
int wxBlockInt::IsLarger(const wxBlockInt &b) const
{
    wxInt32 width    = m_x2 - m_x1 + 1,
            height   = m_y2 - m_y1 + 1,
            b_width  = b.m_x2 - b.m_x1 + 1,
            b_height = b.m_y2 - b.m_y1 + 1;

    if ((width <= 0) || (height <= 0))
        return (b_width > 0) && (b_height > 0) ? -1 : 0;
    if ((b_width <= 0) || (b_height <= 0))
        return (width > 0) && (height > 0) ? 1 : 0;

    wxDouble w_bw = wxDouble(width)/b_width,
             bh_h = wxDouble(b_height)/height;

    return (w_bw == bh_h) ? 0 : ((w_bw > bh_h) ? 1 : -1);
}