Commit Graph

985 Commits

Author SHA1 Message Date
Tom Payne
8c44dcf83a Add some WebGL renderer FIXMEs 2013-01-03 12:23:50 +01:00
Tom Payne
756792b8db Pass time to render functions and rename them to renderFrame_ 2013-01-03 12:23:50 +01:00
Tom Payne
783dfe0618 Port WebGL renderer to requestRenderFrame 2013-01-03 12:23:49 +01:00
Tom Payne
12099bab56 Implement @elemoine's requestRenderFrame architecture 2013-01-03 12:23:49 +01:00
Éric Lemoine
21f3f90ca6 Adjust hue, sat, and constrast in webgl renderer 2012-12-12 15:53:56 +01:00
tschaub
9622395c86 Use radians for hue rotation
This commit is a cherry-pick from 7f578f0.

Conflicts:

	src/ol/renderer/dom/domlayerrenderer.js
2012-12-12 15:22:01 +01:00
tschaub
4d97b583c6 Match the current Filter Effects spec
This commit is a cherry-pick of 19f7778.

The current draft of the [filter spec](https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html)
describes brightness, contrast, hue-rotate, and saturate functions that
roughly match our layer's setBrightness, setContrast, setHue, and
setSaturation methods.  These changes make the range of our methods match
the corresponding functions in the spec.  The one exception is the
brightness function.  The spec says it has a range of 0 to positive infinity.
The WebKit implementation accepts a range of -1 to 1 (as of
https://github.com/WebKit/webkit/commit/8f4765e569).  There's an open
(ticket)[https://www.w3.org/Bugs/Public/show_bug.cgi?id=15647] recommending
that the spec be changed to match.

I'm not stuck on having our methods match those of the filter spec, but the
parity would be nice.

These changes leave the WebGL map renderer "broken" (whacky colors).  It would
be straightforward to update the current fragment shader to handle the new
range of hue, but the brightness, contrast, and saturation handling will
need to be reworked.

For inspiration, here are the color transformation
matrix calculations the WebKit filters:
8f4765e569/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp (L64-80)

Conflicts:

	src/ol/renderer/dom/domlayerrenderer.js
2012-12-12 15:18:34 +01:00
Éric Lemoine
570defe940 Merge pull request #86 from geops/api-docs-comments
Some comments (no changes to code)
2012-12-03 14:02:20 -08:00
Augustus Kling
a73c15c988 Discard documentation for attributioncontrol.js and map.js to make refactoring easier due to @elemoine's request 2012-12-03 22:47:33 +01:00
Éric Lemoine
bccfccbf9d Merge pull request #84 from elemoine/84
DOM renderer tile artifacts on FF
2012-11-13 13:47:00 -08:00
Éric Lemoine
7b88f44a41 Keep track of tiles we're already listening on 2012-11-11 21:31:12 +01:00
augustus
f253c1bcf8 Some comments (no changes to code) 2012-11-09 16:26:59 +01:00
Tom Payne
4dde0ac2b1 Remove tile change listeners when they have fired, thanks @fredj 2012-11-09 14:33:58 +01:00
Éric Lemoine
826505c6d4 Register a CHANGE listener even if tile is loading
This fixes an issue easily reproducible in the side-by-side example where the DOM renderer is not notified when tiles loaded by the WebGL renderer have been received.
2012-11-08 21:20:26 +01:00
Éric Lemoine
90e379782c Only appending tiles to the dom after load
A port of f46cdb4 to the current master. The tilelayer renderer can be simplified a bit by waiting to append tiles to the dom until they have loaded. Refs #84 and #33.
2012-11-08 20:03:07 +01:00
Éric Lemoine
dd014a3b79 Avoid unneeded parameter concatenations (thanks @twpayne, refs #85) 2012-11-04 19:31:20 +01:00
Éric Lemoine
529c3e8b6a Add ol.TileUrlFunction.createBboxParam 2012-11-03 22:55:54 +01:00
Tom Payne
7ee5c5777a Fix use of goog.nullFunction and goog.functions.NULL, thanks @elemoine (again) 2012-11-02 18:28:27 +01:00
Tom Payne
4d3726d183 Use goog.functions.NULL instead of goog.nullFunction, thanks @elemoine 2012-11-02 18:20:52 +01:00
Tom Payne
dfd495153d Make ol.renderer.Map behave like a null renderer, fixes #82
With this patch, creating a new ol.renderer.Map will return a map
renderer that does nothing.  Previously, it could cause assertion
failures.
2012-11-02 17:10:45 +01:00
Éric Lemoine
4a604940a2 The wms-custom-proj example requires more exports 2012-11-02 12:06:24 +01:00
ahocevar
eb4a8683e2 Projection handling improvements
* The Map's private createProjection_ method is now a public
  method of the Projection. It is also used by TiledWMSSource
  to calculate the appropriate projection from the user
  configuration.
* ol.Projection.addProjection now adds the transformation for
  the source == target case. This makes it easy for the user
  to create custom projection maps without including proj4js and
  without adding a custom transformation, as long as the
  userProjection equals the projection.
* The TiledWMSSource now uses the same default resolutions as
  the map (i.e. the OSM resolutions)
* The modulo calculation for wrapping extents now works for all
  grid configurations, by not calculating the number of columns
  based on an assumption about the way the zoom levels relate to
  resolutions.
* The wms-custom-proj example now shows how to properly
  configure a custom resolution, i.e. by using the validity
  extent of the projection as its extent.
2012-10-31 13:17:58 +01:00
ahocevar
e157d17ab7 Addressing review comments regarding typeDef 2012-10-29 09:44:25 +01:00
ahocevar
e5308fec40 No extent magic
Setting the extent on a tile source now only means that tiles
won't be drawn outside that extent. Now the only way to specify
the origin of the tile grid is to provide a custom tileGrid. By
default, the grid origin is the top left corner of the
projection's extent.
2012-10-27 17:28:08 +02:00
ahocevar
b872b5a74f Cross origin handling to make example work in Firefox
The WMS used in the example does not send CORS headers (I think
not many WMS services do). It seems that the WebGL renderer
needs script access to the image data, so the example only works
with the DOM renderer in Firefox.
2012-10-27 09:16:09 +02:00
ahocevar
433b12c39a Using the projection's extent for resolutions math by default
This ensures that maps with WMS layers with different extents
do not scale the tiles differently for each layer when the
default tileGrid is used. Note that it is always possible to
configure WMS sources with a custom tileGrid.
2012-10-26 22:51:30 +02:00
ahocevar
084506cdb5 Adding tiled WMS source
As shown in the example, this adds support for tiled WMS layers.
2012-10-26 21:36:30 +02:00
Tom Payne
e5d39724c9 Give each source file a unique name 2012-10-26 11:25:26 +02:00
Tom Payne
af872e25c3 Remove incorrect property export 2012-10-26 11:24:25 +02:00
Tom Payne
41c6c2eff3 Merge pull request #72 from twpayne/source-xyz-projection
Add projection option to ol.source.XYZ
2012-10-25 23:53:03 -07:00
Tom Payne
e7d5022dc1 Add projection option to ol.source.XYZ 2012-10-25 18:48:24 +02:00
Éric Lemoine
49f717eae6 Merge pull request #69 from elemoine/exports-files
Granularize the exports
2012-10-24 13:52:56 -07:00
Éric Lemoine
576c54eb61 Move object literal exports to their own file 2012-10-24 17:05:33 +02: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
ee1d1fa3e7 Fold ol.CoordinateFormat into ol.Coordinate 2012-10-18 14:22:23 +02:00
Tom Payne
860b4407b7 Add ol.Extent.get{Bottom,Top}{Left,Right} 2012-10-18 13:49:10 +02:00
Tim Schaub
eef4eb0eea Merge pull request #61 from twpayne/z-sort-in-dom-renderer
Z sort in dom renderer
2012-10-17 21:24:40 -07:00
Tom Payne
a82e523f6b Try multiple context ids to get a WebGL context 2012-10-17 17:36:07 +02:00
Tom Payne
5011123228 Use ol.webgl.getContext is WebGL support test 2012-10-17 17:27:11 +02:00
Tom Payne
8cb28a7217 Move WebGL support test into ol.webgl 2012-10-17 17:25:37 +02:00
Tom Payne
1d40b64db1 Move WebGL context creation into ol.webgl 2012-10-17 17:23:30 +02:00
Éric Lemoine
1f7ecd2529 Make linter happy 2012-10-16 21:50:20 +02:00
Éric Lemoine
5c6b5cb495 Add BingMaps exports 2012-10-16 21:45:52 +02:00
Tom Payne
3e6d374859 Ensure z as object keys are sorted as numbers 2012-10-16 11:04:56 +02:00
Tom Payne
ed197f3cfe Revert "Two lessons learned"
This reverts commit f8462460bf.
2012-10-16 10:59:53 +02:00
Tom Payne
f9302ab030 Export goog.require as goog.nullFunction 2012-10-15 19:12:06 +02:00
Tom Payne
0392d898c3 Merge pull request #56 from twpayne/interaction-conditions
Abstract out key conditions for interactions, fixes #51, see also #54
2012-10-12 11:04:12 -07:00
Éric Lemoine
0b411ad69c Have disposeInternal call parent 2012-10-11 17:46:22 +02:00
Éric Lemoine
fbc810264b goog.array.forEach does not accept null values 2012-10-10 20:25:53 +02:00