Commit Graph

309 Commits

Author SHA1 Message Date
ahocevar
8183164298 The underlying event will be needed frequently.
But there will also be events that don't have an underlying event, so we make it optional.
2012-07-12 23:47:16 +02:00
ahocevar
3cc069186c Allow for using a different set of default behaviors.
The default behavior of dragging and wheel zooming feels specific to 2D maps. So I think it makes sense to introduce a special type of controls (ol.control.DefaultControl) that implement default behaviors. This change also re-introduces the Navigatin control, which is a container for the default behaviors that were previously defined in the map handlers. Maybe this control needs to be renamed to Navigatin2D in the future, and there could be a different Navigation control for 3D maps.
2012-07-12 20:51:47 +02:00
ahocevar
42c4c9d869 No need to pass the element to the constructor.
If MapHandler subclasses could live without a map, it would make sense to have a constructor with a target and an element. But because the target is always the map, and the handler need to know about the map for performing default behavior, we always assume the map's viewport as element.
2012-07-12 20:44:32 +02:00
ahocevar
f672303f0a New MapHandler base class; better API docs 2012-07-12 15:21:15 +02:00
ahocevar
1ad915b428 Shuffling resources; better variable names; better type declarations. 2012-07-12 13:43:47 +02:00
Éric Lemoine
8206f11372 be more explicit when calling goog.events.listen and unlisten 2012-07-12 08:20:42 +02:00
Éric Lemoine
dea307e53a typed objects for map events 2012-07-12 08:18:22 +02:00
Éric Lemoine
8801542744 add code comments to click and mousewheel handlers 2012-07-12 08:14:21 +02:00
Éric Lemoine
d517bdc5cd use of goog.events.Event.stopPropagation instead of our own function 2012-07-12 07:35:14 +02:00
Éric Lemoine
8194f05ce4 better doc strings for the mousewheel handler 2012-07-11 17:49:13 +02:00
Éric Lemoine
62aee1d7ea remove unused function in the mousewheel handler 2012-07-11 17:48:48 +02:00
Éric Lemoine
d73531bf57 missing goog.require in the mousewheel handler 2012-07-11 17:47:16 +02:00
Éric Lemoine
3936c62e77 drag handler constructor should call its parent 2012-07-11 17:46:57 +02:00
Éric Lemoine
be0f73fb11 better doc strings for the drag handler 2012-07-11 17:46:25 +02:00
Éric Lemoine
d73410a9b3 add a click handler 2012-07-11 17:45:32 +02:00
Éric Lemoine
da11a8c34d add ol.ENABLE_DRAG_HANDLER and ol.ENABLE_MOUSEWHEEL_HANDLER @defines, and pass a an object to the handlers for sharing states 2012-07-11 17:43:42 +02:00
Éric Lemoine
38f946d944 remove the navigation control and the event target hierarchy 2012-07-11 17:38:18 +02:00
Éric Lemoine
ae5cdc75b4 the mousewheel handler zooms the map by default 2012-07-11 17:35:50 +02:00
Éric Lemoine
357d08df99 the drag handler moves the map by default 2012-07-11 08:31:38 +02:00
Éric Lemoine
82b5a59647 remove ol.event entirely 2012-07-09 21:34:47 +02:00
Éric Lemoine
e4ff1a7574 ol.Tile inherits from goog.events.EventTarget 2012-07-09 21:33:08 +02:00
Éric Lemoine
f9cb029a74 ol.control.Zoom no longer require ol.event 2012-07-09 21:32:10 +02:00
Éric Lemoine
77b809bead ol.control.Attribution no longer require ol.event 2012-07-09 21:31:56 +02:00
Éric Lemoine
a3387bc673 ol.Map requires ol.handler.MouseWheel 2012-07-09 21:11:13 +02:00
Éric Lemoine
04f87f8f73 ol.Map:destroy is back (api tests pass again) 2012-07-09 21:09:42 +02:00
Éric Lemoine
aebfb643ac better type checking 2012-07-09 20:51:28 +02:00
Éric Lemoine
127a2c9606 [ol.handler.Drag] receive mousemove/touchmove events when dragstart and dragend only 2012-07-09 20:50:59 +02:00
Éric Lemoine
32757f2cd5 Merge remote branch 'upstream/master' into event 2012-07-09 19:47:46 +02:00
Éric Lemoine
484d0f8d04 use goog.events.dispatchEvent 2012-07-09 09:33:53 +02:00
Éric Lemoine
1679a59835 reset the map DEFAULT_CONTROLS array 2012-07-09 09:33:32 +02:00
Éric Lemoine
f2e0adc24f make the drag handler prevent page scrolling 2012-07-09 09:32:18 +02:00
Éric Lemoine
bc72e2e444 ol.control.Attribution no longer relies on map.getEvents 2012-07-09 09:31:33 +02:00
Éric Lemoine
e0b53360d2 ol.Popup no longer relies on map.getEvents 2012-07-09 09:30:34 +02:00
Éric Lemoine
9e693f29c5 use the mousewheel handler 2012-07-09 09:28:56 +02:00
Éric Lemoine
2c61e16b55 add a mouse wheel handler 2012-07-09 09:27:36 +02:00
Tim Schaub
7f594364ca Pixels aligned top,left to origin. 2012-07-09 01:15:56 -06:00
Éric Lemoine
34a450a009 Merge branch 'master' into event
Conflicts:
	src/ol/Map.js
	src/ol/event/Drag.js
2012-07-09 08:57:55 +02:00
Tim Schaub
5a485ea856 Getting explicit about pixels and size.
Eventually, well have to ask renderers for all pixel and size related stuff.  And the map overlay renderer will do all pixel<->loc math.  For now, we let the map do this math based on its viewport - as this is where the mouse events are handled and it is pixels relative to the viewport that are being generated.  For now, the getViewportPixelForLoc and getLocForViewportPixel are now more explicitly named.
2012-07-08 20:57:36 -06:00
Tim Schaub
3d130d3325 Letting the map ask renderer for resolution. 2012-07-08 20:56:36 -06:00
Tim Schaub
4dfb5d0dee Set center on reset. Only shift if offset. 2012-07-08 20:42:15 -06:00
Tim Schaub
b24d63a898 Spaces for tabs. 2012-07-08 19:34:53 -06:00
Tim Schaub
4911320eef Rework DOM composite renderer. 2012-07-08 18:37:23 -06:00
Tim Schaub
ceaba3cdd4 Overlays above the renderer. 2012-07-08 18:37:23 -06:00
ahocevar
7bf1ffe606 Nice improvement of the wheel zooming experience. 2012-07-08 20:27:10 +02:00
ahocevar
ca2414c9d6 Simplify controls by registering click events on own elements.
This makes sense for all controls that provide buttons or similar UI elements that don't interfer with map interaction.
2012-07-08 12:17:11 +02:00
ahocevar
a38a331085 Allow for events on other elements than the map viewport.
Not registering browser events as priority events makes it easy for controls to preventDefault or stopPropagation when events are registered on children of the map viewport element.
2012-07-08 12:14:26 +02:00
ahocevar
e67e9049ca preventDefault and stopPropagation convenience functions.
These functions can directly be used as browser event listeners.
2012-07-08 12:12:19 +02:00
ahocevar
e8ac3f1a6b preventDefault for mousemove and touchmove.
This avoids panning of the browser page when drag-panning the map.
2012-07-08 11:55:31 +02:00
Tim Schaub
ddd57426b5 Allow renderer to have a buffer. 2012-07-07 16:50:22 -06:00
Tim Schaub
dc409ebcc4 Resize images in case they were previously scaled. 2012-07-07 15:42:08 -06:00