Class TGamolfCustomJoystickService
Unit
Declaration
type TGamolfCustomJoystickService = class(TInterfacedObject, IGamolfJoystickService)
Description
Platform service to access to joystick/gamepad controllers on a computer
Hierarchy
- TInterfacedObject
- TGamolfCustomJoystickService
Overview
Methods
| Public | constructor Create; virtual; |
| Public | destructor Destroy; override; |
| Public | procedure initJoystick(var Joystick: TJoystickInfo); virtual; |
| Public | procedure StartDiscovery; virtual; abstract; |
| Public | function Count: byte; virtual; abstract; |
| Public | function isConnected(JoystickID: TJoystickID): boolean; virtual; abstract; |
| Public | procedure getInfo(JoystickID: TJoystickID; var Joystick: TJoystickInfo); virtual; abstract; |
| Public | function isPressed(JoystickID: TJoystickID; ButtonID: TButtonID): boolean; |
| Public | procedure getXY(JoystickID: TJoystickID; var X, Y: single); |
| Public | function getX(JoystickID: TJoystickID): single; |
| Public | function getY(JoystickID: TJoystickID): single; |
| Public | function getZ(JoystickID: TJoystickID): single; |
| Public | function getDPad(JoystickID: TJoystickID; FromXYWhenNoDPadAvailable: boolean = false): word; |
| Public | function hasDPad(JoystickID: TJoystickID): boolean; virtual; abstract; |
| Public | function isDPad(JoystickID: TJoystickID; JoystickDPad: TJoystickDPad) : boolean; overload; |
| Public | function isDPad(JoystickID: TJoystickID; JoystickDPads: array of TJoystickDPad): boolean; overload; |
| Public | function isDPad(DPad: word; JoystickDPad: TJoystickDPad): boolean; overload; |
| Public | function isDPad(DPad: word; JoystickDPads: array of TJoystickDPad) : boolean; overload; |
| Public | function getDPadFromXY(X, Y: single): word; |
| Public | procedure getXYFromDPad(DPad: word; var X, Y: single); |
| Public | procedure ForEach(var JoystickInfo: TJoystickInfo; CallbackProc: TJoystickInfosCallbackProc); overload; |
| Public | procedure ForEach(var JoystickInfo: TJoystickInfo; CallbackEvent: TJoystickInfosCallbackEvent); overload; |
| Public | procedure ForEachConnectedDevice(var JoystickInfo: TJoystickInfo; CallbackProc: TJoystickInfosConnectedCallbackProc; ErrorCallbackProc: TJoystickErrorCallbackProc = nil); overload; |
| Public | procedure ForEachConnectedDevice(var JoystickInfo: TJoystickInfo; CallbackEvent: TJoystickInfosConnectedCallbackEvent; ErrorCallbackEvent: TJoystickErrorCallbackEvent = nil); overload; |
| Public | function hasJoystickButtonsAPI: boolean; virtual; |
Description
Methods
| Public | constructor Create; virtual; |
|
This item has no description. | |
| Public | destructor Destroy; override; |
|
This item has no description. | |
| Public | procedure initJoystick(var Joystick: TJoystickInfo); virtual; |
|
Reset Joystick structure | |
| Public | procedure StartDiscovery; virtual; abstract; |
|
Scan for availale devices (if some are already used, their ID could change) | |
| Public | function Count: byte; virtual; abstract; |
|
Return the number of joysticks managed by the system | |
| Public | function isConnected(JoystickID: TJoystickID): boolean; virtual; abstract; |
|
Return "true" if the JoystickID controller is connected and available | |
| Public | procedure getInfo(JoystickID: TJoystickID; var Joystick: TJoystickInfo); virtual; abstract; |
|
Return a TJoystick for the JoystickID controller | |
| Public | function isPressed(JoystickID: TJoystickID; ButtonID: TButtonID): boolean; |
|
Check if button "ButtonID" from controller "JoystickID" is pressed or not | |
| Public | procedure getXY(JoystickID: TJoystickID; var X, Y: single); |
|
Return X,Y axes values for JoystickID controller | |
| Public | function getX(JoystickID: TJoystickID): single; |
|
Return X axes values for JoystickID controller | |
| Public | function getY(JoystickID: TJoystickID): single; |
|
Return Y axes values for JoystickID controller | |
| Public | function getZ(JoystickID: TJoystickID): single; |
|
Return Z axes values for JoystickID controller | |
| Public | function getDPad(JoystickID: TJoystickID; FromXYWhenNoDPadAvailable: boolean = false): word; |
|
Return the DPad value between (0-359° or 65535) Compare it to Top, TopRight/RightTop, Right, BottomRight/RightBottom, Bottom, BottomLeft/LeftBottom, Left, LeftTop/TopLeft, Center values from TJoystickDPad enumeration | |
| Public | function hasDPad(JoystickID: TJoystickID): boolean; virtual; abstract; |
|
Check if the game controller has a DPad/POV button | |
| Public | function isDPad(JoystickID: TJoystickID; JoystickDPad: TJoystickDPad) : boolean; overload; |
|
Check is the DPad / POV is in a standard position for a JoystickID or in general | |
| Public | function isDPad(JoystickID: TJoystickID; JoystickDPads: array of TJoystickDPad): boolean; overload; |
|
This item has no description. | |
| Public | function isDPad(DPad: word; JoystickDPad: TJoystickDPad): boolean; overload; |
|
This item has no description. | |
| Public | function isDPad(DPad: word; JoystickDPads: array of TJoystickDPad) : boolean; overload; |
|
This item has no description. | |
| Public | function getDPadFromXY(X, Y: single): word; |
|
Get orientation (like DPad) from (x,y) axis | |
| Public | procedure getXYFromDPad(DPad: word; var X, Y: single); |
|
Get the values for (x,y) axis from a DPad/POV orientation | |
| Public | procedure ForEach(var JoystickInfo: TJoystickInfo; CallbackProc: TJoystickInfosCallbackProc); overload; |
|
Loop on all game controllers and call the procedure with infos for each one | |
| Public | procedure ForEach(var JoystickInfo: TJoystickInfo; CallbackEvent: TJoystickInfosCallbackEvent); overload; |
|
Loop on all game controllers and call the method with infos for each one | |
| Public | procedure ForEachConnectedDevice(var JoystickInfo: TJoystickInfo; CallbackProc: TJoystickInfosConnectedCallbackProc; ErrorCallbackProc: TJoystickErrorCallbackProc = nil); overload; |
|
Loop on all game controllers and call the procedure with infos for each connected device | |
| Public | procedure ForEachConnectedDevice(var JoystickInfo: TJoystickInfo; CallbackEvent: TJoystickInfosConnectedCallbackEvent; ErrorCallbackEvent: TJoystickErrorCallbackEvent = nil); overload; |
|
Loop on all game controllers and call the method with infos for each connected device | |
| Public | function hasJoystickButtonsAPI: boolean; virtual; |
|
Override this function and return true for platforms where buttons place are known. By default, it's false;
If "true" use TJoystickButtons enumeration to check if a button is pressed. If "false" use buttons ID to check if a button is pressed. | |
Generated by PasDoc 1.0.2.