/******************************************************** * GamePadButtons.h * * * * XFX GamePadButtons definition file * * Copyright © XFX Team. All Rights Reserved * ********************************************************/ #ifndef _XFX_INPUT_GAMEPADBUTTONS_ #define _XFX_INPUT_GAMEPADBUTTONS_ #include "Enums.h" #include <System/Object.h> #include <Vector2.h> using namespace System; namespace XFX { namespace Input { // Identifies whether the buttons on an Xbox Controller are pressed or released. struct GamePadButtons : Object { const ButtonState_t A; const ButtonState_t B; const ButtonState_t Back; const ButtonState_t Black; const ButtonState_t LeftStick; const ButtonState_t RightStick; const ButtonState_t Start; const ButtonState_t White; const ButtonState_t X; const ButtonState_t Y; GamePadButtons(const uint /* Buttons */ buttons); GamePadButtons(); GamePadButtons(const GamePadButtons &obj); bool Equals(const Object* obj) const; bool Equals(const GamePadButtons obj) const; int GetHashCode() const; int GetType() const; const char* ToString() const; bool operator !=(const GamePadButtons& right) const; bool operator ==(const GamePadButtons& right) const; inline GamePadButtons operator=(const GamePadButtons& right) { return (right == *this) ? *this : GamePadButtons(right); } }; // Identifies which directions on the directional pad of an Xbox Controller are being pressed. struct GamePadDPad : Object { const ButtonState_t Down; const ButtonState_t Left; const ButtonState_t Right; const ButtonState_t Up; GamePadDPad(const ButtonState_t upValue, const ButtonState_t downValue, const ButtonState_t leftValue, const ButtonState_t rightValue); GamePadDPad(); GamePadDPad(const GamePadDPad &obj); bool Equals(const Object* obj) const; bool Equals(const GamePadDPad obj) const; int GetHashCode() const; int GetType() const; const char* ToString() const; bool operator!=(const GamePadDPad& right) const; bool operator==(const GamePadDPad& right) const; inline GamePadDPad operator=(const GamePadDPad& right) { return (right == *this) ? *this : GamePadDPad(right); } }; // Structure that represents the position of left and right sticks (thumbsticks) on an Xbox Controller. struct GamePadThumbSticks : Object { const Vector2 Left; const Vector2 Right; GamePadThumbSticks(const Vector2 leftThumbstick, const Vector2 rightThumbstick); GamePadThumbSticks(); GamePadThumbSticks(const GamePadThumbSticks &obj); bool Equals(const Object* obj) const; bool Equals(const GamePadThumbSticks obj) const; int GetHashCode() const; int GetType() const; const char* ToString() const; bool operator!=(const GamePadThumbSticks& right) const; bool operator==(const GamePadThumbSticks& right) const; inline GamePadThumbSticks operator=(const GamePadThumbSticks& right) { return (right == *this) ? *this : GamePadThumbSticks(right); } }; // Structure that defines the position of the left and right triggers on an Xbox Controller. struct GamePadTriggers : Object { const float Left; const float Right; GamePadTriggers(const float left, const float right); GamePadTriggers(); GamePadTriggers(const GamePadTriggers &obj); bool Equals(const Object* obj) const; bool Equals(const GamePadTriggers obj) const; int GetHashCode() const; int GetType() const; const char* ToString() const; bool operator!=(const GamePadTriggers& right) const; bool operator==(const GamePadTriggers& right) const; inline GamePadTriggers operator=(const GamePadTriggers& right) { return (right == *this) ? *this : GamePadTriggers(right); } }; } } #endif //_XFX_INPUT_GAMEPADBUTTONS_