Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CTouchInput Class Reference

Maps touch events (e.g. More...

#include <TouchInput.h>

Public Member Functions

 CTouchInput ()
 
 ~CTouchInput ()
 
bool IsEnabled ()
 Returns whether the touch input mode is enabled for this device. More...
 
InReaction HandleEvent (const SDL_Event_ *ev)
 
void Frame ()
 Should be called once per frame to perform updates. More...
 

Private Types

enum  { MOUSE_INACTIVE, MOUSE_ACTIVATING, MOUSE_ACTIVE_UP, MOUSE_ACTIVE_DOWN }
 
enum  { STATE_INACTIVE, STATE_FIRST_TOUCH, STATE_PANNING, STATE_ZOOMING }
 

Private Member Functions

void OnFingerDown (int id, int x, int y)
 
void OnFingerUp (int id, int x, int y)
 
void OnFingerMotion (int id, int x, int y)
 

Private Attributes

int m_MouseEmulateState [MAX_MOUSE]
 
CVector2D m_MouseEmulateDownPos [MAX_MOUSE]
 
bool m_Down [MAX_FINGERS]
 
CVector2D m_Pos [MAX_FINGERS]
 
CVector2D m_Prev [MAX_FINGERS]
 
int m_State
 
double m_FirstTouchTime
 
CVector2D m_FirstTouchPos
 
CVector3D m_PanFocus
 
float m_PanDist
 

Static Private Attributes

static const size_t MAX_MOUSE = 2
 
static const size_t MAX_FINGERS = 2
 

Detailed Description

Maps touch events (e.g.

on Android touchscreen devices) onto mouse events and camera movement.

Definition at line 29 of file TouchInput.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
MOUSE_INACTIVE 
MOUSE_ACTIVATING 
MOUSE_ACTIVE_UP 
MOUSE_ACTIVE_DOWN 

Definition at line 53 of file TouchInput.h.

anonymous enum
private
Enumerator
STATE_INACTIVE 
STATE_FIRST_TOUCH 
STATE_PANNING 
STATE_ZOOMING 

Definition at line 71 of file TouchInput.h.

Constructor & Destructor Documentation

CTouchInput::CTouchInput ( )

Definition at line 40 of file TouchInput.cpp.

CTouchInput::~CTouchInput ( )

Definition at line 50 of file TouchInput.cpp.

Member Function Documentation

void CTouchInput::Frame ( )

Should be called once per frame to perform updates.

Definition at line 163 of file TouchInput.cpp.

InReaction CTouchInput::HandleEvent ( const SDL_Event_ ev)

Definition at line 185 of file TouchInput.cpp.

bool CTouchInput::IsEnabled ( )

Returns whether the touch input mode is enabled for this device.

Definition at line 54 of file TouchInput.cpp.

void CTouchInput::OnFingerDown ( int  id,
int  x,
int  y 
)
private

Definition at line 63 of file TouchInput.cpp.

void CTouchInput::OnFingerMotion ( int  id,
int  x,
int  y 
)
private

Definition at line 114 of file TouchInput.cpp.

void CTouchInput::OnFingerUp ( int  id,
int  x,
int  y 
)
private

Definition at line 81 of file TouchInput.cpp.

Member Data Documentation

bool CTouchInput::m_Down[MAX_FINGERS]
private

Definition at line 66 of file TouchInput.h.

CVector2D CTouchInput::m_FirstTouchPos
private

Definition at line 81 of file TouchInput.h.

double CTouchInput::m_FirstTouchTime
private

Definition at line 80 of file TouchInput.h.

CVector2D CTouchInput::m_MouseEmulateDownPos[MAX_MOUSE]
private

Definition at line 62 of file TouchInput.h.

int CTouchInput::m_MouseEmulateState[MAX_MOUSE]
private

Definition at line 61 of file TouchInput.h.

float CTouchInput::m_PanDist
private

Definition at line 84 of file TouchInput.h.

CVector3D CTouchInput::m_PanFocus
private

Definition at line 83 of file TouchInput.h.

CVector2D CTouchInput::m_Pos[MAX_FINGERS]
private

Definition at line 67 of file TouchInput.h.

CVector2D CTouchInput::m_Prev[MAX_FINGERS]
private

Definition at line 68 of file TouchInput.h.

int CTouchInput::m_State
private

Definition at line 78 of file TouchInput.h.

const size_t CTouchInput::MAX_FINGERS = 2
staticprivate

Definition at line 65 of file TouchInput.h.

const size_t CTouchInput::MAX_MOUSE = 2
staticprivate

Definition at line 60 of file TouchInput.h.


The documentation for this class was generated from the following files: