Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Editorial cleanup of 570 |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
6e28dd017c97ba383c8a08d4d2dd3c72 |
User & Date: | dkf 2020-03-19 13:19:57.802 |
Context
2020-03-19
| ||
13:21 | work around a fossil markdown bug check-in: 83811512b2 user: dkf tags: trunk | |
13:19 | Editorial cleanup of 570 check-in: 6e28dd017c user: dkf tags: trunk | |
2020-03-18
| ||
15:58 | Update Index check-in: 89b7f758a9 user: oehhar tags: trunk | |
Changes
Changes to index.json.
1 | {"tip": { | | | 1 2 3 4 5 6 7 8 9 | {"tip": { "570":{"url":"./tip/570.md","keywords":"Tk, bindings","created":"18-Mar-2020","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 570: Gesture Support for Finger Scrolling and \"Pinch to Zoom\"","author":["Harald Oehlmann <[email protected]>"],"is-jest":false}, "569":{"url":"./tip/569.md","keywords":"lint","state":"Final","vote-summary":"Accepted 8/0/0","type":"Project","author":["Don Porter <[email protected]>"],"votes-for":"DP, JD, KK, KW, SL, FV, DF, JN","votes-against":"none","created":"6-Mar-2020","title":"# TIP 569: Eliminate Comments That Serve Lint","post-history":"","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false}, "568":{"url":"./tip/568.md","keywords":"bytearray","created":"4-Mar-2020","post-history":"","state":"Draft","tcl-branch":"dgp-properbytearray","tcl-version":"9.0","vote":"Pending","type":"Project","title":"# TIP 568: Revise ByteArray Routines To Support Proper Value Extraction","author":["Don Porter <[email protected]>"],"is-jest":false}, "567":{"url":"./tip/567.md","keywords":"Tcl, TclOO, slots","created":"22-Feb-2020","post-history":"","state":"Draft","tcl-branch":"tip-567","tcl-version":"8.7","vote":"In progress","type":"Project","title":"# TIP 567: Add Operation to Support Set-like Slots","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "566":{"url":"./tip/566.md","keywords":"lset","created":"19-Feb-2020","post-history":"","state":"Draft","tcl-branch":"lset-index","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 566: Index usage in lset","author":["Jan Nijtmans <[email protected]>"],"is-jest":false}, "565":{"url":"./tip/565.md","keywords":"Tk canvas","created":"10-Feb-2020","post-history":"","state":"Final","tcl-branch":"bug-3552805fff","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 565: .canvas raise/lower ignore non-existent tag","author":["Francois Vogel <[email protected]>"],"is-jest":false}, "564":{"url":"./tip/564.md","keywords":"Tk Ttk x11 font size","created":"9-Feb-2020","post-history":"","state":"Final","tcl-branch":"bug-dccd82bdc7","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 564: ttk font sizes in points","author":["Francois Vogel <[email protected]>"],"is-jest":false}, "563":{"url":"./tip/563.md","keywords":"Tk, bindings","state":"Final","vote-summary":"Accepted 9/0/0","type":"Project","tk-branch":"tip-563-scrollbar-scrollwheel","author":["Harald Oehlmann <[email protected]>"],"votes-for":"FV, SL, KK, JD, BG, JN, KW","votes-against":"none","created":"02-Feb-2020","title":"# TIP 563: scrollwheel on horizontal scrollbar scrolls without shift too","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false}, |
︙ | ︙ | |||
568 569 570 571 572 573 574 | "4":{"url":"./tip/4.md","created":"26-Oct-2000","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 4: Tcl Release and Distribution Philosophy","discussions-to":"news:comp.lang.tcl","author":["Brent Welch <[email protected]>","Donal K. Fellows <[email protected]>","Larry W. Virden <[email protected]>","Larry W. Virden <[email protected]>"],"is-jest":false}, "3":{"url":"./tip/3.md","created":"14-Sep-2000","obsoleted-by":"467","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 3: TIP Format","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "2":{"url":"./tip/2.md","created":"12-Sep-2000","post-history":"","state":"Draft","vote":"Pending","type":"Process","title":"# TIP 2: TIP Guidelines","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","Don Porter <[email protected]>","Mo DeJong <[email protected]>","Larry W. Virden <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false}, "1":{"url":"./tip/1.md","created":"14-Sep-2000","obsoleted-by":"386","post-history":"","state":"Withdrawn","vote":"No voting","type":"Informational","title":"# TIP 1: TIP Index","author":["TIP Editor <[email protected]>"],"is-jest":false}, "0":{"url":"./tip/0.md","created":"11-Dec-2000","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 0: Tcl Core Team Basic Rules","author":["John Ousterhout <[email protected]>"],"is-jest":false}, "@min": 0, "@max": 570 | | | 568 569 570 571 572 573 574 575 | "4":{"url":"./tip/4.md","created":"26-Oct-2000","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 4: Tcl Release and Distribution Philosophy","discussions-to":"news:comp.lang.tcl","author":["Brent Welch <[email protected]>","Donal K. Fellows <[email protected]>","Larry W. Virden <[email protected]>","Larry W. Virden <[email protected]>"],"is-jest":false}, "3":{"url":"./tip/3.md","created":"14-Sep-2000","obsoleted-by":"467","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 3: TIP Format","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "2":{"url":"./tip/2.md","created":"12-Sep-2000","post-history":"","state":"Draft","vote":"Pending","type":"Process","title":"# TIP 2: TIP Guidelines","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","Don Porter <[email protected]>","Mo DeJong <[email protected]>","Larry W. Virden <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false}, "1":{"url":"./tip/1.md","created":"14-Sep-2000","obsoleted-by":"386","post-history":"","state":"Withdrawn","vote":"No voting","type":"Informational","title":"# TIP 1: TIP Index","author":["TIP Editor <[email protected]>"],"is-jest":false}, "0":{"url":"./tip/0.md","created":"11-Dec-2000","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 0: Tcl Core Team Basic Rules","author":["John Ousterhout <[email protected]>"],"is-jest":false}, "@min": 0, "@max": 570 }, "@timestamp": 1584623871} |
Changes to index.md.
︙ | ︙ | |||
214 215 216 217 218 219 220 | </tr></thead><tbody> <tr class='state-draft type-project version-87'> <td valign='top'><a href='./tip/570.md'>570</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Draft</td> | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | </tr></thead><tbody> <tr class='state-draft type-project version-87'> <td valign='top'><a href='./tip/570.md'>570</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Draft</td> <td valign='top' ><a href='./tip/570.md'>Gesture Support for Finger Scrolling and "Pinch to Zoom"</a></td> <td></td> </tr> <tr class='state-final type-project version-87'> <td valign='top'><a href='./tip/569.md'>569</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Final</td> |
︙ | ︙ |
Changes to tip/570.md.
|
| | | > | | | | > | > | > > | > > > > > > | > | > | > > > > | > > > > > | > > > > > > > > | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | # TIP 570: Gesture Support for Finger Scrolling and "Pinch to Zoom" Author: Harald Oehlmann <[email protected]> State: Draft Type: Project Vote: Done Created: 18-Mar-2020 Post-History: Keywords: Tk, bindings Tcl-Version: 8.7 ----- # Abstract Support for the gestures "finger scroll" and "pinch to zoom" are proposed in a platform neutral way. **NB:** This tip is not ready specified yet. Anybody is invited to contribute. # Specification ## Overview Many systems (e.g. Windows, Linux Window Manager, Mac-OS, Android) nowdays support gestures in a generic manner. The gestures may be different and the input media may be different. Possible input media are a touch-screen or a touchpad. The aim of this TIP is to make gestures provided by the system available within Tk. The targeted gestures are: * scrolling, for example by pointing two fingers on the touch-screen and moving it. This is often identical to the pan gesture. * zooming, for example by pinching two fingers on a touch-screen. There is a direct relation to the displayed image if a touch-screen is used. The scroll gesture gives a source and target point on the screen. ## Platforms The following discussion is about possible implementations on different platforms ### Windows Peter Spjuth has authored a Windows implementation in tk.branch [pspjuth-touch](https://core.tcl-lang.org/tk/timeline?r=pspjuth-touch) The two gestures are implemented by the following virtual bind tags: * Zoom: `<<PinchToZoom>>` with substitutions `%W %d %x %y %X %Y` * `%W`: Window (below the fingers) * `%d`: descriptive dict (**gesture**=**zoom**, **distance**=finger distance) * `%x,%y`: position. * Scroll: `<<Gesture>>` with substitutions `%W %d %x %y %X %Y` * `%W`: Window (below the fingers) * `%d`: descriptive dict (**gesture**=**pan**, **distance**=finger distance > 0 for two fingers) * `%x,%y`: position ### AndroWish Christian Werner has defined the following virtual binding tags. This information is copied and adapted from [the Androwish documentation](http://www.androwish.org/home/wiki?name=sdltk+command). * Zoom: `<<PinchToZoom>>` with substitutions `%X %Y %x %y %s` * `%X` and `%Y` are substituted with the root window coordinate of the center of the two fingers * `%x` with the distance between the two fingers * `%y` with the angle measured in 64 times degrees CCW starting at 3 o'clock. * `%s` is the finger state: `0` (zoom motion), `1` (zoom start, i.e. 2nd finger down event), `2` (zoom end by 1st finger up event), `3` (zoom end by 2nd finger up event) * Scroll: `<<FingerDown>>`, `<<FingerUp>>`, `<<FingerMotion>>` Scrolling by two fingers may be implemented by observing those events. The following substitutions are supported for all these three finger-related events: * `%x` and `%y` are the finger position scaled to {0...9999} of the device screen or viewport * `%X` and `%Y` are the motion difference scaled to {-9999...+9999} * `%t` is the pressure scaled to {0...9999}, and * `%s` is the finger identifier {1...10} ### Linux ### Mac-OS # Rationale # Implementation The following fragments are known: * tk.branch [pspjuth-touch](https://core.tcl-lang.org/tk/timeline?r=pspjuth-touch) * AndroWish # Discussion # Copyright This document has been placed in the public domain. |