axmol/cocos2dx/platform/CCApplicationProtocol.h

87 lines
1.9 KiB
C++

#ifndef __CC_APPLICATION_PROTOCOL_H__
#define __CC_APPLICATION_PROTOCOL_H__
#include <string>
NS_CC_BEGIN
enum TargetPlatform
{
kTargetWindows,
kTargetLinux,
kTargetMacOS,
kTargetAndroid,
kTargetIphone,
kTargetIpad,
kTargetBlackBerry,
};
/**
* @addtogroup platform
* @{
*/
class CC_DLL CCApplicationProtocol
{
public:
virtual ~CCApplicationProtocol() {}
/**
@brief Implement CCDirector and CCScene init code here.
@return true Initialize success, app continue.
@return false Initialize failed, app terminate.
*/
virtual bool applicationDidFinishLaunching() = 0;
/**
@brief The function be called when the application enter background
@param the pointer of the application
*/
virtual void applicationDidEnterBackground() = 0;
/**
@brief The function be called when the application enter foreground
@param the pointer of the application
*/
virtual void applicationWillEnterForeground() = 0;
/**
@brief Callback by CCDirector for limit FPS.
@interval The time, which expressed in second in second, between current frame and next.
*/
virtual void setAnimationInterval(double interval) = 0;
/**
@brief Get current language config
@return Current language config
*/
virtual ccLanguageType getCurrentLanguage() = 0;
/**
@brief Get target platform
*/
virtual TargetPlatform getTargetPlatform() = 0;
/**
@brief Set startup script filename
*/
virtual void setStartupScriptFilename(const char* filename) {
m_startupScriptFilename = filename;
}
virtual const char* getStartupScriptFilename(void) {
return m_startupScriptFilename.c_str();
}
protected:
std::string m_startupScriptFilename;
};
// end of platform group
/// @}
NS_CC_END
#endif // __CC_APPLICATION_PROTOCOL_H__