Commit Graph

65 Commits

Author SHA1 Message Date
Tom Payne
38eaa9cfb2 Use an array to specify additional interactions 2013-03-06 13:19:50 +01:00
Tom Payne
671ee79c74 Add ol.interaction.defaults 2013-03-06 12:36:49 +01:00
Éric Lemoine
b884f2f25d View2D NoConstraint methods renamed 2013-03-05 12:51:03 +01:00
Éric Lemoine
29e610b9f3 Animate double click/tap zoom 2013-03-05 10:08:01 +01:00
Éric Lemoine
e598e4b9b2 Animate zoom after pinch 2013-03-05 10:08:01 +01:00
Éric Lemoine
d42d88c198 Animate rotation when releasing mouse or fingers 2013-03-05 10:08:00 +01:00
Éric Lemoine
2f611529dd Do not apply rotation constraint while rotating
This is on par to what the TouchRotate interaction does.
2013-03-05 10:08:00 +01:00
Éric Lemoine
7d6d82519b Make TouchRotate interaction use rotateNoConstraint 2013-03-05 09:59:31 +01:00
Éric Lemoine
03ae41a68c Change View2D function names
Also make the TouchZoom interaction no longer use a private View2D function.
2013-03-05 09:59:31 +01:00
Éric Lemoine
faef495cfd Debounce mousewheel zoom events 2013-03-05 09:59:31 +01:00
Éric Lemoine
4d486601f9 MouseWheelZoom interaction animates zoom 2013-03-05 09:59:31 +01:00
Frederic Junod
66d4c44159 Rename ol.ViewHint.PANNING to ol.ViewHint.INTERACTING 2013-03-03 10:44:58 +01:00
Frederic Junod
3b74f72c56 Add optional kinetic parameter. 2013-02-26 10:54:15 +01:00
Frederic Junod
20e8eab142 Add missing 'protected' comment for targetTouches prop. 2013-02-26 09:46:24 +01:00
Frederic Junod
585c397a0f Reset position on touch end 2013-02-26 08:58:47 +01:00
Frederic Junod
c0aa50abfc Split TouchRotateAndZoom interaction.
Split TouchRotateAndZoom interaction into two new interaction:
TouchRotate and TouchZoom.
2013-02-26 08:58:47 +01:00
Frederic Junod
8d24311bc8 Take the resolution constraint into account.
But only at the end of the pinch zoom action.
2013-02-20 09:40:19 +01:00
Frederic Junod
3e4ae0d79d Stop ongoing kinetic animation 2013-02-20 09:33:04 +01:00
Frederic Junod
48ff4a95e0 Remove unused variable, coding style 2013-02-20 09:33:04 +01:00
Frederic Junod
735e534095 Add ol.interaction.TouchRotateAndZoom 2013-02-20 09:33:04 +01:00
Frederic Junod
d9a1c18300 Add ol.interaction.TouchPan 2013-02-20 09:32:34 +01:00
Frederic Junod
e4a5744e06 Remove x,y params from ol.Kinetic.begin 2013-02-18 16:43:20 +01:00
Frederic Junod
34975428c4 Change view.rotate params: rotation and optional anchor. 2013-02-14 12:17:26 +01:00
Frederic Junod
f4e9dd5c37 view.getRotation default value already set to 0. 2013-02-12 15:37:08 +01:00
Tim Schaub
440ea038fe Merge pull request #183 from tschaub/natural-names
More natural names for animations
2013-02-07 13:44:13 -08:00
Tim Schaub
a2bbdf7ccc More natural names for animations 2013-02-06 13:43:54 -07:00
Frederic Junod
2fea469037 Change ol.Kinetic.update arguments.
Instead of goog.events.BrowserEvent, accept a x,y pair.
2013-02-06 12:55:15 +01:00
Tom Payne
93976a5d9f Fix requires relating to recent commits 2013-01-30 23:47:13 +01:00
Tom Payne
e6eb401e36 Add missing goog.requires 2013-01-30 23:47:13 +01:00
Tom Payne
b6f856f962 Remove unused goog.requires 2013-01-30 22:48:03 +01:00
Bruno Binet
79849888db Kinetic now returns directly the pre-render function
instead of returning the kinetic easing function only.

