arsa  2.7
CARSADPad.h
Go to the documentation of this file.
1 #ifndef __CARSA_DPAD_H__
2 #define __CARSA_DPAD_H__
3 
4 #include <irrlicht.h>
5 
6 namespace irr
7 {
8 
9 #ifndef ARSA_FRAMEWORK
10 namespace scene
11 {
12  const int ESNT_ARSA_DPAD = MAKE_IRR_ID('a', 'd', 'p', 'a');
13 }
14 #endif
15 
16 namespace arsa
17 {
18 
19 #define DPAD_MODE_STATIC 0
20 #define DPAD_MODE_DYNAMIC 1
21 
22 class CARSAPsd;
23 struct SDPad;
24 struct SDPadData;
25 struct SButton;
26 
28 {
29  public:
30  CARSADPad(scene::ISceneNode* parent, scene::ISceneManager* smgr, s32 id = -1);
31  virtual ~CARSADPad();
32 
33  virtual void OnRegisterSceneNode();
34  virtual void OnAnimate(u32 timeMs);
35  virtual void render();
36  virtual const core::aabbox3d<f32>& getBoundingBox() const { return Box; }
38 
39  // DPad function
40  virtual bool addDPad(const core::stringc& name, int x, int y, f32 size = 30, int mode = DPAD_MODE_STATIC );
41  virtual bool removeDPad(const core::stringc& name);
42  virtual void clearDPad();
43  virtual SDPadData* getDPadData(const core::stringc& name) const;
44  virtual void setDPadMode(const core::stringc& name, int mode);
45  virtual void setDPadPos(const core::stringc& name, int x, int y);
46  virtual void setDPadSize(const core::stringc& name, f32 size);
47  virtual void setDPadShow(const core::stringc& name, bool show = true);
48  virtual bool getDPadShow(const core::stringc& name) const;
49  virtual void getDPadPos(const core::stringc& name, int& x, int& y);
50  virtual f32 getDPadSize(const core::stringc& name) const;
51  virtual int getDPadMode(const core::stringc& name) const;
52  virtual f32 getDPadDegree(const core::stringc& name) const; // 0-360, -1 is error
53  virtual bool setDPadSkinBG(const core::stringc& name, CARSAPsd* psd, int id);
54  virtual bool setDPadSkinStick(const core::stringc& name, CARSAPsd* psd, int id);
55 
56  // return value is distance from center that called getDPadDistancePercent()
57  virtual int isLeft(const core::stringc& name) const;
58  virtual int isRight(const core::stringc& name) const;
59  virtual int isUp(const core::stringc& name) const;
60  virtual int isDown(const core::stringc& name) const;
61 
62  // >100 is maxmove mean far from center,
63  // 0 is none mean near from center
64  virtual int getDPadDistancePercent(const core::stringc& name) const;
65 
66  // button function
67  virtual bool addButton(const core::stringc& name, int x, int y, f32 size = 30);
68  virtual bool removeButton(const core::stringc& name);
69  virtual void clearButton();
70  virtual int getButtonState(const core::stringc& name) const;
71  virtual SButton* getButton(const core::stringc& name) const;
72  virtual void setButtonPos(const core::stringc& name, int x, int y);
73  virtual void setButtonSize(const core::stringc& name, f32 size);
74  virtual void setButtonShow(const core::stringc& name, bool show = true);
75  virtual bool getButtonShow(const core::stringc& name) const;
76  virtual void getButtonPos(const core::stringc& name, int& x, int& y);
77  virtual f32 getButtonSize(const core::stringc& name) const;
78  virtual bool setButtonSkin(const core::stringc& name, CARSAPsd* psd, int id);
79 
80  private:
82  SDPad* DPad;
83 };
84 
85 } // arsa
86 } // irr
87 
88 #endif // __CARSA_DPAD_H__
virtual void setDPadShow(const core::stringc &name, bool show=true)
virtual void OnRegisterSceneNode()
This method is called just before the rendering process of the whole scene.
virtual void render()
Renders the node.
virtual bool addButton(const core::stringc &name, int x, int y, f32 size=30)
#define DPAD_MODE_STATIC
Definition: CARSADPad.h:19
virtual bool addDPad(const core::stringc &name, int x, int y, f32 size=30, int mode=DPAD_MODE_STATIC)
float f32
32 bit floating point variable.
Definition: irrTypes.h:108
virtual f32 getButtonSize(const core::stringc &name) const
Scene node interface.
Definition: ISceneNode.h:40
const int ESNT_ARSA_DPAD
Definition: CARSADPad.h:12
virtual int getDPadMode(const core::stringc &name) const
virtual void setDPadMode(const core::stringc &name, int mode)
virtual bool getDPadShow(const core::stringc &name) const
virtual int isRight(const core::stringc &name) const
virtual int isUp(const core::stringc &name) const
GLuint const GLchar * name
virtual void getDPadPos(const core::stringc &name, int &x, int &y)
virtual const core::aabbox3d< f32 > & getBoundingBox() const
Get the axis aligned, not transformed bounding box of this node.
Definition: CARSADPad.h:36
Everything in the Irrlicht Engine can be found in this namespace.
Definition: CARSADPad.h:6
Main header file of the irrlicht, the only file needed to include.
virtual bool removeDPad(const core::stringc &name)
virtual SDPadData * getDPadData(const core::stringc &name) const
GLsizeiptr size
virtual bool setButtonSkin(const core::stringc &name, CARSAPsd *psd, int id)
virtual int getDPadDistancePercent(const core::stringc &name) const
virtual void OnAnimate(u32 timeMs)
OnAnimate() is called just before rendering the whole scene.
virtual f32 getDPadSize(const core::stringc &name) const
Very simple string class with some useful features.
Definition: irrString.h:37
virtual bool setDPadSkinStick(const core::stringc &name, CARSAPsd *psd, int id)
virtual void setButtonSize(const core::stringc &name, f32 size)
virtual SButton * getButton(const core::stringc &name) const
virtual void setButtonShow(const core::stringc &name, bool show=true)
virtual void clearDPad()
virtual void setDPadSize(const core::stringc &name, f32 size)
virtual int getButtonState(const core::stringc &name) const
virtual bool removeButton(const core::stringc &name)
signed int s32
32 bit signed variable.
Definition: irrTypes.h:70
virtual void setButtonPos(const core::stringc &name, int x, int y)
virtual int isDown(const core::stringc &name) const
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
virtual f32 getDPadDegree(const core::stringc &name) const
GLenum mode
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
ESCENE_NODE_TYPE
An enumeration for all types of built-in scene nodes.
CARSADPad(scene::ISceneNode *parent, scene::ISceneManager *smgr, s32 id=-1)
virtual void clearButton()
virtual bool getButtonShow(const core::stringc &name) const
virtual bool setDPadSkinBG(const core::stringc &name, CARSAPsd *psd, int id)
virtual int isLeft(const core::stringc &name) const
The Scene Manager manages scene nodes, mesh resources, cameras and all the other stuff.
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
#define MAKE_IRR_ID(c0, c1, c2, c3)
ignore VC8 warning deprecated
Definition: irrTypes.h:243
virtual void getButtonPos(const core::stringc &name, int &x, int &y)
virtual void setDPadPos(const core::stringc &name, int x, int y)
virtual scene::ESCENE_NODE_TYPE getType() const
Returns type of the scene node.
Definition: CARSADPad.h:37