README-touch.txt
author David Ludwig <dludwig@pobox.com>
Wed, 25 Dec 2013 21:39:48 -0500
changeset 8563 c0e68f3b6bbb
parent 7241 28602f5ca96d
permissions -rw-r--r--
WinRT: compiled the d3d11 renderer's shaders into SDL itself

Previously, the shaders would get compiled separately, the output of which would need to be packaged into the app. This change should make SDL's dll be the only binary needed to include SDL in a WinRT app.
     1 ===========================================================================
     2 System Specific Notes
     3 ===========================================================================
     4 Linux:
     5 The linux touch system is currently based off event streams, and proc/bus/devices. The active user must be given permissions to read /dev/input/TOUCHDEVICE, where TOUCHDEVICE is the event stream for your device. Currently only Wacom tablets are supported. If you have an unsupported tablet contact me at jim.tla+sdl_touch@gmail.com and I will help you get support for it.
     6 
     7 Mac:
     8 The Mac and iPhone APIs are pretty. If your touch device supports them then you'll be fine. If it doesn't, then there isn't much we can do.
     9 
    10 iPhone: 
    11 Works out of box.
    12 
    13 Windows:
    14 Unfortunately there is no windows support as of yet. Support for Windows 7 is planned, but we currently have no way to test. If you have a Windows 7 WM_TOUCH supported device, and are willing to help test please contact me at jim.tla+sdl_touch@gmail.com
    15 
    16 ===========================================================================
    17 Events
    18 ===========================================================================
    19 SDL_FINGERDOWN:
    20 Sent when a finger (or stylus) is placed on a touch device.
    21 Fields:
    22 event.tfinger.touchId  - the Id of the touch device.
    23 event.tfinger.fingerId - the Id of the finger which just went down.
    24 event.tfinger.x        - the x coordinate of the touch (0..1)
    25 event.tfinger.y        - the y coordinate of the touch (0..1)
    26 event.tfinger.pressure - the pressure of the touch (0..1)
    27 
    28 SDL_FINGERMOTION:
    29 Sent when a finger (or stylus) is moved on the touch device.
    30 Fields:
    31 Same as SDL_FINGERDOWN but with additional:
    32 event.tfinger.dx       - change in x coordinate during this motion event.
    33 event.tfinger.dy       - change in y coordinate during this motion event.
    34 
    35 SDL_FINGERUP:
    36 Sent when a finger (or stylus) is lifted from the touch device.
    37 Fields:
    38 Same as SDL_FINGERDOWN.
    39 
    40 
    41 ===========================================================================
    42 Functions
    43 ===========================================================================
    44 SDL provides the ability to access the underlying Finger structures.
    45 These structures should _never_ be modified.
    46 
    47 The following functions are included from SDL_touch.h
    48 
    49 To get a SDL_TouchID call SDL_GetTouchDevice(index).
    50 This returns a SDL_TouchID.
    51 IMPORTANT: If the touch has been removed, or there is no touch with the given ID, SDL_GetTouchID will return 0. Be sure to check for this!
    52 
    53 The number of touch devices can be queried with SDL_GetNumTouchDevices().
    54 
    55 A SDL_TouchID may be used to get pointers to SDL_Finger.
    56 
    57 SDL_GetNumTouchFingers(touchID) may be used to get the number of fingers currently down on the device.
    58 
    59 The most common reason to access SDL_Finger is to query the fingers outside the event. In most cases accessing the fingers is using the event. This would be accomplished by code like the following:
    60 
    61       float x = event.tfinger.x;
    62       float y = event.tfinger.y;
    63 
    64 
    65 
    66 To get a SDL_Finger, call SDL_GetTouchFinger(touchID,index), where touchID is a SDL_TouchID, and index is the requested finger.
    67 This returns a SDL_Finger*, or NULL if the finger does not exist, or has been removed.
    68 A SDL_Finger is guaranteed to be persistent for the duration of a touch, but it will be de-allocated as soon as the finger is removed. This occurs when the SDL_FINGERUP event is _added_ to the event queue, and thus _before_ the SDL_FINGERUP event is polled.
    69 As a result, be very careful to check for NULL return values.
    70 
    71 A SDL_Finger has the following fields:
    72 >x,y,pressure:
    73 	The current coordinates of the touch.
    74 >pressure:
    75 	The pressure of the touch.
    76 
    77 ===========================================================================
    78 Notes
    79 ===========================================================================
    80 For a complete example see test/testgesture.c
    81 
    82 Please direct questions/comments to:
    83    jim.tla+sdl_touch@gmail.com
    84    (original author, API was changed since)