Sha256: de729a029006459d3ae96cddacf72673eff8c48b3c49432af4af3af0da2417fe

Contents?: true

Size: 1.78 KB

Versions: 28

Compression:

Stored size: 1.78 KB

Contents

#include "SplashScreen.h"
#include "RhoThread.h"
#include "IRhoClassFactory.h"
#include "RhoConf.h"
#include "Tokenizer.h"

namespace rho {
namespace common {
IMPLEMENT_LOGCLASS(CSplashScreen,"SplashScreen");

void CSplashScreen::start()
{
	if (m_nDelay>0 && m_startTime.toULong() == 0)
        m_startTime = CTimeInterval::getCurrentTime();
}

long CSplashScreen::howLongWaitMs()
{
   CTimeInterval endTime = CTimeInterval::getCurrentTime();
   long nTimeElapsed = endTime.minus(m_startTime).toULong();
   
   return m_nDelay * 1000 - nTimeElapsed;
}

void CSplashScreen::hide()
{
	if (m_nDelay<=0 || m_startTime.toULong() == 0)
		return;
	long nWaitMs = howLongWaitMs();
    m_startTime = CTimeInterval();
	if ( nWaitMs <= 0 )
		return;

    CAutoPtr<IRhoThreadImpl> ptrThread = rho_get_RhoClassFactory()->createThreadImpl();

    ptrThread->sleep(nWaitMs);
}

void CSplashScreen::init()
{
	String strSplash = RHOCONF().getString("splash_screen");
	
	CTokenizer stringtokenizer(strSplash, ";");
	while (stringtokenizer.hasMoreTokens()) {
		String tok = stringtokenizer.nextToken();
		tok = String_trim(tok);
		if (tok.length() == 0) {
			continue;
		}
		
		if (tok.find("delay") == 0)
		{
			int nEq = tok.find('=');
			if (nEq>=0)
			{
				String val = tok.substr(nEq+1);
				val = String_trim(val);
				if ( val.length() > 0 )
                    convertFromStringA( val.c_str(), m_nDelay );
			}
		}else if (tok.find("zoom") == 0)
		{
			m_nFlags |= VZOOM | HZOOM;
		}else if ( tok.find("vzoom") == 0)
		{
			m_nFlags |= VZOOM;
		}else if ( tok.find("hzoom") == 0)
		{
			m_nFlags |= HZOOM;
		}else if ( tok.find("center") == 0)
		{
			m_nFlags |= VCENTER | HCENTER;
		}else if ( tok.find("vcenter") == 0)
		{
			m_nFlags |= VCENTER;
		}else if ( tok.find("hcenter") == 0)
		{
			m_nFlags |= HCENTER;
		}
		
	}
}
}
}

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
rhodes-3.0.2 platform/shared/common/SplashScreen.cpp
rhodes-3.0.2.beta.1 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1.beta.8 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1.beta.7 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1.beta.6 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1.beta.5 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1.beta.4 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1.beta.3 platform/shared/common/SplashScreen.cpp
rhodes-3.0.1.beta.2 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0.beta.7 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0.beta.6 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0.beta.5 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0.beta.4 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0.beta.3 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0.beta.2 platform/shared/common/SplashScreen.cpp
rhodes-3.0.0.beta.1 platform/shared/common/SplashScreen.cpp
rhodes-2.4.1 platform/shared/common/SplashScreen.cpp
rhodes-2.4.1.beta.1 platform/shared/common/SplashScreen.cpp