Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
in_mouse.h File Reference
#include "in.h"

Go to the source code of this file.

Functions

int getMouseButtonStatus ()
 
void InitMouse ()
 
void RestoreMouse ()
 
void ProcessMouse ()
 
void BindKey (int key, MouseHandler handler)
 
void UnbindMouse (int key)
 
int getMouseDrawFunc ()
 
void GetMouseDelta (int &dx, int &dy)
 
int lookupMouseButton (int winsys_button)
 

Variables

int mousex
 
int mousey
 

Function Documentation

void BindKey ( int  key,
MouseHandler  handler 
)

Definition at line 197 of file in_mouse.cpp.

References mouseBindings, mousex, mousey, and RESET.

198 {
199  mouseBindings[key] = handler;
200  handler( RESET, mousex, mousey, 0, 0, 0 );
201 }
int getMouseButtonStatus ( )

Definition at line 48 of file in_mouse.cpp.

References DOWN, i, MouseState, NUM_BUTTONS, and PRESS.

49 {
50  int ret = 0;
51  for (int i = 0; i < NUM_BUTTONS; i++)
52  ret |= (MouseState[i] == PRESS || MouseState[i] == DOWN) ? (1<<i) : 0;
53  return ret;
54 }
void GetMouseDelta ( int dx,
int dy 
)

Definition at line 166 of file in_mouse.cpp.

References delx, and dely.

167 {
168  dx = delx;
169  dy = dely;
170  delx = dely = 0;
171 }
int getMouseDrawFunc ( )

Gets the button number of the function used to draw the mouse

Definition at line 34 of file in_mouse.cpp.

References NUM_BUTTONS.

35 {
36  return NUM_BUTTONS;
37 }
void InitMouse ( )

Definition at line 209 of file in_mouse.cpp.

References a, NUM_BUTTONS, RestoreMouse(), and UnbindMouse().

Referenced by InitInput().

210 {
211  for (int a = 0; a < NUM_BUTTONS+1; a++)
212  UnbindMouse( a );
213  RestoreMouse();
214 }
int lookupMouseButton ( int  winsys_button)

Definition at line 123 of file in_mouse.cpp.

References b, NUM_BUTTONS, WS_LEFT_BUTTON, WS_MIDDLE_BUTTON, WS_RIGHT_BUTTON, WS_WHEEL_DOWN, and WS_WHEEL_UP.

Referenced by NavigationSystem::mouseClick(), and mouseClick0().

124 {
125  static int adj = 0;
126  if (b+adj < WS_LEFT_BUTTON)
127  adj = WS_LEFT_BUTTON-b;
128  b += adj;
129  switch (b)
130  {
131  case WS_LEFT_BUTTON:
132  return 0;
133 
134  case WS_RIGHT_BUTTON:
135  return 2;
136 
137  case WS_MIDDLE_BUTTON:
138  return 1;
139 
140  case WS_WHEEL_UP:
141  return 3;
142 
143  case WS_WHEEL_DOWN:
144  return 4;
145 
146  default:
147  return ( (b-WS_LEFT_BUTTON) >= NUM_BUTTONS ) ? NUM_BUTTONS-1 : b-WS_LEFT_BUTTON;
148  }
149  return 0;
150 }
void ProcessMouse ( )

Definition at line 216 of file in_mouse.cpp.

References MouseEvent::button, MouseEvent::CLICK, MouseEvent::DRAG, e, eventQueue, MouseEvent::mod, MouseEvent::MOTION, mouseClick0(), mouseDrag(), mouseMotion(), MouseEvent::state, MouseEvent::type, warpallowage, MouseEvent::x, and MouseEvent::y.

Referenced by ProcessInput().

217 {
218  warpallowage = 2;
219  while ( eventQueue.size() ) {
220  MouseEvent e = eventQueue.front();
221  switch (e.type)
222  {
223  case MouseEvent::CLICK:
224  mouseClick0( e.button, e.state, e.mod, e.x, e.y );
225  break;
226  case MouseEvent::DRAG:
227  mouseDrag( e.x, e.y );
228  break;
229  case MouseEvent::MOTION:
230  mouseMotion( e.x, e.y );
231  break;
232  }
233  eventQueue.pop_front();
234  }
235 }
void UnbindMouse ( int  key)

Definition at line 193 of file in_mouse.cpp.

References DefaultMouseHandler(), and mouseBindings.

Referenced by InitMouse(), and LocationSelect::~LocationSelect().

194 {
196 }

Variable Documentation