Sha256: 03bd4b7df54f9e6877eff82c1f85db4e84f88a34dda6732ed8c50c932449e71c

Contents?: true

Size: 1.83 KB

Versions: 15

Compression:

Stored size: 1.83 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<IRhoClassFactory> ptrFactory = createClassFactory();
    CAutoPtr<IRhoThreadImpl> ptrThread = ptrFactory->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

15 entries across 15 versions & 1 rubygems

Version Path
rhodes-2.0.3 platform/shared/common/SplashScreen.cpp
rhodes-2.0.2 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.rc2 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.rc1 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta11 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta10 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta9 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta8 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta7 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta6 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta4 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta3 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta2 platform/shared/common/SplashScreen.cpp
rhodes-2.0.0.beta1 platform/shared/common/SplashScreen.cpp