mirror of https://github.com/axmolengine/axmol.git
91 lines
2.0 KiB
C++
91 lines
2.0 KiB
C++
#ifndef __CC_EGLVIEW_AIRPLAY_H__
|
|
#define __CC_EGLVIEW_AIRPLAY_H__
|
|
|
|
#include "CCGeometry.h"
|
|
#include "s3eKeyboard.h"
|
|
#include "IwUtil.h"
|
|
#include "IwUtilInitTerm.h"
|
|
|
|
NS_CC_BEGIN;
|
|
class CCSet;
|
|
class CCTouch;
|
|
class EGLTouchDelegate;
|
|
class CCKeypadDelegate;
|
|
|
|
|
|
class CC_DLL CCEGLView
|
|
{
|
|
public:
|
|
CCEGLView();
|
|
virtual ~CCEGLView();
|
|
|
|
CCSize getSize();
|
|
bool isOpenGLReady();
|
|
/**
|
|
* the width and height is the real size of phone
|
|
*/
|
|
void setFrameWitdAndHeight(int width, int height);
|
|
/**
|
|
* create a drawing rect,
|
|
* the width and heiht is the resource size match best
|
|
*/
|
|
void create(int width, int height);
|
|
EGLTouchDelegate* getDelegate(void);
|
|
|
|
// keep compatible
|
|
void release();
|
|
void setTouchDelegate(EGLTouchDelegate * pDelegate);
|
|
void swapBuffers();
|
|
bool canSetContentScaleFactor();
|
|
void setContentScaleFactor(float contentScaleFactor);
|
|
void setViewPortInPoints(float x, float y, float w, float h);
|
|
CCRect getViewPort();
|
|
float getScreenScaleFactor();
|
|
|
|
// static function
|
|
/**
|
|
@brief get the shared main open gl window
|
|
*/
|
|
static CCEGLView& sharedOpenGLView();
|
|
|
|
private:
|
|
|
|
CCSize m_sSizeInPixel;
|
|
CCSize m_sSizeInPoint;
|
|
CCRect m_rcViewPort;
|
|
bool m_bNotHVGA;
|
|
|
|
EGLTouchDelegate *m_pDelegate;
|
|
float m_fScreenScaleFactor;
|
|
|
|
bool m_bAccelState;
|
|
bool m_bCaptured;
|
|
s3eKey m_Key;
|
|
CCSet * m_pSet;
|
|
CCTouch * m_pTouch;
|
|
|
|
void setTouch(void* systemData);
|
|
void setMotionTouch();
|
|
void setKeyTouch(void* systemData);
|
|
|
|
static int32 TouchEventHandler(void* systemData, void* userData)
|
|
{
|
|
((CCEGLView*)userData)->setTouch(systemData);
|
|
return 0;
|
|
}
|
|
static int32 MotionEventHandler(void* systemData, void* userData)
|
|
{
|
|
((CCEGLView*)userData)->setMotionTouch();
|
|
return 0;
|
|
}
|
|
static int32 KeyEventHandler(void* systemData, void* userData)
|
|
{
|
|
((CCEGLView*)userData)->setKeyTouch(systemData);
|
|
return 0;
|
|
}
|
|
};
|
|
|
|
NS_CC_END;
|
|
|
|
#endif // end of __CC_EGLVIEW_AIRPLAY_H__
|