SDL 3.0
|
#include <SDL3/SDL_error.h>
Go to the source code of this file.
Macros | |
#define | SDL_PEN_INPUT_DOWN (1u << 0) |
#define | SDL_PEN_INPUT_BUTTON_1 (1u << 1) |
#define | SDL_PEN_INPUT_BUTTON_2 (1u << 2) |
#define | SDL_PEN_INPUT_BUTTON_3 (1u << 3) |
#define | SDL_PEN_INPUT_BUTTON_4 (1u << 4) |
#define | SDL_PEN_INPUT_BUTTON_5 (1u << 5) |
#define | SDL_PEN_INPUT_ERASER_TIP (1u << 30) |
Typedefs | |
typedef Uint32 | SDL_PenID |
typedef Uint32 | SDL_PenInputFlags |
#define SDL_PEN_INPUT_BUTTON_1 (1u << 1) |
#define SDL_PEN_INPUT_BUTTON_2 (1u << 2) |
#define SDL_PEN_INPUT_BUTTON_3 (1u << 3) |
#define SDL_PEN_INPUT_BUTTON_4 (1u << 4) |
#define SDL_PEN_INPUT_BUTTON_5 (1u << 5) |
#define SDL_PEN_INPUT_ERASER_TIP (1u << 30) |
SDL pen event handling.
SDL provides an API for pressure-sensitive pen (stylus and/or eraser) handling, e.g., for input and drawing tablets or suitably equipped mobile / tablet devices.
To get started with pens, simply handle SDL_EVENT_PEN_* events. When a pen starts providing input, SDL will assign it a unique SDL_PenID, which will remain for the life of the process, as long as the pen stays connected.
Pens may provide more than simple touch input; they might have other axes, such as pressure, tilt, rotation, etc. SDL pen instance IDs.
Zero is used to signify an invalid/null device.
These show up in pen events when SDL sees input from them. They remain consistent as long as SDL can recognize a tool to be the same pen; but if a pen physically leaves the area and returns, it might get a new ID.
typedef Uint32 SDL_PenInputFlags |
enum SDL_PenAxis |
Pen axis indices.
These are the valid values for the axis
field in SDL_PenAxisEvent. All axes are either normalised to 0..1 or report a (positive or negative) angle in degrees, with 0.0 representing the centre. Not all pens/backends support all axes: unsupported axes are always zero.
To convert angles for tilt and rotation into vector representation, use SDL_sinf on the XTILT, YTILT, or ROTATION component, for example:
SDL_sinf(xtilt * SDL_PI_F / 180.0)
.
Definition at line 93 of file SDL_pen.h.