Expose SDL_GetPenStatus for Android pen buttons
This commit is contained in:
parent
e3c99e3bd3
commit
80c39f2ff4
2 changed files with 13 additions and 10 deletions
|
@ -158,6 +158,16 @@ bool SDL_GetPenInfo(SDL_PenID instance_id, SDL_PenInfo *info)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SDL_PenConnected(SDL_PenID instance_id)
|
||||||
|
{
|
||||||
|
SDL_LockRWLockForReading(pen_device_rwlock);
|
||||||
|
const SDL_Pen *pen = FindPenByInstanceId(instance_id);
|
||||||
|
const bool result = (pen != NULL);
|
||||||
|
SDL_UnlockRWLock(pen_device_rwlock);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
SDL_PenInputFlags SDL_GetPenStatus(SDL_PenID instance_id, float *axes, int num_axes)
|
SDL_PenInputFlags SDL_GetPenStatus(SDL_PenID instance_id, float *axes, int num_axes)
|
||||||
{
|
{
|
||||||
if (num_axes < 0) {
|
if (num_axes < 0) {
|
||||||
|
@ -181,16 +191,6 @@ SDL_PenInputFlags SDL_GetPenStatus(SDL_PenID instance_id, float *axes, int num_a
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_PenConnected(SDL_PenID instance_id)
|
|
||||||
{
|
|
||||||
SDL_LockRWLockForReading(pen_device_rwlock);
|
|
||||||
const SDL_Pen *pen = FindPenByInstanceId(instance_id);
|
|
||||||
const bool result = (pen != NULL);
|
|
||||||
SDL_UnlockRWLock(pen_device_rwlock);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SDL_PenCapabilityFlags SDL_GetPenCapabilityFromAxis(SDL_PenAxis axis)
|
SDL_PenCapabilityFlags SDL_GetPenCapabilityFromAxis(SDL_PenAxis axis)
|
||||||
{
|
{
|
||||||
// the initial capability bits happen to match up, but as
|
// the initial capability bits happen to match up, but as
|
||||||
|
|
|
@ -84,6 +84,9 @@ extern SDL_PenID SDL_FindPenByHandle(void *handle);
|
||||||
// Backend can optionally use this to find a SDL_PenID, selected by a callback examining all devices. Zero if not found.
|
// Backend can optionally use this to find a SDL_PenID, selected by a callback examining all devices. Zero if not found.
|
||||||
extern SDL_PenID SDL_FindPenByCallback(bool (*callback)(void *handle, void *userdata), void *userdata);
|
extern SDL_PenID SDL_FindPenByCallback(bool (*callback)(void *handle, void *userdata), void *userdata);
|
||||||
|
|
||||||
|
// Backend can use this to query current pen status.
|
||||||
|
SDL_PenInputFlags SDL_GetPenStatus(SDL_PenID instance_id, float *axes, int num_axes);
|
||||||
|
|
||||||
// Backend can use this to map an axis to a capability bit.
|
// Backend can use this to map an axis to a capability bit.
|
||||||
SDL_PenCapabilityFlags SDL_GetPenCapabilityFromAxis(SDL_PenAxis axis);
|
SDL_PenCapabilityFlags SDL_GetPenCapabilityFromAxis(SDL_PenAxis axis);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue