Add MobileCursorControl to share with iOS and android STK
This commit is contained in:
parent
e9a6882bc3
commit
b9d00dba6d
@ -15,6 +15,7 @@
|
|||||||
#include "CContextEGL.h"
|
#include "CContextEGL.h"
|
||||||
#include "CFileSystem.h"
|
#include "CFileSystem.h"
|
||||||
#include "COGLES2Driver.h"
|
#include "COGLES2Driver.h"
|
||||||
|
#include "MobileCursorControl.h"
|
||||||
#include "../../../../src/utils/utf8/unchecked.h"
|
#include "../../../../src/utils/utf8/unchecked.h"
|
||||||
|
|
||||||
// Call when android keyboard is opened or close, and save its height for
|
// Call when android keyboard is opened or close, and save its height for
|
||||||
@ -83,7 +84,7 @@ CIrrDeviceAndroid::CIrrDeviceAndroid(const SIrrlichtCreationParameters& param)
|
|||||||
|
|
||||||
createKeyMap();
|
createKeyMap();
|
||||||
|
|
||||||
CursorControl = new CCursorControl();
|
CursorControl = new gui::MobileCursorControl();
|
||||||
|
|
||||||
Android = (android_app*)(param.PrivateData);
|
Android = (android_app*)(param.PrivateData);
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
#include "CIrrDeviceStub.h"
|
#include "CIrrDeviceStub.h"
|
||||||
#include "IrrlichtDevice.h"
|
#include "IrrlichtDevice.h"
|
||||||
#include "IImagePresenter.h"
|
#include "IImagePresenter.h"
|
||||||
#include "ICursorControl.h"
|
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
@ -87,45 +86,6 @@ namespace irr
|
|||||||
{
|
{
|
||||||
m_moved_height_func = height_function;
|
m_moved_height_func = height_function;
|
||||||
}
|
}
|
||||||
|
|
||||||
class CCursorControl : public gui::ICursorControl
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
CCursorControl() : CursorPos(core::position2d<s32>(0, 0)) {}
|
|
||||||
virtual void setVisible(bool visible) {}
|
|
||||||
virtual bool isVisible() const {return false;}
|
|
||||||
virtual void setPosition(const core::position2d<f32> &pos)
|
|
||||||
{
|
|
||||||
setPosition(pos.X, pos.Y);
|
|
||||||
}
|
|
||||||
virtual void setPosition(f32 x, f32 y)
|
|
||||||
{
|
|
||||||
CursorPos.X = x;
|
|
||||||
CursorPos.Y = y;
|
|
||||||
}
|
|
||||||
virtual void setPosition(const core::position2d<s32> &pos)
|
|
||||||
{
|
|
||||||
setPosition(pos.X, pos.Y);
|
|
||||||
}
|
|
||||||
virtual void setPosition(s32 x, s32 y)
|
|
||||||
{
|
|
||||||
CursorPos.X = x;
|
|
||||||
CursorPos.Y = y;
|
|
||||||
}
|
|
||||||
virtual const core::position2d<s32>& getPosition()
|
|
||||||
{
|
|
||||||
return CursorPos;
|
|
||||||
}
|
|
||||||
virtual core::position2d<f32> getRelativePosition()
|
|
||||||
{
|
|
||||||
return core::position2d<f32>(0, 0);
|
|
||||||
}
|
|
||||||
virtual void setReferenceRect(core::rect<s32>* rect=0) {}
|
|
||||||
private:
|
|
||||||
core::position2d<s32> CursorPos;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void onCreate();
|
static void onCreate();
|
||||||
static const AndroidApplicationInfo& getApplicationInfo(
|
static const AndroidApplicationInfo& getApplicationInfo(
|
||||||
ANativeActivity* activity);
|
ANativeActivity* activity);
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "CTimer.h"
|
#include "CTimer.h"
|
||||||
#include "CEAGLManager.h"
|
#include "CEAGLManager.h"
|
||||||
#include "COGLES2Driver.h"
|
#include "COGLES2Driver.h"
|
||||||
|
#include "MobileCursorControl.h"
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <CoreMotion/CoreMotion.h>
|
#import <CoreMotion/CoreMotion.h>
|
||||||
@ -329,6 +330,7 @@ namespace irr
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
createGUIAndScene();
|
createGUIAndScene();
|
||||||
|
CursorControl = new gui::MobileCursorControl();
|
||||||
}
|
}
|
||||||
|
|
||||||
CIrrDeviceiOS::~CIrrDeviceiOS()
|
CIrrDeviceiOS::~CIrrDeviceiOS()
|
||||||
|
48
lib/irrlicht/source/Irrlicht/MobileCursorControl.h
Normal file
48
lib/irrlicht/source/Irrlicht/MobileCursorControl.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#ifndef __C_MOBILE_CURSOR_CONTROL_H_INCLUDED__
|
||||||
|
#define __C_MOBILE_CURSOR_CONTROL_H_INCLUDED__
|
||||||
|
#include "ICursorControl.h"
|
||||||
|
|
||||||
|
namespace irr
|
||||||
|
{
|
||||||
|
namespace gui
|
||||||
|
{
|
||||||
|
class MobileCursorControl : public ICursorControl
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
MobileCursorControl() : CursorPos(core::position2d<s32>(0, 0)) {}
|
||||||
|
virtual void setVisible(bool visible) {}
|
||||||
|
virtual bool isVisible() const {return false;}
|
||||||
|
virtual void setPosition(const core::position2d<f32> &pos)
|
||||||
|
{
|
||||||
|
setPosition(pos.X, pos.Y);
|
||||||
|
}
|
||||||
|
virtual void setPosition(f32 x, f32 y)
|
||||||
|
{
|
||||||
|
CursorPos.X = x;
|
||||||
|
CursorPos.Y = y;
|
||||||
|
}
|
||||||
|
virtual void setPosition(const core::position2d<s32> &pos)
|
||||||
|
{
|
||||||
|
setPosition(pos.X, pos.Y);
|
||||||
|
}
|
||||||
|
virtual void setPosition(s32 x, s32 y)
|
||||||
|
{
|
||||||
|
CursorPos.X = x;
|
||||||
|
CursorPos.Y = y;
|
||||||
|
}
|
||||||
|
virtual const core::position2d<s32>& getPosition()
|
||||||
|
{
|
||||||
|
return CursorPos;
|
||||||
|
}
|
||||||
|
virtual core::position2d<f32> getRelativePosition()
|
||||||
|
{
|
||||||
|
return core::position2d<f32>(0, 0);
|
||||||
|
}
|
||||||
|
virtual void setReferenceRect(core::rect<s32>* rect=0) {}
|
||||||
|
private:
|
||||||
|
core::position2d<s32> CursorPos;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user