← index
Old.Learning.Projects/MasterpiecePSP/mpsp/mpsdl/joystick.h
Source: Old.Learning.Projects/MasterpiecePSP/mpsp/mpsdl/joystick.h
#ifndef __JOYSTICK__H_

#define __JOYSTICK__H_



#include<SDL.h>



class Joystick {
public:
	Joystick(int num) {
		num_joy = SDL_NumJoysticks();
		OpenJoy(num);

	}
	~Joystick() {
		SDL_JoystickClose(joy);
	}

	void OpenJoy(int num) {
		joy = SDL_JoystickOpen(num);
		buttons = SDL_JoystickNumButtons(joy);
		SDL_JoystickEventState(SDL_ENABLE);
	}

	bool PollButton(int button) {

		if(SDL_JoystickGetButton(joy,button)) 
			return true;
		return false;

	}

	bool PollHat(int direction) {
		if(SDL_JoystickGetHat(joy,direction))
			return true;
		return false;
	}

	void Poll(SDL_Event &e) {
		if(e.type == SDL_JOYAXISMOTION) {
			if(e.jaxis.axis < 2)
			{
				axis[e.jaxis.axis] = e.jaxis.value >> 8;
			}
		}
	}

	SDL_Joystick *Get() { return joy; }

protected:
	int num_joy;
	SDL_Joystick *joy;
	int buttons;
public:
	int axis[2];

};

#endif