SDL_TouchFingerEvent(3type)
π SDL_TouchFingerEvent π
okay bestie, gather round, because we're talking about SDL_TouchFingerEvent(3type) β the datatype from the SDL3 DATATYPES era of the SDL3 docs. it's giving "your finger touched a screen and SDL is being SO normal about telling you" β¨
β¨ NAME β¨
SDL_TouchFingerEvent β the touch finger event structure, aka all the event.tfinger.* goodness π«Ά
π SYNOPSIS π
#include <SDL3/SDL_events.h>
typedef struct SDL_TouchFingerEvent
{
SDL_EventType type; /**< SDL_EVENT_FINGER_DOWN, SDL_EVENT_FINGER_UP, SDL_EVENT_FINGER_MOTION, or SDL_EVENT_FINGER_CANCELED */
Uint32 reserved;
Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
SDL_TouchID touchID; /**< The touch device id */
SDL_FingerID fingerID;
float x; /**< Normalized in the range 0...1 */
float y; /**< Normalized in the range 0...1 */
float dx; /**< Normalized in the range -1...1 */
float dy; /**< Normalized in the range -1...1 */
float pressure; /**< Normalized in the range 0...1 */
SDL_WindowID windowID; /**< The window underneath the finger, if any */
} SDL_TouchFingerEvent;
πΈ DESCRIPTION πΈ
okay so the coordinates in this event are normalized. like, glow-up'd. x and y live in a range between 0.0f and 1.0f, relative to the window. so (0,0) is the top left and (1,1) is the bottom right. periodt. π
the delta coordinates dx and dy are normalized too, but their range is -1.0f (traversed all the way from the bottom or right to all the way up or left) up to 1.0f (traversed all the way from the top or left to all the way down or right). yes bestie, that's a whole vibe.
β οΈ not me having to warn you about this one β οΈ β the coordinates are normalized, but they are not clamped. so in some circumstances you can absolutely get a value outside of this range. it's not a bug, it's just how it is π for example, a renderer using logical presentation might give you a negative value when the touch is in the letterboxing. and some platforms might report a touch outside of the window, which will also be outside of the range. so like, vibe check your values, don't assume. π¦
π AVAILABILITY π
this struct is available since SDL 3.2.0. iconic. no cap. π₯
and that's the whole thing, bestie π this page is from Simple Directmedia Layer, version SDL 3.4.18, and it's the SDL_TouchFingerEvent(3type) manual page β so next time you're deep in event.tfinger.* at 2am, you'll know exactly what's up. go forth and normalize (but don't clamp) πβ¨π§
π¦ where this page comes from
- fedora 43: SDL3-devel 3.4.18-1.fc43 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- fedora 43: SDL3-devel 3.4.18-1.fc43 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- fedora 44: SDL3-devel 3.4.18-1.fc44 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- fedora 44: SDL3-devel 3.4.18-1.fc44 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms