mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-10-14 05:46:00 +00:00
Expose SDL_GetPenStatus for Android pen buttons
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user