2011-03-07 17:11:57 +08:00
|
|
|
#ifndef __CC_APPLICATION_WIN32_H__
|
|
|
|
#define __CC_APPLICATION_WIN32_H__
|
2011-03-01 12:41:57 +08:00
|
|
|
|
|
|
|
#include <Windows.h>
|
|
|
|
|
2011-03-07 17:11:57 +08:00
|
|
|
#include "CCCommon.h"
|
2011-03-01 12:41:57 +08:00
|
|
|
|
|
|
|
NS_CC_BEGIN;
|
|
|
|
|
2011-03-07 17:11:57 +08:00
|
|
|
class CCRect;
|
2011-03-01 12:41:57 +08:00
|
|
|
|
2011-03-07 17:11:57 +08:00
|
|
|
class CC_DLL CCApplication
|
2011-03-01 12:41:57 +08:00
|
|
|
{
|
|
|
|
public:
|
2011-03-07 17:11:57 +08:00
|
|
|
CCApplication();
|
|
|
|
virtual ~CCApplication();
|
2011-03-01 12:41:57 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
@brief Implement for initialize OpenGL instance, set source path, etc...
|
|
|
|
*/
|
|
|
|
virtual bool initInstance() = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
@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.
|
|
|
|
*/
|
|
|
|
void setAnimationInterval(double interval);
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
2011-03-02 17:05:22 +08:00
|
|
|
/// Device oriented vertically, home button on the bottom
|
|
|
|
kOrientationPortrait = 0,
|
|
|
|
/// Device oriented vertically, home button on the top
|
|
|
|
kOrientationPortraitUpsideDown = 1,
|
|
|
|
/// Device oriented horizontally, home button on the right
|
|
|
|
kOrientationLandscapeLeft = 2,
|
|
|
|
/// Device oriented horizontally, home button on the left
|
|
|
|
kOrientationLandscapeRight = 3,
|
2011-03-01 12:41:57 +08:00
|
|
|
} Orientation;
|
|
|
|
|
|
|
|
/**
|
|
|
|
@brief Callback by CCDirector for change device orientation.
|
|
|
|
@orientation The defination of orientation which CCDirector want change to.
|
|
|
|
@return The actual orientation of the application.
|
|
|
|
*/
|
|
|
|
Orientation setOrientation(Orientation orientation);
|
|
|
|
|
|
|
|
/**
|
|
|
|
@brief Get status bar rectangle in EGLView window.
|
|
|
|
*/
|
2011-03-07 17:11:57 +08:00
|
|
|
void statusBarFrame(CCRect * rect);
|
2011-03-01 12:41:57 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
@brief Run the message loop.
|
|
|
|
*/
|
|
|
|
int run();
|
|
|
|
|
|
|
|
/**
|
|
|
|
@brief Get current applicaiton instance.
|
|
|
|
@return Current application instance pointer.
|
|
|
|
*/
|
2011-03-07 17:11:57 +08:00
|
|
|
static CCApplication& sharedApplication();
|
2011-03-01 12:41:57 +08:00
|
|
|
|
|
|
|
protected:
|
|
|
|
HINSTANCE m_hInstance;
|
|
|
|
HACCEL m_hAccelTable;
|
|
|
|
LARGE_INTEGER m_nAnimationInterval;
|
|
|
|
|
2011-03-07 17:11:57 +08:00
|
|
|
static CCApplication * sm_pSharedApplication;
|
2011-03-01 12:41:57 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
NS_CC_END;
|
|
|
|
|
2011-03-07 17:11:57 +08:00
|
|
|
#endif // __CC_APPLICATION_WIN32_H__
|