|
TinyGPU
|
Maps the desktop mouse to a TouchDriver, for exercising touch-driven UI (buttons, sliders, ...) on the SDL desktop backend without any physical touch hardware. More...
#include <TouchDriverSDL.h>


Public Member Functions | |
| TouchDriverSDL ()=default | |
| bool | begin () override |
| Initialize the controller. | |
| bool | isTouched () override |
| Return whether the panel currently appears touched. | |
| bool | getPoint (Point &outPoint) override |
| Read the current touch point. | |
Public Member Functions inherited from TouchDriver | |
| virtual | ~TouchDriver ()=default |
| virtual bool | begin ()=0 |
| Initialize the controller. | |
| virtual bool | isTouched ()=0 |
| Return whether the panel currently appears touched. | |
| virtual bool | getPoint (Point &outPoint)=0 |
| Read the current touch point. | |
| virtual bool | getSecondPoint (Point &outPoint) |
| Read a second, simultaneous touch point, for multi-touch gestures (pinch/rotate). | |
| void | setRotation (Rotation rotation) |
| Rotation | getRotation () const |
| bool | setCalibration (const CalibrationData &cal) |
| Set and validate calibration. | |
| const CalibrationData & | getCalibration () const |
| bool | hasCalibration () const |
Additional Inherited Members | |
Protected Member Functions inherited from TouchDriver | |
| Point | mapCoordinates (int16_t rawX, int16_t rawY, uint16_t pressure=255) const |
| Convert raw controller coordinates into logical display space. | |
Static Protected Member Functions inherited from TouchDriver | |
| static bool | validateCalibration (const CalibrationData &cal) |
| static int32_t | clamp32 (int32_t value, int32_t minimum, int32_t maximum) |
| Clamp an integer to an inclusive range. | |
| static int32_t | mapRange (int32_t value, int32_t inMin, int32_t inMax, int32_t outMin, int32_t outMax) |
| Map an integer from one range to another. | |
Protected Attributes inherited from TouchDriver | |
| Rotation | rotation_ = Rotation::Deg0 |
| CalibrationData | calibration_ |
| bool | hasCalibration_ = false |
Maps the desktop mouse to a TouchDriver, for exercising touch-driven UI (buttons, sliders, ...) on the SDL desktop backend without any physical touch hardware.
The left mouse button stands in for a finger: button down = touched, cursor position = touch point. SDL_QUIT (closing the window) exits the process, since there is no hardware equivalent to hand back to the sketch.
Like every TouchDriver, isTouched() and getPoint() do not implicitly loop or block. isTouched() is where the SDL event queue is drained (via SDL_PollEvent), so - as with the other drivers in this file - call it exactly once per loop() iteration.
|
default |
|
inlineoverridevirtual |
Initialize the controller.
The driver does NOT initialize the SPI/I2C bus itself. The application is responsible for calling Wire.begin(), SPI.begin(), and configuring any board-specific bus pins.
Implements TouchDriver.
|
inlineoverridevirtual |
Read the current touch point.
Implements TouchDriver.
|
inlineoverridevirtual |
Return whether the panel currently appears touched.
For controllers without an IRQ pin this may perform a controller read.
Implements TouchDriver.