(thanks @fredj)
2013-01-29 15:34:11 +01:00
Bruno Binet
2bb8a5cfd9 Stop current kinetic animation on DOWN events 2013-01-29 14:32:38 +01:00
Bruno Binet
8a9738d755 Add support for kinetic effect while dragging.
Only dragpan interaction is supported for now.

The kinetic effect use the maths below (thx @twpayne):

Rate of decay (number, must be negative) = α
Minimum velocity (pixels/millisecond) = v_min
Initial velocity (pixels/millisecond) = v₀

Velocity at time t (pixels/millisecond) =
    α⋅t
v₀⋅ℯ

Distance travelled at time t (pixels) =
   ⎛ α⋅t    ⎞
v₀⋅⎝ℯ    - 1⎠
─────────────
      α

Duration of animation (milliseconds) =
   ⎛v_min⎞
log⎜─────⎟
   ⎝  v₀ ⎠
──────────
    α

Total distance travelled (pixels) =
-v₀ + v_min
───────────
     α

Easing function =
   ⎛ α⋅duration⋅t    ⎞
v₀⋅⎝ℯ             - 1⎠
──────────────────────
     -v₀ + v_min
2013-01-29 12:39:52 +01:00
Tom Payne
2b8aefbabf Add ol.condition.altShiftKeysOnly 2013-01-18 14:03:37 +01:00
Tom Payne
9428a94968 Add animated zoom to keyboard zoom interaction 2013-01-17 16:21:53 +01:00
Tom Payne
9764e76975 Move pixel/coordinate matrices into frame state, remove canRotate 2013-01-14 12:46:39 +01:00
Tom Payne
e837a74e00 Set panning hint in DragPanInteraction 2013-01-14 12:35:53 +01:00
Tom Payne
5d31a44c12 Implement view hints architecture 2013-01-14 12:35:53 +01:00
Éric Lemoine
927cffb2b7 Add view abstraction 2013-01-09 14:03:16 +01:00
Tom Payne
e52ec0f7a2 Fix non-view-related typecasts in interactions 2013-01-07 13:18:59 +01:00
Tom Payne
b2bb08eb81 Clarify comment 2013-01-03 18:16:16 +01:00
Tom Payne
934c75bc8c Use requestRenderFrame API in interactions 2013-01-03 12:23:50 +01:00
Tom Payne
e5d39724c9 Give each source file a unique name 2012-10-26 11:25:26 +02:00
Éric Lemoine
49f717eae6 Merge pull request #69 from elemoine/exports-files
Granularize the exports
2012-10-24 13:52:56 -07:00
Tom Payne
92b13b36d9 Prevent default in double click zoom (refs #70) 2012-10-24 16:30:44 +02:00
Éric Lemoine
d81b232587 Granularize the exports
This commit decomposes exports.txt into multiple, per-component, export files.  This will be required for custom builds;
2012-10-20 22:31:33 +02:00
Tom Payne
8df0cfb9d9 Abstract out key conditions for interactions, fixes #51, see also #54 2012-10-08 12:55:20 +02:00
Éric Lemoine
936a769869 Fix typo in ShiftDragZoom (caught by @ahocevar) 2012-09-29 13:47:00 +02:00
Tom Payne
3eebed4580 Add drag box in shift drag zoom control 2012-09-28 17:24:17 +02:00
Tim Schaub
ff19ab0a28 Call event.getPixel() to get the map pixel offset
The new getPixel method should be used instead of checking offsetX/Y on the browser event.
2012-09-28 12:19:32 +02:00