postrunner 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1322) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postrunner/ActivityView.rb +26 -0
  3. data/lib/postrunner/version.rb +1 -1
  4. data/misc/flot/API.md +1498 -0
  5. data/misc/flot/CONTRIBUTING.md +98 -0
  6. data/misc/flot/FAQ.md +75 -0
  7. data/misc/flot/LICENSE.txt +22 -0
  8. data/misc/flot/Makefile +12 -0
  9. data/misc/flot/NEWS.md +1026 -0
  10. data/misc/flot/PLUGINS.md +143 -0
  11. data/misc/flot/README.md +110 -0
  12. data/misc/flot/examples/.DS_Store +0 -0
  13. data/misc/flot/examples/ajax/data-eu-gdp-growth-1.json +4 -0
  14. data/misc/flot/examples/ajax/data-eu-gdp-growth-2.json +4 -0
  15. data/misc/flot/examples/ajax/data-eu-gdp-growth-3.json +4 -0
  16. data/misc/flot/examples/ajax/data-eu-gdp-growth-4.json +4 -0
  17. data/misc/flot/examples/ajax/data-eu-gdp-growth-5.json +4 -0
  18. data/misc/flot/examples/ajax/data-eu-gdp-growth.json +4 -0
  19. data/misc/flot/examples/ajax/data-japan-gdp-growth.json +4 -0
  20. data/misc/flot/examples/ajax/data-usa-gdp-growth.json +4 -0
  21. data/misc/flot/examples/ajax/index.html +173 -0
  22. data/misc/flot/examples/annotating/index.html +87 -0
  23. data/misc/flot/examples/axes-interacting/index.html +97 -0
  24. data/misc/flot/examples/axes-multiple/index.html +77 -0
  25. data/misc/flot/examples/axes-time/index.html +137 -0
  26. data/misc/flot/examples/axes-time-zones/date.js +893 -0
  27. data/misc/flot/examples/axes-time-zones/index.html +114 -0
  28. data/misc/flot/examples/axes-time-zones/tz/africa +1181 -0
  29. data/misc/flot/examples/axes-time-zones/tz/antarctica +413 -0
  30. data/misc/flot/examples/axes-time-zones/tz/asia +2717 -0
  31. data/misc/flot/examples/axes-time-zones/tz/australasia +1719 -0
  32. data/misc/flot/examples/axes-time-zones/tz/backward +117 -0
  33. data/misc/flot/examples/axes-time-zones/tz/etcetera +81 -0
  34. data/misc/flot/examples/axes-time-zones/tz/europe +2856 -0
  35. data/misc/flot/examples/axes-time-zones/tz/factory +10 -0
  36. data/misc/flot/examples/axes-time-zones/tz/iso3166.tab +276 -0
  37. data/misc/flot/examples/axes-time-zones/tz/leapseconds +100 -0
  38. data/misc/flot/examples/axes-time-zones/tz/northamerica +3235 -0
  39. data/misc/flot/examples/axes-time-zones/tz/pacificnew +28 -0
  40. data/misc/flot/examples/axes-time-zones/tz/solar87 +390 -0
  41. data/misc/flot/examples/axes-time-zones/tz/solar88 +390 -0
  42. data/misc/flot/examples/axes-time-zones/tz/solar89 +395 -0
  43. data/misc/flot/examples/axes-time-zones/tz/southamerica +1711 -0
  44. data/misc/flot/examples/axes-time-zones/tz/systemv +38 -0
  45. data/misc/flot/examples/axes-time-zones/tz/yearistype.sh +38 -0
  46. data/misc/flot/examples/axes-time-zones/tz/zone.tab +441 -0
  47. data/misc/flot/examples/background.png +0 -0
  48. data/misc/flot/examples/basic-options/index.html +91 -0
  49. data/misc/flot/examples/basic-usage/index.html +57 -0
  50. data/misc/flot/examples/canvas/index.html +75 -0
  51. data/misc/flot/examples/categories/index.html +64 -0
  52. data/misc/flot/examples/examples.css +97 -0
  53. data/misc/flot/examples/image/hs-2004-27-a-large-web.jpg +0 -0
  54. data/misc/flot/examples/image/index.html +69 -0
  55. data/misc/flot/examples/index.html +80 -0
  56. data/misc/flot/examples/interacting/index.html +118 -0
  57. data/misc/flot/examples/navigate/arrow-down.gif +0 -0
  58. data/misc/flot/examples/navigate/arrow-left.gif +0 -0
  59. data/misc/flot/examples/navigate/arrow-right.gif +0 -0
  60. data/misc/flot/examples/navigate/arrow-up.gif +0 -0
  61. data/misc/flot/examples/navigate/index.html +153 -0
  62. data/misc/flot/examples/percentiles/index.html +79 -0
  63. data/misc/flot/examples/realtime/index.html +122 -0
  64. data/misc/flot/examples/resize/index.html +76 -0
  65. data/misc/flot/examples/selection/index.html +152 -0
  66. data/misc/flot/examples/series-errorbars/index.html +150 -0
  67. data/misc/flot/examples/series-pie/index.html +818 -0
  68. data/misc/flot/examples/series-toggle/index.html +121 -0
  69. data/misc/flot/examples/series-types/index.html +90 -0
  70. data/misc/flot/examples/shared/jquery-ui/jquery-ui.min.css +6 -0
  71. data/misc/flot/examples/shared/jquery-ui/jquery-ui.min.js +6 -0
  72. data/misc/flot/examples/stacking/index.html +107 -0
  73. data/misc/flot/examples/symbols/index.html +76 -0
  74. data/misc/flot/examples/threshold/index.html +76 -0
  75. data/misc/flot/examples/tracking/index.html +135 -0
  76. data/misc/flot/examples/visitors/index.html +147 -0
  77. data/misc/flot/examples/zooming/index.html +144 -0
  78. data/misc/flot/excanvas.js +1428 -0
  79. data/misc/flot/excanvas.min.js +1 -0
  80. data/misc/flot/jquery.colorhelpers.js +180 -0
  81. data/misc/flot/jquery.colorhelpers.min.js +1 -0
  82. data/misc/flot/jquery.flot.canvas.js +345 -0
  83. data/misc/flot/jquery.flot.canvas.min.js +7 -0
  84. data/misc/flot/jquery.flot.categories.js +190 -0
  85. data/misc/flot/jquery.flot.categories.min.js +7 -0
  86. data/misc/flot/jquery.flot.crosshair.js +176 -0
  87. data/misc/flot/jquery.flot.crosshair.min.js +7 -0
  88. data/misc/flot/jquery.flot.errorbars.js +353 -0
  89. data/misc/flot/jquery.flot.errorbars.min.js +7 -0
  90. data/misc/flot/jquery.flot.fillbetween.js +226 -0
  91. data/misc/flot/jquery.flot.fillbetween.min.js +7 -0
  92. data/misc/flot/jquery.flot.image.js +241 -0
  93. data/misc/flot/jquery.flot.image.min.js +7 -0
  94. data/misc/flot/jquery.flot.js +3168 -0
  95. data/misc/flot/jquery.flot.min.js +8 -0
  96. data/misc/flot/jquery.flot.navigate.js +346 -0
  97. data/misc/flot/jquery.flot.navigate.min.js +7 -0
  98. data/misc/flot/jquery.flot.pie.js +820 -0
  99. data/misc/flot/jquery.flot.pie.min.js +7 -0
  100. data/misc/flot/jquery.flot.resize.js +59 -0
  101. data/misc/flot/jquery.flot.resize.min.js +7 -0
  102. data/misc/flot/jquery.flot.selection.js +360 -0
  103. data/misc/flot/jquery.flot.selection.min.js +7 -0
  104. data/misc/flot/jquery.flot.stack.js +188 -0
  105. data/misc/flot/jquery.flot.stack.min.js +7 -0
  106. data/misc/flot/jquery.flot.symbol.js +71 -0
  107. data/misc/flot/jquery.flot.symbol.min.js +7 -0
  108. data/misc/flot/jquery.flot.threshold.js +142 -0
  109. data/misc/flot/jquery.flot.threshold.min.js +7 -0
  110. data/misc/flot/jquery.flot.time.js +432 -0
  111. data/misc/flot/jquery.flot.time.min.js +7 -0
  112. data/misc/flot/jquery.js +9472 -0
  113. data/misc/flot/jquery.min.js +5 -0
  114. data/misc/jquery/jquery-2.1.1.min.js +4 -0
  115. data/misc/openlayers/.gitignore +7 -0
  116. data/misc/openlayers/OpenLayers.debug.js +85622 -0
  117. data/misc/openlayers/OpenLayers.js +1443 -0
  118. data/misc/openlayers/OpenLayers.light.debug.js +37230 -0
  119. data/misc/openlayers/OpenLayers.light.js +592 -0
  120. data/misc/openlayers/OpenLayers.mobile.debug.js +41831 -0
  121. data/misc/openlayers/OpenLayers.mobile.js +681 -0
  122. data/misc/openlayers/apidoc_config/Languages.txt +113 -0
  123. data/misc/openlayers/apidoc_config/Menu.txt +520 -0
  124. data/misc/openlayers/apidoc_config/OL.css +20 -0
  125. data/misc/openlayers/apidoc_config/Topics.txt +105 -0
  126. data/misc/openlayers/art/arrows.svg +127 -0
  127. data/misc/openlayers/art/layer-switcher-maximize.svg +128 -0
  128. data/misc/openlayers/art/layer-switcher-minimize.svg +142 -0
  129. data/misc/openlayers/art/marker.svg +25 -0
  130. data/misc/openlayers/art/measuring-stick-off.svg +36 -0
  131. data/misc/openlayers/art/measuring-stick-on.svg +36 -0
  132. data/misc/openlayers/art/panning-hand-off.svg +44 -0
  133. data/misc/openlayers/art/panning-hand-on.svg +44 -0
  134. data/misc/openlayers/art/slider.svg +71 -0
  135. data/misc/openlayers/art/zoom-world.svg +193 -0
  136. data/misc/openlayers/art/zoombar.svg +73 -0
  137. data/misc/openlayers/authors.txt +56 -0
  138. data/misc/openlayers/build/README.txt +46 -0
  139. data/misc/openlayers/build/build.py +158 -0
  140. data/misc/openlayers/build/buildUncompressed.py +25 -0
  141. data/misc/openlayers/build/closure-compiler/Externs.js +50 -0
  142. data/misc/openlayers/build/full.cfg +14 -0
  143. data/misc/openlayers/build/license.txt +57 -0
  144. data/misc/openlayers/build/light.cfg +32 -0
  145. data/misc/openlayers/build/lite.cfg +17 -0
  146. data/misc/openlayers/build/mobile.cfg +36 -0
  147. data/misc/openlayers/build/tests.cfg +11 -0
  148. data/misc/openlayers/doc_config/Data/ClassHierarchy.nd +0 -0
  149. data/misc/openlayers/doc_config/Data/ConfigFileInfo.nd +0 -0
  150. data/misc/openlayers/doc_config/Data/FileInfo.nd +323 -0
  151. data/misc/openlayers/doc_config/Data/ImageFileInfo.nd +0 -0
  152. data/misc/openlayers/doc_config/Data/ImageReferenceTable.nd +0 -0
  153. data/misc/openlayers/doc_config/Data/IndexInfo.nd +0 -0
  154. data/misc/openlayers/doc_config/Data/PreviousMenuState.nd +0 -0
  155. data/misc/openlayers/doc_config/Data/PreviousSettings.nd +0 -0
  156. data/misc/openlayers/doc_config/Data/SymbolTable.nd +0 -0
  157. data/misc/openlayers/doc_config/Languages.txt +113 -0
  158. data/misc/openlayers/doc_config/Menu.txt +520 -0
  159. data/misc/openlayers/doc_config/OL.css +20 -0
  160. data/misc/openlayers/doc_config/Topics.txt +102 -0
  161. data/misc/openlayers/examples/Jugl.js +8 -0
  162. data/misc/openlayers/examples/KMLParser.html +57 -0
  163. data/misc/openlayers/examples/SLDSelect.html +202 -0
  164. data/misc/openlayers/examples/WMSDescribeLayerParser.html +52 -0
  165. data/misc/openlayers/examples/accelerometer.html +100 -0
  166. data/misc/openlayers/examples/accessible-click-control.html +69 -0
  167. data/misc/openlayers/examples/accessible-click-control.js +199 -0
  168. data/misc/openlayers/examples/accessible-panel.html +130 -0
  169. data/misc/openlayers/examples/accessible-panel.js +64 -0
  170. data/misc/openlayers/examples/accessible.html +167 -0
  171. data/misc/openlayers/examples/all-overlays-google.html +34 -0
  172. data/misc/openlayers/examples/all-overlays-google.js +19 -0
  173. data/misc/openlayers/examples/all-overlays.html +76 -0
  174. data/misc/openlayers/examples/anchor-permalink.html +29 -0
  175. data/misc/openlayers/examples/anchor-permalink.js +13 -0
  176. data/misc/openlayers/examples/animated_panning.html +98 -0
  177. data/misc/openlayers/examples/animator.js +670 -0
  178. data/misc/openlayers/examples/arcgis93rest.html +69 -0
  179. data/misc/openlayers/examples/arcgiscache_ags.html +221 -0
  180. data/misc/openlayers/examples/arcgiscache_direct.html +108 -0
  181. data/misc/openlayers/examples/arcgiscache_jsonp.html +106 -0
  182. data/misc/openlayers/examples/arcims-thematic.html +82 -0
  183. data/misc/openlayers/examples/arcims.html +57 -0
  184. data/misc/openlayers/examples/attribution.html +60 -0
  185. data/misc/openlayers/examples/behavior-fixed-http-gml.html +56 -0
  186. data/misc/openlayers/examples/bing-tiles-restrictedzoom.html +43 -0
  187. data/misc/openlayers/examples/bing-tiles-restrictedzoom.js +37 -0
  188. data/misc/openlayers/examples/bing-tiles.html +39 -0
  189. data/misc/openlayers/examples/bing-tiles.js +31 -0
  190. data/misc/openlayers/examples/bing.html +64 -0
  191. data/misc/openlayers/examples/bootstrap.html +81 -0
  192. data/misc/openlayers/examples/bootstrap.js +31 -0
  193. data/misc/openlayers/examples/boxes-vector.html +59 -0
  194. data/misc/openlayers/examples/boxes.html +58 -0
  195. data/misc/openlayers/examples/browser.html +152 -0
  196. data/misc/openlayers/examples/browser.js +241 -0
  197. data/misc/openlayers/examples/buffer.html +54 -0
  198. data/misc/openlayers/examples/cache-read.html +36 -0
  199. data/misc/openlayers/examples/cache-read.js +36 -0
  200. data/misc/openlayers/examples/cache-write.html +37 -0
  201. data/misc/openlayers/examples/cache-write.js +46 -0
  202. data/misc/openlayers/examples/canvas-hit-detection.html +31 -0
  203. data/misc/openlayers/examples/canvas-hit-detection.js +88 -0
  204. data/misc/openlayers/examples/canvas-inspector.html +53 -0
  205. data/misc/openlayers/examples/canvas-inspector.js +91 -0
  206. data/misc/openlayers/examples/canvas.html +35 -0
  207. data/misc/openlayers/examples/canvas.js +57 -0
  208. data/misc/openlayers/examples/cartodb-geojson.html +71 -0
  209. data/misc/openlayers/examples/click-handler.html +232 -0
  210. data/misc/openlayers/examples/click.html +91 -0
  211. data/misc/openlayers/examples/clientzoom.html +72 -0
  212. data/misc/openlayers/examples/clientzoom.js +39 -0
  213. data/misc/openlayers/examples/controls.html +86 -0
  214. data/misc/openlayers/examples/cql-format.html +54 -0
  215. data/misc/openlayers/examples/cql-format.js +61 -0
  216. data/misc/openlayers/examples/cross-origin-xml.html +32 -0
  217. data/misc/openlayers/examples/cross-origin-xml.js +25 -0
  218. data/misc/openlayers/examples/cross-origin.html +36 -0
  219. data/misc/openlayers/examples/cross-origin.js +39 -0
  220. data/misc/openlayers/examples/custom-control.html +68 -0
  221. data/misc/openlayers/examples/custom-style.html +66 -0
  222. data/misc/openlayers/examples/data/4_m_citylights_lg.gif +0 -0
  223. data/misc/openlayers/examples/data/line.json +10 -0
  224. data/misc/openlayers/examples/data/point.json +8 -0
  225. data/misc/openlayers/examples/data/poly.json +9 -0
  226. data/misc/openlayers/examples/data/roads.json +349 -0
  227. data/misc/openlayers/examples/data/tazdem.tiff +0 -0
  228. data/misc/openlayers/examples/debug.html +77 -0
  229. data/misc/openlayers/examples/document-drag.html +43 -0
  230. data/misc/openlayers/examples/donut.html +62 -0
  231. data/misc/openlayers/examples/donut.js +44 -0
  232. data/misc/openlayers/examples/drag-feature.html +114 -0
  233. data/misc/openlayers/examples/draw-feature.html +143 -0
  234. data/misc/openlayers/examples/draw-undo-redo.html +38 -0
  235. data/misc/openlayers/examples/draw-undo-redo.js +45 -0
  236. data/misc/openlayers/examples/dynamic-text-layer.html +101 -0
  237. data/misc/openlayers/examples/editing-methods.html +58 -0
  238. data/misc/openlayers/examples/editing-methods.js +83 -0
  239. data/misc/openlayers/examples/editingtoolbar-outside.html +56 -0
  240. data/misc/openlayers/examples/editingtoolbar.html +55 -0
  241. data/misc/openlayers/examples/encoded-polyline.html +47 -0
  242. data/misc/openlayers/examples/events.html +155 -0
  243. data/misc/openlayers/examples/example-list.html +302 -0
  244. data/misc/openlayers/examples/example.html +25 -0
  245. data/misc/openlayers/examples/example.js +23 -0
  246. data/misc/openlayers/examples/feature-events.html +46 -0
  247. data/misc/openlayers/examples/feature-events.js +67 -0
  248. data/misc/openlayers/examples/filter-strategy.html +54 -0
  249. data/misc/openlayers/examples/filter-strategy.js +84 -0
  250. data/misc/openlayers/examples/filter.html +107 -0
  251. data/misc/openlayers/examples/fractional-zoom.html +72 -0
  252. data/misc/openlayers/examples/fullScreen.html +53 -0
  253. data/misc/openlayers/examples/fullScreen.js +20 -0
  254. data/misc/openlayers/examples/fusiontables.html +35 -0
  255. data/misc/openlayers/examples/fusiontables.js +51 -0
  256. data/misc/openlayers/examples/game-accel-ball.html +82 -0
  257. data/misc/openlayers/examples/geojson-reprojected.html +46 -0
  258. data/misc/openlayers/examples/geojson-reprojected.js +27 -0
  259. data/misc/openlayers/examples/geojson-reprojected.json +1 -0
  260. data/misc/openlayers/examples/geojson.html +77 -0
  261. data/misc/openlayers/examples/geolocation.html +41 -0
  262. data/misc/openlayers/examples/geolocation.js +112 -0
  263. data/misc/openlayers/examples/georss-flickr.html +119 -0
  264. data/misc/openlayers/examples/georss-markers.html +45 -0
  265. data/misc/openlayers/examples/georss.html +63 -0
  266. data/misc/openlayers/examples/georss.xml +378 -0
  267. data/misc/openlayers/examples/getfeature-wfs.html +84 -0
  268. data/misc/openlayers/examples/getfeatureinfo-control.html +221 -0
  269. data/misc/openlayers/examples/getfeatureinfo-popup.html +96 -0
  270. data/misc/openlayers/examples/gml/line.xml +42 -0
  271. data/misc/openlayers/examples/gml/multipoint.xml +70 -0
  272. data/misc/openlayers/examples/gml/multipolygon.xml +106 -0
  273. data/misc/openlayers/examples/gml/owls.xml +156 -0
  274. data/misc/openlayers/examples/gml/point.xml +42 -0
  275. data/misc/openlayers/examples/gml/polygon.xml +89 -0
  276. data/misc/openlayers/examples/gml-layer.html +48 -0
  277. data/misc/openlayers/examples/google-static.html +39 -0
  278. data/misc/openlayers/examples/google-static.js +61 -0
  279. data/misc/openlayers/examples/google-v3-alloverlays.html +33 -0
  280. data/misc/openlayers/examples/google-v3-alloverlays.js +35 -0
  281. data/misc/openlayers/examples/google-v3.html +35 -0
  282. data/misc/openlayers/examples/google-v3.js +39 -0
  283. data/misc/openlayers/examples/google.html +69 -0
  284. data/misc/openlayers/examples/graphic-name.html +42 -0
  285. data/misc/openlayers/examples/graphic-name.js +67 -0
  286. data/misc/openlayers/examples/graticule.html +116 -0
  287. data/misc/openlayers/examples/gutter.html +55 -0
  288. data/misc/openlayers/examples/highlight-feature.html +88 -0
  289. data/misc/openlayers/examples/hover-handler.html +216 -0
  290. data/misc/openlayers/examples/image-layer.html +76 -0
  291. data/misc/openlayers/examples/img/check-round-green.png +0 -0
  292. data/misc/openlayers/examples/img/check-round-grey.png +0 -0
  293. data/misc/openlayers/examples/img/list.png +0 -0
  294. data/misc/openlayers/examples/img/locate.png +0 -0
  295. data/misc/openlayers/examples/img/marker_shadow.png +0 -0
  296. data/misc/openlayers/examples/img/minus1.png +0 -0
  297. data/misc/openlayers/examples/img/mobile-layers.png +0 -0
  298. data/misc/openlayers/examples/img/mobile-loc.png +0 -0
  299. data/misc/openlayers/examples/img/mobile-zoombar.png +0 -0
  300. data/misc/openlayers/examples/img/openlayers.png +0 -0
  301. data/misc/openlayers/examples/img/popupMatrix.jpg +0 -0
  302. data/misc/openlayers/examples/img/small.jpg +0 -0
  303. data/misc/openlayers/examples/img/thinlong.jpg +0 -0
  304. data/misc/openlayers/examples/img/widelong.jpg +0 -0
  305. data/misc/openlayers/examples/img/wideshort.jpg +0 -0
  306. data/misc/openlayers/examples/intersects.html +193 -0
  307. data/misc/openlayers/examples/kamap.html +45 -0
  308. data/misc/openlayers/examples/kamap.txt +508 -0
  309. data/misc/openlayers/examples/kinetic.html +44 -0
  310. data/misc/openlayers/examples/kinetic.js +27 -0
  311. data/misc/openlayers/examples/kml/lines.kml +275 -0
  312. data/misc/openlayers/examples/kml/styles.kml +21 -0
  313. data/misc/openlayers/examples/kml/sundials.kml +2273 -0
  314. data/misc/openlayers/examples/kml-layer.html +36 -0
  315. data/misc/openlayers/examples/kml-layer.js +22 -0
  316. data/misc/openlayers/examples/kml-pointtrack.html +40 -0
  317. data/misc/openlayers/examples/kml-pointtrack.js +52 -0
  318. data/misc/openlayers/examples/kml-track.html +42 -0
  319. data/misc/openlayers/examples/kml-track.js +40 -0
  320. data/misc/openlayers/examples/kml-track.kml +3359 -0
  321. data/misc/openlayers/examples/label-scale.html +34 -0
  322. data/misc/openlayers/examples/label-scale.js +72 -0
  323. data/misc/openlayers/examples/late-render.html +48 -0
  324. data/misc/openlayers/examples/layer-opacity.html +95 -0
  325. data/misc/openlayers/examples/layerLoadMonitoring.html +135 -0
  326. data/misc/openlayers/examples/layerswitcher.html +60 -0
  327. data/misc/openlayers/examples/light-basic.html +35 -0
  328. data/misc/openlayers/examples/light-basic.js +67 -0
  329. data/misc/openlayers/examples/lite.html +39 -0
  330. data/misc/openlayers/examples/mapbox.html +30 -0
  331. data/misc/openlayers/examples/mapbox.js +21 -0
  332. data/misc/openlayers/examples/mapguide.html +155 -0
  333. data/misc/openlayers/examples/mapquest.html +28 -0
  334. data/misc/openlayers/examples/mapquest.js +36 -0
  335. data/misc/openlayers/examples/mapserver.html +41 -0
  336. data/misc/openlayers/examples/mapserver_untiled.html +43 -0
  337. data/misc/openlayers/examples/marker-shadow.html +152 -0
  338. data/misc/openlayers/examples/markerResize.html +60 -0
  339. data/misc/openlayers/examples/markers.html +59 -0
  340. data/misc/openlayers/examples/markersTextLayer.html +41 -0
  341. data/misc/openlayers/examples/measure.html +203 -0
  342. data/misc/openlayers/examples/mobile-base.js +167 -0
  343. data/misc/openlayers/examples/mobile-drawing.html +52 -0
  344. data/misc/openlayers/examples/mobile-drawing.js +71 -0
  345. data/misc/openlayers/examples/mobile-jq.html +76 -0
  346. data/misc/openlayers/examples/mobile-jq.js +159 -0
  347. data/misc/openlayers/examples/mobile-layers.html +62 -0
  348. data/misc/openlayers/examples/mobile-layers.js +71 -0
  349. data/misc/openlayers/examples/mobile-navigation.html +52 -0
  350. data/misc/openlayers/examples/mobile-navigation.js +24 -0
  351. data/misc/openlayers/examples/mobile-sencha.html +184 -0
  352. data/misc/openlayers/examples/mobile-sencha.js +198 -0
  353. data/misc/openlayers/examples/mobile-wmts-vienna.css +205 -0
  354. data/misc/openlayers/examples/mobile-wmts-vienna.html +27 -0
  355. data/misc/openlayers/examples/mobile-wmts-vienna.js +281 -0
  356. data/misc/openlayers/examples/mobile.html +56 -0
  357. data/misc/openlayers/examples/mobile.js +39 -0
  358. data/misc/openlayers/examples/modify-feature.html +193 -0
  359. data/misc/openlayers/examples/mouse-position.html +67 -0
  360. data/misc/openlayers/examples/mousewheel-interval.html +63 -0
  361. data/misc/openlayers/examples/multiserver.html +52 -0
  362. data/misc/openlayers/examples/multitouch.html +28 -0
  363. data/misc/openlayers/examples/mvs.html +129 -0
  364. data/misc/openlayers/examples/navigation-control.html +44 -0
  365. data/misc/openlayers/examples/navigation-history.html +62 -0
  366. data/misc/openlayers/examples/navtoolbar-alwaysZoom.html +85 -0
  367. data/misc/openlayers/examples/navtoolbar-outsidemap.html +47 -0
  368. data/misc/openlayers/examples/navtoolbar.html +46 -0
  369. data/misc/openlayers/examples/offline-storage.html +44 -0
  370. data/misc/openlayers/examples/offline-storage.js +199 -0
  371. data/misc/openlayers/examples/openls.html +88 -0
  372. data/misc/openlayers/examples/ordering.html +221 -0
  373. data/misc/openlayers/examples/osm/sutton_coldfield.osm +662 -0
  374. data/misc/openlayers/examples/osm-google.html +32 -0
  375. data/misc/openlayers/examples/osm-google.js +23 -0
  376. data/misc/openlayers/examples/osm-grayscale.html +77 -0
  377. data/misc/openlayers/examples/osm-marker-popup.html +32 -0
  378. data/misc/openlayers/examples/osm-marker-popup.js +39 -0
  379. data/misc/openlayers/examples/osm.html +41 -0
  380. data/misc/openlayers/examples/overviewmap.html +120 -0
  381. data/misc/openlayers/examples/pan-zoom-panels.html +97 -0
  382. data/misc/openlayers/examples/panel.html +99 -0
  383. data/misc/openlayers/examples/point-grid.html +75 -0
  384. data/misc/openlayers/examples/point-grid.js +33 -0
  385. data/misc/openlayers/examples/point-track-markers.html +72 -0
  386. data/misc/openlayers/examples/polar-projections.html +41 -0
  387. data/misc/openlayers/examples/polar-projections.js +84 -0
  388. data/misc/openlayers/examples/popupMatrix.html +652 -0
  389. data/misc/openlayers/examples/proxy.cgi +81 -0
  390. data/misc/openlayers/examples/regular-polygons.html +177 -0
  391. data/misc/openlayers/examples/resize-features.html +101 -0
  392. data/misc/openlayers/examples/restricted-extent.html +77 -0
  393. data/misc/openlayers/examples/rotate-features.html +113 -0
  394. data/misc/openlayers/examples/select-feature-multilayer.html +129 -0
  395. data/misc/openlayers/examples/select-feature-openpopup.html +106 -0
  396. data/misc/openlayers/examples/select-feature.html +170 -0
  397. data/misc/openlayers/examples/setextent.html +39 -0
  398. data/misc/openlayers/examples/simplify-linestring.html +103 -0
  399. data/misc/openlayers/examples/simplify-linestring.js +599 -0
  400. data/misc/openlayers/examples/single-tile.html +33 -0
  401. data/misc/openlayers/examples/single-tile.js +20 -0
  402. data/misc/openlayers/examples/sld-parser.html +70 -0
  403. data/misc/openlayers/examples/sld.html +31 -0
  404. data/misc/openlayers/examples/sld.js +102 -0
  405. data/misc/openlayers/examples/snap-grid.html +78 -0
  406. data/misc/openlayers/examples/snap-grid.js +81 -0
  407. data/misc/openlayers/examples/snap-split.html +281 -0
  408. data/misc/openlayers/examples/snapping.html +324 -0
  409. data/misc/openlayers/examples/sos.html +189 -0
  410. data/misc/openlayers/examples/spherical-mercator.html +120 -0
  411. data/misc/openlayers/examples/split-feature.html +116 -0
  412. data/misc/openlayers/examples/strategy-bbox.html +106 -0
  413. data/misc/openlayers/examples/strategy-cluster-extended.html +125 -0
  414. data/misc/openlayers/examples/strategy-cluster-extended.js +247 -0
  415. data/misc/openlayers/examples/strategy-cluster-threshold.html +149 -0
  416. data/misc/openlayers/examples/strategy-cluster.html +238 -0
  417. data/misc/openlayers/examples/strategy-paging.html +115 -0
  418. data/misc/openlayers/examples/style-rules.html +49 -0
  419. data/misc/openlayers/examples/style-rules.js +99 -0
  420. data/misc/openlayers/examples/style.css +143 -0
  421. data/misc/openlayers/examples/style.mobile-jq.css +62 -0
  422. data/misc/openlayers/examples/stylemap.html +100 -0
  423. data/misc/openlayers/examples/styles-context.html +117 -0
  424. data/misc/openlayers/examples/styles-rotation.html +93 -0
  425. data/misc/openlayers/examples/styles-unique.html +109 -0
  426. data/misc/openlayers/examples/sundials-spherical-mercator.html +111 -0
  427. data/misc/openlayers/examples/sundials.html +107 -0
  428. data/misc/openlayers/examples/symbolizers-fill-stroke-graphic.html +141 -0
  429. data/misc/openlayers/examples/tasmania/TasmaniaCities.xml +40 -0
  430. data/misc/openlayers/examples/tasmania/TasmaniaRoads.xml +204 -0
  431. data/misc/openlayers/examples/tasmania/TasmaniaStateBoundaries.xml +92 -0
  432. data/misc/openlayers/examples/tasmania/TasmaniaWaterBodies.xml +162 -0
  433. data/misc/openlayers/examples/tasmania/sld-tasmania.xml +594 -0
  434. data/misc/openlayers/examples/teleportation.html +76 -0
  435. data/misc/openlayers/examples/textfile.txt +4 -0
  436. data/misc/openlayers/examples/tile-origin.html +38 -0
  437. data/misc/openlayers/examples/tile-origin.js +16 -0
  438. data/misc/openlayers/examples/tilecache.html +58 -0
  439. data/misc/openlayers/examples/tms.html +62 -0
  440. data/misc/openlayers/examples/transform-feature.html +123 -0
  441. data/misc/openlayers/examples/transition.html +70 -0
  442. data/misc/openlayers/examples/using-proj4js.html +109 -0
  443. data/misc/openlayers/examples/using-proj4js.js +132 -0
  444. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/0.json +1 -0
  445. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/1.json +1 -0
  446. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/2.json +1 -0
  447. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/0.json +1 -0
  448. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/1.json +1 -0
  449. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/2.json +1 -0
  450. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/0.json +1 -0
  451. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/1.json +1 -0
  452. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/2.json +1 -0
  453. data/misc/openlayers/examples/utfgrid/geography-class/0/0/0.grid.json +1 -0
  454. data/misc/openlayers/examples/utfgrid/geography-class/1/0/0.grid.json +1 -0
  455. data/misc/openlayers/examples/utfgrid/geography-class/1/0/1.grid.json +1 -0
  456. data/misc/openlayers/examples/utfgrid/geography-class/1/1/0.grid.json +1 -0
  457. data/misc/openlayers/examples/utfgrid/geography-class/1/1/1.grid.json +1 -0
  458. data/misc/openlayers/examples/utfgrid/geography-class/2/0/0.grid.json +1 -0
  459. data/misc/openlayers/examples/utfgrid/geography-class/2/0/1.grid.json +1 -0
  460. data/misc/openlayers/examples/utfgrid/geography-class/2/0/2.grid.json +1 -0
  461. data/misc/openlayers/examples/utfgrid/geography-class/2/0/3.grid.json +1 -0
  462. data/misc/openlayers/examples/utfgrid/geography-class/2/1/0.grid.json +1 -0
  463. data/misc/openlayers/examples/utfgrid/geography-class/2/1/1.grid.json +1 -0
  464. data/misc/openlayers/examples/utfgrid/geography-class/2/1/2.grid.json +1 -0
  465. data/misc/openlayers/examples/utfgrid/geography-class/2/1/3.grid.json +1 -0
  466. data/misc/openlayers/examples/utfgrid/geography-class/2/2/0.grid.json +1 -0
  467. data/misc/openlayers/examples/utfgrid/geography-class/2/2/1.grid.json +1 -0
  468. data/misc/openlayers/examples/utfgrid/geography-class/2/2/2.grid.json +1 -0
  469. data/misc/openlayers/examples/utfgrid/geography-class/2/2/3.grid.json +1 -0
  470. data/misc/openlayers/examples/utfgrid/geography-class/2/3/0.grid.json +1 -0
  471. data/misc/openlayers/examples/utfgrid/geography-class/2/3/1.grid.json +1 -0
  472. data/misc/openlayers/examples/utfgrid/geography-class/2/3/2.grid.json +1 -0
  473. data/misc/openlayers/examples/utfgrid/geography-class/2/3/3.grid.json +1 -0
  474. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/0.json +1 -0
  475. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/1.json +1 -0
  476. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/2.json +1 -0
  477. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/0.json +1 -0
  478. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/1.json +1 -0
  479. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/2.json +1 -0
  480. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/0.json +1 -0
  481. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/1.json +1 -0
  482. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/2.json +1 -0
  483. data/misc/openlayers/examples/utfgrid-geography-class.html +51 -0
  484. data/misc/openlayers/examples/utfgrid-geography-class.js +62 -0
  485. data/misc/openlayers/examples/utfgrid.html +64 -0
  486. data/misc/openlayers/examples/utfgrid.js +61 -0
  487. data/misc/openlayers/examples/utfgrid_twogrids.html +51 -0
  488. data/misc/openlayers/examples/utfgrid_twogrids.js +70 -0
  489. data/misc/openlayers/examples/vector-features-with-text.html +138 -0
  490. data/misc/openlayers/examples/vector-features.html +149 -0
  491. data/misc/openlayers/examples/vector-formats.html +240 -0
  492. data/misc/openlayers/examples/web-mercator.html +50 -0
  493. data/misc/openlayers/examples/web-mercator.js +37 -0
  494. data/misc/openlayers/examples/wfs-filter.html +35 -0
  495. data/misc/openlayers/examples/wfs-filter.js +48 -0
  496. data/misc/openlayers/examples/wfs-protocol-transactions.html +104 -0
  497. data/misc/openlayers/examples/wfs-protocol-transactions.js +106 -0
  498. data/misc/openlayers/examples/wfs-protocol.html +55 -0
  499. data/misc/openlayers/examples/wfs-reprojection.html +42 -0
  500. data/misc/openlayers/examples/wfs-reprojection.js +60 -0
  501. data/misc/openlayers/examples/wfs-snap-split.html +292 -0
  502. data/misc/openlayers/examples/wfs-spatial-filter.html +37 -0
  503. data/misc/openlayers/examples/wfs-spatial-filter.js +36 -0
  504. data/misc/openlayers/examples/wfs-states.html +34 -0
  505. data/misc/openlayers/examples/wfs-states.js +35 -0
  506. data/misc/openlayers/examples/wmc.html +150 -0
  507. data/misc/openlayers/examples/wms-long-url.html +44 -0
  508. data/misc/openlayers/examples/wms-long-url.js +26 -0
  509. data/misc/openlayers/examples/wms-untiled.html +48 -0
  510. data/misc/openlayers/examples/wms-v13.html +57 -0
  511. data/misc/openlayers/examples/wms.html +49 -0
  512. data/misc/openlayers/examples/wmst.html +63 -0
  513. data/misc/openlayers/examples/wmts-capabilities.html +43 -0
  514. data/misc/openlayers/examples/wmts-capabilities.js +58 -0
  515. data/misc/openlayers/examples/wmts-getfeatureinfo.html +74 -0
  516. data/misc/openlayers/examples/wmts-getfeatureinfo.js +94 -0
  517. data/misc/openlayers/examples/wmts.html +41 -0
  518. data/misc/openlayers/examples/wmts.js +35 -0
  519. data/misc/openlayers/examples/wps-client.html +31 -0
  520. data/misc/openlayers/examples/wps-client.js +75 -0
  521. data/misc/openlayers/examples/wps.html +89 -0
  522. data/misc/openlayers/examples/wps.js +353 -0
  523. data/misc/openlayers/examples/wrapDateLine.html +73 -0
  524. data/misc/openlayers/examples/xhtml.html +42 -0
  525. data/misc/openlayers/examples/xml/features.xml +2 -0
  526. data/misc/openlayers/examples/xml/georss-flickr.xml +730 -0
  527. data/misc/openlayers/examples/xml/track1.xml +98 -0
  528. data/misc/openlayers/examples/xml/wmsdescribelayer.xml +5 -0
  529. data/misc/openlayers/examples/xml.html +161 -0
  530. data/misc/openlayers/examples/xyz-esri.html +45 -0
  531. data/misc/openlayers/examples/yelp-georss.xml +147 -0
  532. data/misc/openlayers/examples/zoom.html +68 -0
  533. data/misc/openlayers/examples/zoom.js +34 -0
  534. data/misc/openlayers/examples/zoomLevels.html +81 -0
  535. data/misc/openlayers/examples/zoomify.html +70 -0
  536. data/misc/openlayers/img/blank.gif +0 -0
  537. data/misc/openlayers/img/cloud-popup-relative.png +0 -0
  538. data/misc/openlayers/img/drag-rectangle-off.png +0 -0
  539. data/misc/openlayers/img/drag-rectangle-on.png +0 -0
  540. data/misc/openlayers/img/east-mini.png +0 -0
  541. data/misc/openlayers/img/layer-switcher-maximize.png +0 -0
  542. data/misc/openlayers/img/layer-switcher-minimize.png +0 -0
  543. data/misc/openlayers/img/marker-blue.png +0 -0
  544. data/misc/openlayers/img/marker-gold.png +0 -0
  545. data/misc/openlayers/img/marker-green.png +0 -0
  546. data/misc/openlayers/img/marker.png +0 -0
  547. data/misc/openlayers/img/measuring-stick-off.png +0 -0
  548. data/misc/openlayers/img/measuring-stick-on.png +0 -0
  549. data/misc/openlayers/img/north-mini.png +0 -0
  550. data/misc/openlayers/img/panning-hand-off.png +0 -0
  551. data/misc/openlayers/img/panning-hand-on.png +0 -0
  552. data/misc/openlayers/img/slider.png +0 -0
  553. data/misc/openlayers/img/south-mini.png +0 -0
  554. data/misc/openlayers/img/west-mini.png +0 -0
  555. data/misc/openlayers/img/zoom-minus-mini.png +0 -0
  556. data/misc/openlayers/img/zoom-plus-mini.png +0 -0
  557. data/misc/openlayers/img/zoom-world-mini.png +0 -0
  558. data/misc/openlayers/img/zoombar.png +0 -0
  559. data/misc/openlayers/lib/Firebug/errorIcon.png +0 -0
  560. data/misc/openlayers/lib/Firebug/firebug.css +209 -0
  561. data/misc/openlayers/lib/Firebug/firebug.html +23 -0
  562. data/misc/openlayers/lib/Firebug/firebug.js +674 -0
  563. data/misc/openlayers/lib/Firebug/firebugx.js +10 -0
  564. data/misc/openlayers/lib/Firebug/infoIcon.png +0 -0
  565. data/misc/openlayers/lib/Firebug/license.txt +30 -0
  566. data/misc/openlayers/lib/Firebug/readme.txt +13 -0
  567. data/misc/openlayers/lib/Firebug/warningIcon.png +0 -0
  568. data/misc/openlayers/lib/OpenLayers/Animation.js +102 -0
  569. data/misc/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +837 -0
  570. data/misc/openlayers/lib/OpenLayers/BaseTypes/Class.js +121 -0
  571. data/misc/openlayers/lib/OpenLayers/BaseTypes/Date.js +123 -0
  572. data/misc/openlayers/lib/OpenLayers/BaseTypes/Element.js +189 -0
  573. data/misc/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +215 -0
  574. data/misc/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +143 -0
  575. data/misc/openlayers/lib/OpenLayers/BaseTypes/Size.js +89 -0
  576. data/misc/openlayers/lib/OpenLayers/BaseTypes.js +463 -0
  577. data/misc/openlayers/lib/OpenLayers/Console.js +250 -0
  578. data/misc/openlayers/lib/OpenLayers/Control/ArgParser.js +182 -0
  579. data/misc/openlayers/lib/OpenLayers/Control/Attribution.js +104 -0
  580. data/misc/openlayers/lib/OpenLayers/Control/Button.js +44 -0
  581. data/misc/openlayers/lib/OpenLayers/Control/CacheRead.js +156 -0
  582. data/misc/openlayers/lib/OpenLayers/Control/CacheWrite.js +257 -0
  583. data/misc/openlayers/lib/OpenLayers/Control/DragFeature.js +366 -0
  584. data/misc/openlayers/lib/OpenLayers/Control/DragPan.js +156 -0
  585. data/misc/openlayers/lib/OpenLayers/Control/DrawFeature.js +229 -0
  586. data/misc/openlayers/lib/OpenLayers/Control/EditingToolbar.js +81 -0
  587. data/misc/openlayers/lib/OpenLayers/Control/Geolocate.js +192 -0
  588. data/misc/openlayers/lib/OpenLayers/Control/GetFeature.js +597 -0
  589. data/misc/openlayers/lib/OpenLayers/Control/Graticule.js +377 -0
  590. data/misc/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +142 -0
  591. data/misc/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +521 -0
  592. data/misc/openlayers/lib/OpenLayers/Control/Measure.js +379 -0
  593. data/misc/openlayers/lib/OpenLayers/Control/ModifyFeature.js +835 -0
  594. data/misc/openlayers/lib/OpenLayers/Control/MousePosition.js +227 -0
  595. data/misc/openlayers/lib/OpenLayers/Control/NavToolbar.js +57 -0
  596. data/misc/openlayers/lib/OpenLayers/Control/Navigation.js +345 -0
  597. data/misc/openlayers/lib/OpenLayers/Control/NavigationHistory.js +423 -0
  598. data/misc/openlayers/lib/OpenLayers/Control/OverviewMap.js +750 -0
  599. data/misc/openlayers/lib/OpenLayers/Control/Pan.js +95 -0
  600. data/misc/openlayers/lib/OpenLayers/Control/PanPanel.js +73 -0
  601. data/misc/openlayers/lib/OpenLayers/Control/PanZoom.js +233 -0
  602. data/misc/openlayers/lib/OpenLayers/Control/PanZoomBar.js +408 -0
  603. data/misc/openlayers/lib/OpenLayers/Control/Panel.js +431 -0
  604. data/misc/openlayers/lib/OpenLayers/Control/Permalink.js +257 -0
  605. data/misc/openlayers/lib/OpenLayers/Control/PinchZoom.js +157 -0
  606. data/misc/openlayers/lib/OpenLayers/Control/SLDSelect.js +567 -0
  607. data/misc/openlayers/lib/OpenLayers/Control/Scale.js +100 -0
  608. data/misc/openlayers/lib/OpenLayers/Control/ScaleLine.js +220 -0
  609. data/misc/openlayers/lib/OpenLayers/Control/SelectFeature.js +643 -0
  610. data/misc/openlayers/lib/OpenLayers/Control/Snapping.js +560 -0
  611. data/misc/openlayers/lib/OpenLayers/Control/Split.js +494 -0
  612. data/misc/openlayers/lib/OpenLayers/Control/TouchNavigation.js +182 -0
  613. data/misc/openlayers/lib/OpenLayers/Control/TransformFeature.js +624 -0
  614. data/misc/openlayers/lib/OpenLayers/Control/UTFGrid.js +240 -0
  615. data/misc/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +532 -0
  616. data/misc/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +400 -0
  617. data/misc/openlayers/lib/OpenLayers/Control/Zoom.js +138 -0
  618. data/misc/openlayers/lib/OpenLayers/Control/ZoomBox.js +129 -0
  619. data/misc/openlayers/lib/OpenLayers/Control/ZoomIn.js +29 -0
  620. data/misc/openlayers/lib/OpenLayers/Control/ZoomOut.js +29 -0
  621. data/misc/openlayers/lib/OpenLayers/Control/ZoomPanel.js +54 -0
  622. data/misc/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +35 -0
  623. data/misc/openlayers/lib/OpenLayers/Control.js +371 -0
  624. data/misc/openlayers/lib/OpenLayers/Events/buttonclick.js +206 -0
  625. data/misc/openlayers/lib/OpenLayers/Events/featureclick.js +321 -0
  626. data/misc/openlayers/lib/OpenLayers/Events.js +1170 -0
  627. data/misc/openlayers/lib/OpenLayers/Feature/Vector.js +510 -0
  628. data/misc/openlayers/lib/OpenLayers/Feature.js +225 -0
  629. data/misc/openlayers/lib/OpenLayers/Filter/Comparison.js +267 -0
  630. data/misc/openlayers/lib/OpenLayers/Filter/FeatureId.js +87 -0
  631. data/misc/openlayers/lib/OpenLayers/Filter/Function.js +49 -0
  632. data/misc/openlayers/lib/OpenLayers/Filter/Logical.js +121 -0
  633. data/misc/openlayers/lib/OpenLayers/Filter/Spatial.js +122 -0
  634. data/misc/openlayers/lib/OpenLayers/Filter.js +87 -0
  635. data/misc/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +46 -0
  636. data/misc/openlayers/lib/OpenLayers/Format/ArcXML.js +1028 -0
  637. data/misc/openlayers/lib/OpenLayers/Format/Atom.js +712 -0
  638. data/misc/openlayers/lib/OpenLayers/Format/CQL.js +452 -0
  639. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +240 -0
  640. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +34 -0
  641. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +457 -0
  642. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +34 -0
  643. data/misc/openlayers/lib/OpenLayers/Format/Context.js +334 -0
  644. data/misc/openlayers/lib/OpenLayers/Format/EncodedPolyline.js +557 -0
  645. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1.js +504 -0
  646. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +184 -0
  647. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +222 -0
  648. data/misc/openlayers/lib/OpenLayers/Format/Filter.js +53 -0
  649. data/misc/openlayers/lib/OpenLayers/Format/GML/Base.js +645 -0
  650. data/misc/openlayers/lib/OpenLayers/Format/GML/v2.js +193 -0
  651. data/misc/openlayers/lib/OpenLayers/Format/GML/v3.js +477 -0
  652. data/misc/openlayers/lib/OpenLayers/Format/GML.js +923 -0
  653. data/misc/openlayers/lib/OpenLayers/Format/GPX.js +385 -0
  654. data/misc/openlayers/lib/OpenLayers/Format/GeoJSON.js +716 -0
  655. data/misc/openlayers/lib/OpenLayers/Format/GeoRSS.js +409 -0
  656. data/misc/openlayers/lib/OpenLayers/Format/JSON.js +398 -0
  657. data/misc/openlayers/lib/OpenLayers/Format/KML.js +1517 -0
  658. data/misc/openlayers/lib/OpenLayers/Format/OGCExceptionReport.js +108 -0
  659. data/misc/openlayers/lib/OpenLayers/Format/OSM.js +465 -0
  660. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +318 -0
  661. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +62 -0
  662. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +116 -0
  663. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon.js +78 -0
  664. data/misc/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +595 -0
  665. data/misc/openlayers/lib/OpenLayers/Format/OWSContext.js +86 -0
  666. data/misc/openlayers/lib/OpenLayers/Format/QueryStringFilter.js +183 -0
  667. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1.js +1309 -0
  668. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +46 -0
  669. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0_GeoServer.js +149 -0
  670. data/misc/openlayers/lib/OpenLayers/Format/SLD.js +81 -0
  671. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +158 -0
  672. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +48 -0
  673. data/misc/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +190 -0
  674. data/misc/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +302 -0
  675. data/misc/openlayers/lib/OpenLayers/Format/Text.js +151 -0
  676. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1.js +55 -0
  677. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_0_0.js +170 -0
  678. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_1_0.js +109 -0
  679. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities.js +47 -0
  680. data/misc/openlayers/lib/OpenLayers/Format/WCSGetCoverage.js +199 -0
  681. data/misc/openlayers/lib/OpenLayers/Format/WFS.js +223 -0
  682. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +129 -0
  683. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +115 -0
  684. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +63 -0
  685. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +47 -0
  686. data/misc/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +234 -0
  687. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1.js +446 -0
  688. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +174 -0
  689. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +189 -0
  690. data/misc/openlayers/lib/OpenLayers/Format/WFST.js +34 -0
  691. data/misc/openlayers/lib/OpenLayers/Format/WKT.js +392 -0
  692. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1.js +1267 -0
  693. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +104 -0
  694. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +149 -0
  695. data/misc/openlayers/lib/OpenLayers/Format/WMC.js +182 -0
  696. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +368 -0
  697. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +122 -0
  698. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +57 -0
  699. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +60 -0
  700. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1_WMSC.js +85 -0
  701. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +128 -0
  702. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +30 -0
  703. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +56 -0
  704. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +122 -0
  705. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +53 -0
  706. data/misc/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +296 -0
  707. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +251 -0
  708. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +230 -0
  709. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities/v1_0_0.js +119 -0
  710. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities.js +48 -0
  711. data/misc/openlayers/lib/OpenLayers/Format/WPSDescribeProcess.js +185 -0
  712. data/misc/openlayers/lib/OpenLayers/Format/WPSExecute.js +395 -0
  713. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1.js +304 -0
  714. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1_1_0.js +48 -0
  715. data/misc/openlayers/lib/OpenLayers/Format/XLS.js +68 -0
  716. data/misc/openlayers/lib/OpenLayers/Format/XML/VersionedOGC.js +212 -0
  717. data/misc/openlayers/lib/OpenLayers/Format/XML.js +897 -0
  718. data/misc/openlayers/lib/OpenLayers/Format.js +123 -0
  719. data/misc/openlayers/lib/OpenLayers/Geometry/Collection.js +563 -0
  720. data/misc/openlayers/lib/OpenLayers/Geometry/Curve.js +89 -0
  721. data/misc/openlayers/lib/OpenLayers/Geometry/LineString.js +646 -0
  722. data/misc/openlayers/lib/OpenLayers/Geometry/LinearRing.js +433 -0
  723. data/misc/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +258 -0
  724. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +66 -0
  725. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +42 -0
  726. data/misc/openlayers/lib/OpenLayers/Geometry/Point.js +283 -0
  727. data/misc/openlayers/lib/OpenLayers/Geometry/Polygon.js +255 -0
  728. data/misc/openlayers/lib/OpenLayers/Geometry.js +500 -0
  729. data/misc/openlayers/lib/OpenLayers/Handler/Box.js +244 -0
  730. data/misc/openlayers/lib/OpenLayers/Handler/Click.js +505 -0
  731. data/misc/openlayers/lib/OpenLayers/Handler/Drag.js +547 -0
  732. data/misc/openlayers/lib/OpenLayers/Handler/Feature.js +434 -0
  733. data/misc/openlayers/lib/OpenLayers/Handler/Hover.js +180 -0
  734. data/misc/openlayers/lib/OpenLayers/Handler/Keyboard.js +117 -0
  735. data/misc/openlayers/lib/OpenLayers/Handler/MouseWheel.js +264 -0
  736. data/misc/openlayers/lib/OpenLayers/Handler/Path.js +543 -0
  737. data/misc/openlayers/lib/OpenLayers/Handler/Pinch.js +239 -0
  738. data/misc/openlayers/lib/OpenLayers/Handler/Point.js +556 -0
  739. data/misc/openlayers/lib/OpenLayers/Handler/Polygon.js +305 -0
  740. data/misc/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +429 -0
  741. data/misc/openlayers/lib/OpenLayers/Handler.js +325 -0
  742. data/misc/openlayers/lib/OpenLayers/Icon.js +243 -0
  743. data/misc/openlayers/lib/OpenLayers/Kinetic.js +178 -0
  744. data/misc/openlayers/lib/OpenLayers/Lang/ar.js +32 -0
  745. data/misc/openlayers/lib/OpenLayers/Lang/be-tarask.js +54 -0
  746. data/misc/openlayers/lib/OpenLayers/Lang/bg.js +25 -0
  747. data/misc/openlayers/lib/OpenLayers/Lang/br.js +53 -0
  748. data/misc/openlayers/lib/OpenLayers/Lang/ca.js +89 -0
  749. data/misc/openlayers/lib/OpenLayers/Lang/cs-CZ.js +45 -0
  750. data/misc/openlayers/lib/OpenLayers/Lang/da-DK.js +80 -0
  751. data/misc/openlayers/lib/OpenLayers/Lang/de.js +55 -0
  752. data/misc/openlayers/lib/OpenLayers/Lang/el.js +19 -0
  753. data/misc/openlayers/lib/OpenLayers/Lang/en-CA.js +21 -0
  754. data/misc/openlayers/lib/OpenLayers/Lang/en.js +89 -0
  755. data/misc/openlayers/lib/OpenLayers/Lang/es.js +90 -0
  756. data/misc/openlayers/lib/OpenLayers/Lang/fi.js +32 -0
  757. data/misc/openlayers/lib/OpenLayers/Lang/fr.js +53 -0
  758. data/misc/openlayers/lib/OpenLayers/Lang/fur.js +35 -0
  759. data/misc/openlayers/lib/OpenLayers/Lang/gl.js +53 -0
  760. data/misc/openlayers/lib/OpenLayers/Lang/gsw.js +53 -0
  761. data/misc/openlayers/lib/OpenLayers/Lang/hr.js +37 -0
  762. data/misc/openlayers/lib/OpenLayers/Lang/hsb.js +53 -0
  763. data/misc/openlayers/lib/OpenLayers/Lang/hu.js +54 -0
  764. data/misc/openlayers/lib/OpenLayers/Lang/ia.js +53 -0
  765. data/misc/openlayers/lib/OpenLayers/Lang/id.js +54 -0
  766. data/misc/openlayers/lib/OpenLayers/Lang/io.js +19 -0
  767. data/misc/openlayers/lib/OpenLayers/Lang/is.js +27 -0
  768. data/misc/openlayers/lib/OpenLayers/Lang/it.js +80 -0
  769. data/misc/openlayers/lib/OpenLayers/Lang/ja.js +54 -0
  770. data/misc/openlayers/lib/OpenLayers/Lang/km.js +23 -0
  771. data/misc/openlayers/lib/OpenLayers/Lang/ksh.js +53 -0
  772. data/misc/openlayers/lib/OpenLayers/Lang/lt.js +47 -0
  773. data/misc/openlayers/lib/OpenLayers/Lang/nb.js +82 -0
  774. data/misc/openlayers/lib/OpenLayers/Lang/nds.js +37 -0
  775. data/misc/openlayers/lib/OpenLayers/Lang/nl.js +53 -0
  776. data/misc/openlayers/lib/OpenLayers/Lang/nn.js +19 -0
  777. data/misc/openlayers/lib/OpenLayers/Lang/oc.js +53 -0
  778. data/misc/openlayers/lib/OpenLayers/Lang/pl.js +89 -0
  779. data/misc/openlayers/lib/OpenLayers/Lang/pt-BR.js +54 -0
  780. data/misc/openlayers/lib/OpenLayers/Lang/pt.js +55 -0
  781. data/misc/openlayers/lib/OpenLayers/Lang/ro.js +69 -0
  782. data/misc/openlayers/lib/OpenLayers/Lang/ru.js +56 -0
  783. data/misc/openlayers/lib/OpenLayers/Lang/sk.js +44 -0
  784. data/misc/openlayers/lib/OpenLayers/Lang/sv-SE.js +45 -0
  785. data/misc/openlayers/lib/OpenLayers/Lang/te.js +27 -0
  786. data/misc/openlayers/lib/OpenLayers/Lang/vi.js +53 -0
  787. data/misc/openlayers/lib/OpenLayers/Lang/zh-CN.js +80 -0
  788. data/misc/openlayers/lib/OpenLayers/Lang/zh-TW.js +81 -0
  789. data/misc/openlayers/lib/OpenLayers/Lang.js +134 -0
  790. data/misc/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +225 -0
  791. data/misc/openlayers/lib/OpenLayers/Layer/ArcGISCache.js +480 -0
  792. data/misc/openlayers/lib/OpenLayers/Layer/ArcIMS.js +425 -0
  793. data/misc/openlayers/lib/OpenLayers/Layer/Bing.js +333 -0
  794. data/misc/openlayers/lib/OpenLayers/Layer/Boxes.js +76 -0
  795. data/misc/openlayers/lib/OpenLayers/Layer/EventPane.js +441 -0
  796. data/misc/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +319 -0
  797. data/misc/openlayers/lib/OpenLayers/Layer/GeoRSS.js +265 -0
  798. data/misc/openlayers/lib/OpenLayers/Layer/Google/v3.js +351 -0
  799. data/misc/openlayers/lib/OpenLayers/Layer/Google.js +809 -0
  800. data/misc/openlayers/lib/OpenLayers/Layer/Grid.js +1343 -0
  801. data/misc/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +230 -0
  802. data/misc/openlayers/lib/OpenLayers/Layer/Image.js +259 -0
  803. data/misc/openlayers/lib/OpenLayers/Layer/KaMap.js +192 -0
  804. data/misc/openlayers/lib/OpenLayers/Layer/KaMapCache.js +143 -0
  805. data/misc/openlayers/lib/OpenLayers/Layer/MapGuide.js +443 -0
  806. data/misc/openlayers/lib/OpenLayers/Layer/MapServer.js +181 -0
  807. data/misc/openlayers/lib/OpenLayers/Layer/Markers.js +187 -0
  808. data/misc/openlayers/lib/OpenLayers/Layer/OSM.js +123 -0
  809. data/misc/openlayers/lib/OpenLayers/Layer/PointGrid.js +299 -0
  810. data/misc/openlayers/lib/OpenLayers/Layer/PointTrack.js +125 -0
  811. data/misc/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +146 -0
  812. data/misc/openlayers/lib/OpenLayers/Layer/TMS.js +202 -0
  813. data/misc/openlayers/lib/OpenLayers/Layer/Text.js +267 -0
  814. data/misc/openlayers/lib/OpenLayers/Layer/TileCache.js +140 -0
  815. data/misc/openlayers/lib/OpenLayers/Layer/UTFGrid.js +184 -0
  816. data/misc/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +154 -0
  817. data/misc/openlayers/lib/OpenLayers/Layer/Vector.js +1007 -0
  818. data/misc/openlayers/lib/OpenLayers/Layer/WMS.js +267 -0
  819. data/misc/openlayers/lib/OpenLayers/Layer/WMTS.js +510 -0
  820. data/misc/openlayers/lib/OpenLayers/Layer/WorldWind.js +105 -0
  821. data/misc/openlayers/lib/OpenLayers/Layer/XYZ.js +172 -0
  822. data/misc/openlayers/lib/OpenLayers/Layer/Zoomify.js +260 -0
  823. data/misc/openlayers/lib/OpenLayers/Layer.js +1377 -0
  824. data/misc/openlayers/lib/OpenLayers/Map.js +2867 -0
  825. data/misc/openlayers/lib/OpenLayers/Marker/Box.js +120 -0
  826. data/misc/openlayers/lib/OpenLayers/Marker.js +241 -0
  827. data/misc/openlayers/lib/OpenLayers/Popup/Anchored.js +195 -0
  828. data/misc/openlayers/lib/OpenLayers/Popup/Framed.js +343 -0
  829. data/misc/openlayers/lib/OpenLayers/Popup/FramedCloud.js +227 -0
  830. data/misc/openlayers/lib/OpenLayers/Popup.js +1065 -0
  831. data/misc/openlayers/lib/OpenLayers/Projection.js +322 -0
  832. data/misc/openlayers/lib/OpenLayers/Protocol/CSW/v2_0_2.js +127 -0
  833. data/misc/openlayers/lib/OpenLayers/Protocol/CSW.js +30 -0
  834. data/misc/openlayers/lib/OpenLayers/Protocol/HTTP.js +580 -0
  835. data/misc/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +133 -0
  836. data/misc/openlayers/lib/OpenLayers/Protocol/SOS.js +33 -0
  837. data/misc/openlayers/lib/OpenLayers/Protocol/Script.js +377 -0
  838. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +453 -0
  839. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +44 -0
  840. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +68 -0
  841. data/misc/openlayers/lib/OpenLayers/Protocol/WFS.js +86 -0
  842. data/misc/openlayers/lib/OpenLayers/Protocol.js +291 -0
  843. data/misc/openlayers/lib/OpenLayers/Renderer/Canvas.js +906 -0
  844. data/misc/openlayers/lib/OpenLayers/Renderer/Elements.js +1053 -0
  845. data/misc/openlayers/lib/OpenLayers/Renderer/SVG.js +1012 -0
  846. data/misc/openlayers/lib/OpenLayers/Renderer/VML.js +985 -0
  847. data/misc/openlayers/lib/OpenLayers/Renderer.js +432 -0
  848. data/misc/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +458 -0
  849. data/misc/openlayers/lib/OpenLayers/Request.js +429 -0
  850. data/misc/openlayers/lib/OpenLayers/Rule.js +236 -0
  851. data/misc/openlayers/lib/OpenLayers/SingleFile.js +78 -0
  852. data/misc/openlayers/lib/OpenLayers/Spherical.js +67 -0
  853. data/misc/openlayers/lib/OpenLayers/Strategy/BBOX.js +290 -0
  854. data/misc/openlayers/lib/OpenLayers/Strategy/Cluster.js +283 -0
  855. data/misc/openlayers/lib/OpenLayers/Strategy/Filter.js +159 -0
  856. data/misc/openlayers/lib/OpenLayers/Strategy/Fixed.js +135 -0
  857. data/misc/openlayers/lib/OpenLayers/Strategy/Paging.js +233 -0
  858. data/misc/openlayers/lib/OpenLayers/Strategy/Refresh.js +141 -0
  859. data/misc/openlayers/lib/OpenLayers/Strategy/Save.js +231 -0
  860. data/misc/openlayers/lib/OpenLayers/Strategy.js +121 -0
  861. data/misc/openlayers/lib/OpenLayers/Style.js +448 -0
  862. data/misc/openlayers/lib/OpenLayers/Style2.js +112 -0
  863. data/misc/openlayers/lib/OpenLayers/StyleMap.js +161 -0
  864. data/misc/openlayers/lib/OpenLayers/Symbolizer/Line.js +74 -0
  865. data/misc/openlayers/lib/OpenLayers/Symbolizer/Point.js +157 -0
  866. data/misc/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +88 -0
  867. data/misc/openlayers/lib/OpenLayers/Symbolizer/Raster.js +34 -0
  868. data/misc/openlayers/lib/OpenLayers/Symbolizer/Text.js +70 -0
  869. data/misc/openlayers/lib/OpenLayers/Symbolizer.js +55 -0
  870. data/misc/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +233 -0
  871. data/misc/openlayers/lib/OpenLayers/Tile/Image.js +510 -0
  872. data/misc/openlayers/lib/OpenLayers/Tile/UTFGrid.js +252 -0
  873. data/misc/openlayers/lib/OpenLayers/Tile.js +292 -0
  874. data/misc/openlayers/lib/OpenLayers/TileManager.js +462 -0
  875. data/misc/openlayers/lib/OpenLayers/Tween.js +361 -0
  876. data/misc/openlayers/lib/OpenLayers/Util/vendorPrefix.js +131 -0
  877. data/misc/openlayers/lib/OpenLayers/Util.js +1773 -0
  878. data/misc/openlayers/lib/OpenLayers/WPSClient.js +223 -0
  879. data/misc/openlayers/lib/OpenLayers/WPSProcess.js +501 -0
  880. data/misc/openlayers/lib/OpenLayers.js +429 -0
  881. data/misc/openlayers/lib/Rico/Color.js +253 -0
  882. data/misc/openlayers/lib/Rico/Corner.js +339 -0
  883. data/misc/openlayers/lib/Rico/license.js +19 -0
  884. data/misc/openlayers/lib/deprecated.js +5842 -0
  885. data/misc/openlayers/license.txt +27 -0
  886. data/misc/openlayers/licenses/APACHE-2.0.txt +202 -0
  887. data/misc/openlayers/licenses/BSD-LICENSE.txt +28 -0
  888. data/misc/openlayers/licenses/MIT-LICENSE.txt +18 -0
  889. data/misc/openlayers/notes/2.12.md +391 -0
  890. data/misc/openlayers/notes/2.13.md +159 -0
  891. data/misc/openlayers/readme.md +79 -0
  892. data/misc/openlayers/tests/Animation.html +96 -0
  893. data/misc/openlayers/tests/BaseTypes/Bounds.html +738 -0
  894. data/misc/openlayers/tests/BaseTypes/Class.html +350 -0
  895. data/misc/openlayers/tests/BaseTypes/Date.html +191 -0
  896. data/misc/openlayers/tests/BaseTypes/Element.html +195 -0
  897. data/misc/openlayers/tests/BaseTypes/LonLat.html +241 -0
  898. data/misc/openlayers/tests/BaseTypes/Pixel.html +123 -0
  899. data/misc/openlayers/tests/BaseTypes/Size.html +67 -0
  900. data/misc/openlayers/tests/BaseTypes.html +387 -0
  901. data/misc/openlayers/tests/Console.html +39 -0
  902. data/misc/openlayers/tests/Control/ArgParser.html +26 -0
  903. data/misc/openlayers/tests/Control/Attribution.html +60 -0
  904. data/misc/openlayers/tests/Control/Button.html +17 -0
  905. data/misc/openlayers/tests/Control/CacheRead.html +108 -0
  906. data/misc/openlayers/tests/Control/CacheWrite.html +90 -0
  907. data/misc/openlayers/tests/Control/DragFeature.html +383 -0
  908. data/misc/openlayers/tests/Control/DragPan.html +104 -0
  909. data/misc/openlayers/tests/Control/DrawFeature.html +160 -0
  910. data/misc/openlayers/tests/Control/EditingToolbar.html +33 -0
  911. data/misc/openlayers/tests/Control/Geolocate.html +129 -0
  912. data/misc/openlayers/tests/Control/GetFeature.html +177 -0
  913. data/misc/openlayers/tests/Control/Graticule.html +66 -0
  914. data/misc/openlayers/tests/Control/KeyboardDefaults.html +173 -0
  915. data/misc/openlayers/tests/Control/LayerSwitcher.html +249 -0
  916. data/misc/openlayers/tests/Control/Measure.html +386 -0
  917. data/misc/openlayers/tests/Control/ModifyFeature.html +828 -0
  918. data/misc/openlayers/tests/Control/MousePosition.html +109 -0
  919. data/misc/openlayers/tests/Control/NavToolbar.html +45 -0
  920. data/misc/openlayers/tests/Control/Navigation.html +200 -0
  921. data/misc/openlayers/tests/Control/NavigationHistory.html +245 -0
  922. data/misc/openlayers/tests/Control/OverviewMap.html +266 -0
  923. data/misc/openlayers/tests/Control/Pan.html +201 -0
  924. data/misc/openlayers/tests/Control/PanPanel.html +61 -0
  925. data/misc/openlayers/tests/Control/PanZoom.html +244 -0
  926. data/misc/openlayers/tests/Control/PanZoomBar.html +245 -0
  927. data/misc/openlayers/tests/Control/Panel.html +382 -0
  928. data/misc/openlayers/tests/Control/Permalink.html +453 -0
  929. data/misc/openlayers/tests/Control/PinchZoom.html +134 -0
  930. data/misc/openlayers/tests/Control/SLDSelect.html +239 -0
  931. data/misc/openlayers/tests/Control/Scale.html +54 -0
  932. data/misc/openlayers/tests/Control/ScaleLine.html +187 -0
  933. data/misc/openlayers/tests/Control/SelectFeature.html +632 -0
  934. data/misc/openlayers/tests/Control/Snapping.html +448 -0
  935. data/misc/openlayers/tests/Control/Split.html +319 -0
  936. data/misc/openlayers/tests/Control/TouchNavigation.html +155 -0
  937. data/misc/openlayers/tests/Control/TransformFeature.html +129 -0
  938. data/misc/openlayers/tests/Control/UTFGrid.html +120 -0
  939. data/misc/openlayers/tests/Control/WMSGetFeatureInfo.html +644 -0
  940. data/misc/openlayers/tests/Control/WMTSGetFeatureInfo.html +334 -0
  941. data/misc/openlayers/tests/Control/Zoom.html +83 -0
  942. data/misc/openlayers/tests/Control/ZoomBox.html +54 -0
  943. data/misc/openlayers/tests/Control/ZoomIn.html +101 -0
  944. data/misc/openlayers/tests/Control/ZoomOut.html +100 -0
  945. data/misc/openlayers/tests/Control/ZoomToMaxExtent.html +102 -0
  946. data/misc/openlayers/tests/Control.html +107 -0
  947. data/misc/openlayers/tests/Events/buttonclick.html +214 -0
  948. data/misc/openlayers/tests/Events/featureclick.html +91 -0
  949. data/misc/openlayers/tests/Events.html +487 -0
  950. data/misc/openlayers/tests/Extras.html +21 -0
  951. data/misc/openlayers/tests/Feature/Vector.html +170 -0
  952. data/misc/openlayers/tests/Feature.html +205 -0
  953. data/misc/openlayers/tests/Filter/Comparison.html +373 -0
  954. data/misc/openlayers/tests/Filter/FeatureId.html +67 -0
  955. data/misc/openlayers/tests/Filter/Logical.html +144 -0
  956. data/misc/openlayers/tests/Filter/Spatial.html +112 -0
  957. data/misc/openlayers/tests/Filter.html +31 -0
  958. data/misc/openlayers/tests/Format/ArcXML/Features.html +69 -0
  959. data/misc/openlayers/tests/Format/ArcXML.html +277 -0
  960. data/misc/openlayers/tests/Format/Atom.html +450 -0
  961. data/misc/openlayers/tests/Format/CQL.html +364 -0
  962. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.html +56 -0
  963. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.js +18 -0
  964. data/misc/openlayers/tests/Format/CSWGetDomain.html +23 -0
  965. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.html +88 -0
  966. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.js +50 -0
  967. data/misc/openlayers/tests/Format/CSWGetRecords.html +23 -0
  968. data/misc/openlayers/tests/Format/EncodedPolyline.html +372 -0
  969. data/misc/openlayers/tests/Format/Filter/v1.html +404 -0
  970. data/misc/openlayers/tests/Format/Filter/v1_0_0.html +295 -0
  971. data/misc/openlayers/tests/Format/Filter/v1_1_0.html +402 -0
  972. data/misc/openlayers/tests/Format/Filter.html +21 -0
  973. data/misc/openlayers/tests/Format/GML/cases.js +232 -0
  974. data/misc/openlayers/tests/Format/GML/v2.html +684 -0
  975. data/misc/openlayers/tests/Format/GML/v3.html +828 -0
  976. data/misc/openlayers/tests/Format/GML.html +462 -0
  977. data/misc/openlayers/tests/Format/GPX.html +179 -0
  978. data/misc/openlayers/tests/Format/GeoJSON.html +468 -0
  979. data/misc/openlayers/tests/Format/GeoRSS.html +122 -0
  980. data/misc/openlayers/tests/Format/JSON.html +53 -0
  981. data/misc/openlayers/tests/Format/KML.html +1437 -0
  982. data/misc/openlayers/tests/Format/OGCExceptionReport.html +100 -0
  983. data/misc/openlayers/tests/Format/OSM.html +115 -0
  984. data/misc/openlayers/tests/Format/OWSCommon/v1_0_0.html +34 -0
  985. data/misc/openlayers/tests/Format/OWSCommon/v1_1_0.html +34 -0
  986. data/misc/openlayers/tests/Format/OWSContext/v0_3_1.html +278 -0
  987. data/misc/openlayers/tests/Format/QueryStringFilter.html +306 -0
  988. data/misc/openlayers/tests/Format/SLD/v1_0_0.html +1028 -0
  989. data/misc/openlayers/tests/Format/SLD/v1_0_0_GeoServer.html +228 -0
  990. data/misc/openlayers/tests/Format/SLD.html +36 -0
  991. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.html +80 -0
  992. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.js +484 -0
  993. data/misc/openlayers/tests/Format/SOSGetFeatureOfInterest.html +80 -0
  994. data/misc/openlayers/tests/Format/SOSGetObservation.html +183 -0
  995. data/misc/openlayers/tests/Format/Text.html +49 -0
  996. data/misc/openlayers/tests/Format/WCSCapabilities/v1.html +87 -0
  997. data/misc/openlayers/tests/Format/WCSCapabilities.html +43 -0
  998. data/misc/openlayers/tests/Format/WCSGetCoverage.html +80 -0
  999. data/misc/openlayers/tests/Format/WFS.html +81 -0
  1000. data/misc/openlayers/tests/Format/WFSCapabilities/v1.html +179 -0
  1001. data/misc/openlayers/tests/Format/WFSCapabilities.html +43 -0
  1002. data/misc/openlayers/tests/Format/WFSDescribeFeatureType.html +436 -0
  1003. data/misc/openlayers/tests/Format/WFST/v1.html +455 -0
  1004. data/misc/openlayers/tests/Format/WFST/v1_0_0.html +135 -0
  1005. data/misc/openlayers/tests/Format/WFST/v1_1_0.html +236 -0
  1006. data/misc/openlayers/tests/Format/WFST.html +23 -0
  1007. data/misc/openlayers/tests/Format/WKT.html +297 -0
  1008. data/misc/openlayers/tests/Format/WMC/v1.html +266 -0
  1009. data/misc/openlayers/tests/Format/WMC/v1_1_0.html +86 -0
  1010. data/misc/openlayers/tests/Format/WMC.html +315 -0
  1011. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1.html +5209 -0
  1012. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1_WMSC.html +348 -0
  1013. data/misc/openlayers/tests/Format/WMSCapabilities/v1_3_0.html +614 -0
  1014. data/misc/openlayers/tests/Format/WMSCapabilities.html +20 -0
  1015. data/misc/openlayers/tests/Format/WMSDescribeLayer.html +65 -0
  1016. data/misc/openlayers/tests/Format/WMSGetFeatureInfo.html +319 -0
  1017. data/misc/openlayers/tests/Format/WMTSCapabilities/v1_0_0.html +1042 -0
  1018. data/misc/openlayers/tests/Format/WMTSCapabilities.html +20 -0
  1019. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.html +30 -0
  1020. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.js +112 -0
  1021. data/misc/openlayers/tests/Format/WPSDescribeProcess.html +206 -0
  1022. data/misc/openlayers/tests/Format/WPSExecute.html +549 -0
  1023. data/misc/openlayers/tests/Format/XLS/v1_1_0.html +98 -0
  1024. data/misc/openlayers/tests/Format/XML/VersionedOGC.html +51 -0
  1025. data/misc/openlayers/tests/Format/XML.html +900 -0
  1026. data/misc/openlayers/tests/Format.html +23 -0
  1027. data/misc/openlayers/tests/Geometry/Collection.html +431 -0
  1028. data/misc/openlayers/tests/Geometry/Curve.html +157 -0
  1029. data/misc/openlayers/tests/Geometry/LineString.html +443 -0
  1030. data/misc/openlayers/tests/Geometry/LinearRing.html +362 -0
  1031. data/misc/openlayers/tests/Geometry/MultiLineString.html +267 -0
  1032. data/misc/openlayers/tests/Geometry/MultiPoint.html +130 -0
  1033. data/misc/openlayers/tests/Geometry/MultiPolygon.html +34 -0
  1034. data/misc/openlayers/tests/Geometry/Point.html +244 -0
  1035. data/misc/openlayers/tests/Geometry/Polygon.html +420 -0
  1036. data/misc/openlayers/tests/Geometry.html +356 -0
  1037. data/misc/openlayers/tests/Handler/Box.html +106 -0
  1038. data/misc/openlayers/tests/Handler/Click.html +735 -0
  1039. data/misc/openlayers/tests/Handler/Drag.html +603 -0
  1040. data/misc/openlayers/tests/Handler/Feature.html +698 -0
  1041. data/misc/openlayers/tests/Handler/Hover.html +136 -0
  1042. data/misc/openlayers/tests/Handler/Keyboard.html +150 -0
  1043. data/misc/openlayers/tests/Handler/MouseWheel.html +182 -0
  1044. data/misc/openlayers/tests/Handler/Path.html +1464 -0
  1045. data/misc/openlayers/tests/Handler/Pinch.html +285 -0
  1046. data/misc/openlayers/tests/Handler/Point.html +600 -0
  1047. data/misc/openlayers/tests/Handler/Polygon.html +1161 -0
  1048. data/misc/openlayers/tests/Handler/RegularPolygon.html +235 -0
  1049. data/misc/openlayers/tests/Handler.html +265 -0
  1050. data/misc/openlayers/tests/Icon.html +68 -0
  1051. data/misc/openlayers/tests/Kinetic.html +132 -0
  1052. data/misc/openlayers/tests/Lang.html +106 -0
  1053. data/misc/openlayers/tests/Layer/ArcGIS93Rest.html +324 -0
  1054. data/misc/openlayers/tests/Layer/ArcGISCache.html +256 -0
  1055. data/misc/openlayers/tests/Layer/ArcGISCache.json +334 -0
  1056. data/misc/openlayers/tests/Layer/ArcIMS.html +123 -0
  1057. data/misc/openlayers/tests/Layer/Bing.html +200 -0
  1058. data/misc/openlayers/tests/Layer/EventPane.html +172 -0
  1059. data/misc/openlayers/tests/Layer/FixedZoomLevels.html +137 -0
  1060. data/misc/openlayers/tests/Layer/GeoRSS.html +210 -0
  1061. data/misc/openlayers/tests/Layer/Google/v3.html +337 -0
  1062. data/misc/openlayers/tests/Layer/Google.html +369 -0
  1063. data/misc/openlayers/tests/Layer/Grid.html +1593 -0
  1064. data/misc/openlayers/tests/Layer/HTTPRequest.html +229 -0
  1065. data/misc/openlayers/tests/Layer/Image.html +164 -0
  1066. data/misc/openlayers/tests/Layer/KaMap.html +287 -0
  1067. data/misc/openlayers/tests/Layer/MapGuide.html +177 -0
  1068. data/misc/openlayers/tests/Layer/MapServer.html +238 -0
  1069. data/misc/openlayers/tests/Layer/Markers.html +156 -0
  1070. data/misc/openlayers/tests/Layer/OSM.html +16 -0
  1071. data/misc/openlayers/tests/Layer/PointGrid.html +232 -0
  1072. data/misc/openlayers/tests/Layer/PointTrack.html +79 -0
  1073. data/misc/openlayers/tests/Layer/SphericalMercator.html +126 -0
  1074. data/misc/openlayers/tests/Layer/TMS.html +262 -0
  1075. data/misc/openlayers/tests/Layer/Text.html +211 -0
  1076. data/misc/openlayers/tests/Layer/TileCache.html +203 -0
  1077. data/misc/openlayers/tests/Layer/UTFGrid.html +131 -0
  1078. data/misc/openlayers/tests/Layer/Vector/RootContainer.html +63 -0
  1079. data/misc/openlayers/tests/Layer/Vector.html +879 -0
  1080. data/misc/openlayers/tests/Layer/WMS.html +583 -0
  1081. data/misc/openlayers/tests/Layer/WMTS.html +1491 -0
  1082. data/misc/openlayers/tests/Layer/WrapDateLine.html +188 -0
  1083. data/misc/openlayers/tests/Layer/XYZ.html +266 -0
  1084. data/misc/openlayers/tests/Layer/atom-1.0.xml +34 -0
  1085. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile.txt +3 -0
  1086. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_2.txt +3 -0
  1087. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_overflow.txt +3 -0
  1088. data/misc/openlayers/tests/Layer/georss.txt +378 -0
  1089. data/misc/openlayers/tests/Layer.html +910 -0
  1090. data/misc/openlayers/tests/Map.html +2255 -0
  1091. data/misc/openlayers/tests/Marker/Box.html +183 -0
  1092. data/misc/openlayers/tests/Marker.html +163 -0
  1093. data/misc/openlayers/tests/OLLoader.js +26 -0
  1094. data/misc/openlayers/tests/OpenLayers1.html +18 -0
  1095. data/misc/openlayers/tests/OpenLayers2.html +19 -0
  1096. data/misc/openlayers/tests/OpenLayers3.html +19 -0
  1097. data/misc/openlayers/tests/OpenLayers4.html +18 -0
  1098. data/misc/openlayers/tests/OpenLayersJsFiles.html +27 -0
  1099. data/misc/openlayers/tests/Popup/Anchored.html +37 -0
  1100. data/misc/openlayers/tests/Popup/FramedCloud.html +18 -0
  1101. data/misc/openlayers/tests/Popup.html +219 -0
  1102. data/misc/openlayers/tests/Projection.html +87 -0
  1103. data/misc/openlayers/tests/Protocol/CSW.html +90 -0
  1104. data/misc/openlayers/tests/Protocol/HTTP.html +842 -0
  1105. data/misc/openlayers/tests/Protocol/SOS.html +57 -0
  1106. data/misc/openlayers/tests/Protocol/Script.html +282 -0
  1107. data/misc/openlayers/tests/Protocol/WFS.html +471 -0
  1108. data/misc/openlayers/tests/Protocol.html +63 -0
  1109. data/misc/openlayers/tests/README.txt +16 -0
  1110. data/misc/openlayers/tests/Renderer/Canvas.html +501 -0
  1111. data/misc/openlayers/tests/Renderer/Elements.html +651 -0
  1112. data/misc/openlayers/tests/Renderer/SVG.html +441 -0
  1113. data/misc/openlayers/tests/Renderer/VML.html +454 -0
  1114. data/misc/openlayers/tests/Renderer.html +96 -0
  1115. data/misc/openlayers/tests/Request/XMLHttpRequest.html +59 -0
  1116. data/misc/openlayers/tests/Request.html +524 -0
  1117. data/misc/openlayers/tests/Rule.html +123 -0
  1118. data/misc/openlayers/tests/SingleFile1.html +15 -0
  1119. data/misc/openlayers/tests/SingleFile2.html +15 -0
  1120. data/misc/openlayers/tests/SingleFile3.html +15 -0
  1121. data/misc/openlayers/tests/Strategy/BBOX.html +361 -0
  1122. data/misc/openlayers/tests/Strategy/Cluster.html +148 -0
  1123. data/misc/openlayers/tests/Strategy/Filter.html +135 -0
  1124. data/misc/openlayers/tests/Strategy/Fixed.html +253 -0
  1125. data/misc/openlayers/tests/Strategy/Paging.html +113 -0
  1126. data/misc/openlayers/tests/Strategy/Refresh.html +177 -0
  1127. data/misc/openlayers/tests/Strategy/Save.html +127 -0
  1128. data/misc/openlayers/tests/Strategy.html +94 -0
  1129. data/misc/openlayers/tests/Style.html +426 -0
  1130. data/misc/openlayers/tests/Style2.html +56 -0
  1131. data/misc/openlayers/tests/StyleMap.html +44 -0
  1132. data/misc/openlayers/tests/Symbolizer/Line.html +42 -0
  1133. data/misc/openlayers/tests/Symbolizer/Point.html +52 -0
  1134. data/misc/openlayers/tests/Symbolizer/Polygon.html +44 -0
  1135. data/misc/openlayers/tests/Symbolizer/Raster.html +32 -0
  1136. data/misc/openlayers/tests/Symbolizer/Text.html +42 -0
  1137. data/misc/openlayers/tests/Symbolizer.html +31 -0
  1138. data/misc/openlayers/tests/Test.AnotherWay.baseadditions.js +191 -0
  1139. data/misc/openlayers/tests/Test.AnotherWay.css +243 -0
  1140. data/misc/openlayers/tests/Test.AnotherWay.geom_eq.js +139 -0
  1141. data/misc/openlayers/tests/Test.AnotherWay.js +2498 -0
  1142. data/misc/openlayers/tests/Test.AnotherWay.xml_eq.js +311 -0
  1143. data/misc/openlayers/tests/Tile/Image/IFrame.html +183 -0
  1144. data/misc/openlayers/tests/Tile/Image.html +490 -0
  1145. data/misc/openlayers/tests/Tile/UTFGrid.html +306 -0
  1146. data/misc/openlayers/tests/Tile.html +130 -0
  1147. data/misc/openlayers/tests/TileManager.html +137 -0
  1148. data/misc/openlayers/tests/Tween.html +116 -0
  1149. data/misc/openlayers/tests/Util/vendorPrefix.html +117 -0
  1150. data/misc/openlayers/tests/Util.html +1180 -0
  1151. data/misc/openlayers/tests/Util_common.js +64 -0
  1152. data/misc/openlayers/tests/Util_w3c.html +35 -0
  1153. data/misc/openlayers/tests/WPSClient.html +108 -0
  1154. data/misc/openlayers/tests/WPSProcess.html +188 -0
  1155. data/misc/openlayers/tests/atom-1.0.xml +34 -0
  1156. data/misc/openlayers/tests/auto-tests.html +2447 -0
  1157. data/misc/openlayers/tests/data/geos_wkt_intersects.js +495 -0
  1158. data/misc/openlayers/tests/data/osm.js +14 -0
  1159. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/0.json +1 -0
  1160. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/1.json +1 -0
  1161. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/2.json +1 -0
  1162. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/0.json +1 -0
  1163. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/1.json +1 -0
  1164. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/2.json +1 -0
  1165. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/0.json +1 -0
  1166. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/1.json +1 -0
  1167. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/2.json +1 -0
  1168. data/misc/openlayers/tests/data/utfgrid/demo-1.1.json +1 -0
  1169. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/0.json +1 -0
  1170. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/1.json +1 -0
  1171. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/2.json +1 -0
  1172. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/0.json +1 -0
  1173. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/1.json +1 -0
  1174. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/2.json +1 -0
  1175. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/0.json +1 -0
  1176. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/1.json +1 -0
  1177. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/2.json +1 -0
  1178. data/misc/openlayers/tests/data_Layer_Text_textfile.txt +3 -0
  1179. data/misc/openlayers/tests/data_Layer_Text_textfile_2.txt +3 -0
  1180. data/misc/openlayers/tests/data_Layer_Text_textfile_overflow.txt +3 -0
  1181. data/misc/openlayers/tests/deprecated/Ajax.html +28 -0
  1182. data/misc/openlayers/tests/deprecated/BaseTypes/Class.html +142 -0
  1183. data/misc/openlayers/tests/deprecated/BaseTypes/Element.html +56 -0
  1184. data/misc/openlayers/tests/deprecated/Control/MouseToolbar.html +60 -0
  1185. data/misc/openlayers/tests/deprecated/Geometry/Rectangle.html +77 -0
  1186. data/misc/openlayers/tests/deprecated/Layer/GML.html +61 -0
  1187. data/misc/openlayers/tests/deprecated/Layer/MapServer/Untiled.html +158 -0
  1188. data/misc/openlayers/tests/deprecated/Layer/MapServer.html +59 -0
  1189. data/misc/openlayers/tests/deprecated/Layer/WFS.html +178 -0
  1190. data/misc/openlayers/tests/deprecated/Layer/WMS/Post.html +89 -0
  1191. data/misc/openlayers/tests/deprecated/Layer/WMS.html +60 -0
  1192. data/misc/openlayers/tests/deprecated/Layer/Yahoo.html +121 -0
  1193. data/misc/openlayers/tests/deprecated/Layer/mice.xml +156 -0
  1194. data/misc/openlayers/tests/deprecated/Layer/owls.xml +156 -0
  1195. data/misc/openlayers/tests/deprecated/Popup/AnchoredBubble.html +61 -0
  1196. data/misc/openlayers/tests/deprecated/Protocol/SQL/Gears.html +474 -0
  1197. data/misc/openlayers/tests/deprecated/Protocol/SQL.html +24 -0
  1198. data/misc/openlayers/tests/deprecated/Renderer/SVG2.html +399 -0
  1199. data/misc/openlayers/tests/deprecated/Tile/WFS.html +215 -0
  1200. data/misc/openlayers/tests/deprecated/Util.html +20 -0
  1201. data/misc/openlayers/tests/georss.txt +378 -0
  1202. data/misc/openlayers/tests/grid_inittiles.html +30 -0
  1203. data/misc/openlayers/tests/index.html +6 -0
  1204. data/misc/openlayers/tests/list-tests.html +260 -0
  1205. data/misc/openlayers/tests/manual/ajax.html +49 -0
  1206. data/misc/openlayers/tests/manual/ajax.txt +1 -0
  1207. data/misc/openlayers/tests/manual/alloverlays-mixed.html +55 -0
  1208. data/misc/openlayers/tests/manual/arcims-2117.html +103 -0
  1209. data/misc/openlayers/tests/manual/arkansas.rss +9 -0
  1210. data/misc/openlayers/tests/manual/big-georss.html +33 -0
  1211. data/misc/openlayers/tests/manual/box-quirks.html +52 -0
  1212. data/misc/openlayers/tests/manual/box-strict.html +46 -0
  1213. data/misc/openlayers/tests/manual/clip-features-svg.html +128 -0
  1214. data/misc/openlayers/tests/manual/dateline-sketch.html +66 -0
  1215. data/misc/openlayers/tests/manual/dateline-smallextent.html +61 -0
  1216. data/misc/openlayers/tests/manual/draw-feature.html +73 -0
  1217. data/misc/openlayers/tests/manual/feature-handler.html +126 -0
  1218. data/misc/openlayers/tests/manual/geodesic.html +160 -0
  1219. data/misc/openlayers/tests/manual/geojson-geomcoll-reprojection.html +74 -0
  1220. data/misc/openlayers/tests/manual/google-fullscreen-overlay.html +54 -0
  1221. data/misc/openlayers/tests/manual/google-panning.html +122 -0
  1222. data/misc/openlayers/tests/manual/google-resize.html +55 -0
  1223. data/misc/openlayers/tests/manual/google-tilt.html +37 -0
  1224. data/misc/openlayers/tests/manual/google-v3-resize.html +54 -0
  1225. data/misc/openlayers/tests/manual/loadend.html +73 -0
  1226. data/misc/openlayers/tests/manual/map-events.html +38 -0
  1227. data/misc/openlayers/tests/manual/memory/Marker-2258.html +60 -0
  1228. data/misc/openlayers/tests/manual/memory/PanZoom-2323.html +41 -0
  1229. data/misc/openlayers/tests/manual/memory/RemoveChild-2170.html +56 -0
  1230. data/misc/openlayers/tests/manual/memory/VML-2170.html +49 -0
  1231. data/misc/openlayers/tests/manual/multiple-google-layers.html +135 -0
  1232. data/misc/openlayers/tests/manual/overviewmap-projection.html +70 -0
  1233. data/misc/openlayers/tests/manual/page-position.html +103 -0
  1234. data/misc/openlayers/tests/manual/pan-redraw-svg.html +58 -0
  1235. data/misc/openlayers/tests/manual/popup-keepInMap.html +100 -0
  1236. data/misc/openlayers/tests/manual/reflow.html +59 -0
  1237. data/misc/openlayers/tests/manual/renderedDimensions.html +113 -0
  1238. data/misc/openlayers/tests/manual/select-feature-right-click.html +86 -0
  1239. data/misc/openlayers/tests/manual/select-feature.html +75 -0
  1240. data/misc/openlayers/tests/manual/tiles-loading.html +122 -0
  1241. data/misc/openlayers/tests/manual/tween.html +82 -0
  1242. data/misc/openlayers/tests/manual/vector-features-performance.html +149 -0
  1243. data/misc/openlayers/tests/manual/vector-layer-zindex.html +143 -0
  1244. data/misc/openlayers/tests/mice.xml +156 -0
  1245. data/misc/openlayers/tests/node.js/mockdom.js +104 -0
  1246. data/misc/openlayers/tests/node.js/node-tests.cfg +12 -0
  1247. data/misc/openlayers/tests/node.js/node.js +1 -0
  1248. data/misc/openlayers/tests/node.js/run-test.js +26 -0
  1249. data/misc/openlayers/tests/node.js/run.sh +10 -0
  1250. data/misc/openlayers/tests/owls.xml +156 -0
  1251. data/misc/openlayers/tests/run-tests.html +155 -0
  1252. data/misc/openlayers/tests/selenium/remotecontrol/config.cfg +48 -0
  1253. data/misc/openlayers/tests/selenium/remotecontrol/selenium.py +1846 -0
  1254. data/misc/openlayers/tests/selenium/remotecontrol/setup.txt +8 -0
  1255. data/misc/openlayers/tests/selenium/remotecontrol/test_ol.py +95 -0
  1256. data/misc/openlayers/tests/speed/geometry.html +43 -0
  1257. data/misc/openlayers/tests/speed/string_format.html +29 -0
  1258. data/misc/openlayers/tests/speed/vector-renderers.html +25 -0
  1259. data/misc/openlayers/tests/speed/vector-renderers.js +70 -0
  1260. data/misc/openlayers/tests/speed/wmc_speed.html +30 -0
  1261. data/misc/openlayers/tests/speed/wmscaps.html +52 -0
  1262. data/misc/openlayers/tests/speed/wmscaps.js +4956 -0
  1263. data/misc/openlayers/tests/speed/wmscaps.xml +4954 -0
  1264. data/misc/openlayers/tests/throws.js +82 -0
  1265. data/misc/openlayers/theme/default/google.css +9 -0
  1266. data/misc/openlayers/theme/default/google.tidy.css +1 -0
  1267. data/misc/openlayers/theme/default/ie6-style.css +10 -0
  1268. data/misc/openlayers/theme/default/ie6-style.tidy.css +1 -0
  1269. data/misc/openlayers/theme/default/img/add_point_off.png +0 -0
  1270. data/misc/openlayers/theme/default/img/add_point_on.png +0 -0
  1271. data/misc/openlayers/theme/default/img/blank.gif +0 -0
  1272. data/misc/openlayers/theme/default/img/close.gif +0 -0
  1273. data/misc/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  1274. data/misc/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  1275. data/misc/openlayers/theme/default/img/draw_line_off.png +0 -0
  1276. data/misc/openlayers/theme/default/img/draw_line_on.png +0 -0
  1277. data/misc/openlayers/theme/default/img/draw_point_off.png +0 -0
  1278. data/misc/openlayers/theme/default/img/draw_point_on.png +0 -0
  1279. data/misc/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  1280. data/misc/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  1281. data/misc/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  1282. data/misc/openlayers/theme/default/img/move_feature_off.png +0 -0
  1283. data/misc/openlayers/theme/default/img/move_feature_on.png +0 -0
  1284. data/misc/openlayers/theme/default/img/navigation_history.png +0 -0
  1285. data/misc/openlayers/theme/default/img/overview_replacement.gif +0 -0
  1286. data/misc/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  1287. data/misc/openlayers/theme/default/img/pan-panel.png +0 -0
  1288. data/misc/openlayers/theme/default/img/pan_off.png +0 -0
  1289. data/misc/openlayers/theme/default/img/pan_on.png +0 -0
  1290. data/misc/openlayers/theme/default/img/panning-hand-off.png +0 -0
  1291. data/misc/openlayers/theme/default/img/panning-hand-on.png +0 -0
  1292. data/misc/openlayers/theme/default/img/remove_point_off.png +0 -0
  1293. data/misc/openlayers/theme/default/img/remove_point_on.png +0 -0
  1294. data/misc/openlayers/theme/default/img/ruler.png +0 -0
  1295. data/misc/openlayers/theme/default/img/save_features_off.png +0 -0
  1296. data/misc/openlayers/theme/default/img/save_features_on.png +0 -0
  1297. data/misc/openlayers/theme/default/img/view_next_off.png +0 -0
  1298. data/misc/openlayers/theme/default/img/view_next_on.png +0 -0
  1299. data/misc/openlayers/theme/default/img/view_previous_off.png +0 -0
  1300. data/misc/openlayers/theme/default/img/view_previous_on.png +0 -0
  1301. data/misc/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  1302. data/misc/openlayers/theme/default/img/zoom-panel.png +0 -0
  1303. data/misc/openlayers/theme/default/style.css +516 -0
  1304. data/misc/openlayers/theme/default/style.mobile.css +70 -0
  1305. data/misc/openlayers/theme/default/style.mobile.tidy.css +1 -0
  1306. data/misc/openlayers/theme/default/style.tidy.css +1 -0
  1307. data/misc/openlayers/tools/BeautifulSoup.py +1767 -0
  1308. data/misc/openlayers/tools/README.txt +14 -0
  1309. data/misc/openlayers/tools/closure_library_jscompiler.py +71 -0
  1310. data/misc/openlayers/tools/closure_ws.py +28 -0
  1311. data/misc/openlayers/tools/exampleparser.py +251 -0
  1312. data/misc/openlayers/tools/jsmin.c +272 -0
  1313. data/misc/openlayers/tools/jsmin.py +216 -0
  1314. data/misc/openlayers/tools/mergejs.py +287 -0
  1315. data/misc/openlayers/tools/minimize.py +47 -0
  1316. data/misc/openlayers/tools/oldot.py +43 -0
  1317. data/misc/openlayers/tools/release.sh +71 -0
  1318. data/misc/openlayers/tools/shrinksafe.py +54 -0
  1319. data/misc/openlayers/tools/toposort.py +35 -0
  1320. data/misc/openlayers/tools/uglify_js.py +35 -0
  1321. data/misc/openlayers/tools/update_dev_dir.sh +103 -0
  1322. metadata +1320 -2
@@ -0,0 +1,820 @@
1
+ /* Flot plugin for rendering pie charts.
2
+
3
+ Copyright (c) 2007-2014 IOLA and Ole Laursen.
4
+ Licensed under the MIT license.
5
+
6
+ The plugin assumes that each series has a single data value, and that each
7
+ value is a positive integer or zero. Negative numbers don't make sense for a
8
+ pie chart, and have unpredictable results. The values do NOT need to be
9
+ passed in as percentages; the plugin will calculate the total and per-slice
10
+ percentages internally.
11
+
12
+ * Created by Brian Medendorp
13
+
14
+ * Updated with contributions from btburnett3, Anthony Aragues and Xavi Ivars
15
+
16
+ The plugin supports these options:
17
+
18
+ series: {
19
+ pie: {
20
+ show: true/false
21
+ radius: 0-1 for percentage of fullsize, or a specified pixel length, or 'auto'
22
+ innerRadius: 0-1 for percentage of fullsize or a specified pixel length, for creating a donut effect
23
+ startAngle: 0-2 factor of PI used for starting angle (in radians) i.e 3/2 starts at the top, 0 and 2 have the same result
24
+ tilt: 0-1 for percentage to tilt the pie, where 1 is no tilt, and 0 is completely flat (nothing will show)
25
+ offset: {
26
+ top: integer value to move the pie up or down
27
+ left: integer value to move the pie left or right, or 'auto'
28
+ },
29
+ stroke: {
30
+ color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#FFF')
31
+ width: integer pixel width of the stroke
32
+ },
33
+ label: {
34
+ show: true/false, or 'auto'
35
+ formatter: a user-defined function that modifies the text/style of the label text
36
+ radius: 0-1 for percentage of fullsize, or a specified pixel length
37
+ background: {
38
+ color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#000')
39
+ opacity: 0-1
40
+ },
41
+ threshold: 0-1 for the percentage value at which to hide labels (if they're too small)
42
+ },
43
+ combine: {
44
+ threshold: 0-1 for the percentage value at which to combine slices (if they're too small)
45
+ color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#CCC'), if null, the plugin will automatically use the color of the first slice to be combined
46
+ label: any text value of what the combined slice should be labeled
47
+ }
48
+ highlight: {
49
+ opacity: 0-1
50
+ }
51
+ }
52
+ }
53
+
54
+ More detail and specific examples can be found in the included HTML file.
55
+
56
+ */
57
+
58
+ (function($) {
59
+
60
+ // Maximum redraw attempts when fitting labels within the plot
61
+
62
+ var REDRAW_ATTEMPTS = 10;
63
+
64
+ // Factor by which to shrink the pie when fitting labels within the plot
65
+
66
+ var REDRAW_SHRINK = 0.95;
67
+
68
+ function init(plot) {
69
+
70
+ var canvas = null,
71
+ target = null,
72
+ options = null,
73
+ maxRadius = null,
74
+ centerLeft = null,
75
+ centerTop = null,
76
+ processed = false,
77
+ ctx = null;
78
+
79
+ // interactive variables
80
+
81
+ var highlights = [];
82
+
83
+ // add hook to determine if pie plugin in enabled, and then perform necessary operations
84
+
85
+ plot.hooks.processOptions.push(function(plot, options) {
86
+ if (options.series.pie.show) {
87
+
88
+ options.grid.show = false;
89
+
90
+ // set labels.show
91
+
92
+ if (options.series.pie.label.show == "auto") {
93
+ if (options.legend.show) {
94
+ options.series.pie.label.show = false;
95
+ } else {
96
+ options.series.pie.label.show = true;
97
+ }
98
+ }
99
+
100
+ // set radius
101
+
102
+ if (options.series.pie.radius == "auto") {
103
+ if (options.series.pie.label.show) {
104
+ options.series.pie.radius = 3/4;
105
+ } else {
106
+ options.series.pie.radius = 1;
107
+ }
108
+ }
109
+
110
+ // ensure sane tilt
111
+
112
+ if (options.series.pie.tilt > 1) {
113
+ options.series.pie.tilt = 1;
114
+ } else if (options.series.pie.tilt < 0) {
115
+ options.series.pie.tilt = 0;
116
+ }
117
+ }
118
+ });
119
+
120
+ plot.hooks.bindEvents.push(function(plot, eventHolder) {
121
+ var options = plot.getOptions();
122
+ if (options.series.pie.show) {
123
+ if (options.grid.hoverable) {
124
+ eventHolder.unbind("mousemove").mousemove(onMouseMove);
125
+ }
126
+ if (options.grid.clickable) {
127
+ eventHolder.unbind("click").click(onClick);
128
+ }
129
+ }
130
+ });
131
+
132
+ plot.hooks.processDatapoints.push(function(plot, series, data, datapoints) {
133
+ var options = plot.getOptions();
134
+ if (options.series.pie.show) {
135
+ processDatapoints(plot, series, data, datapoints);
136
+ }
137
+ });
138
+
139
+ plot.hooks.drawOverlay.push(function(plot, octx) {
140
+ var options = plot.getOptions();
141
+ if (options.series.pie.show) {
142
+ drawOverlay(plot, octx);
143
+ }
144
+ });
145
+
146
+ plot.hooks.draw.push(function(plot, newCtx) {
147
+ var options = plot.getOptions();
148
+ if (options.series.pie.show) {
149
+ draw(plot, newCtx);
150
+ }
151
+ });
152
+
153
+ function processDatapoints(plot, series, datapoints) {
154
+ if (!processed) {
155
+ processed = true;
156
+ canvas = plot.getCanvas();
157
+ target = $(canvas).parent();
158
+ options = plot.getOptions();
159
+ plot.setData(combine(plot.getData()));
160
+ }
161
+ }
162
+
163
+ function combine(data) {
164
+
165
+ var total = 0,
166
+ combined = 0,
167
+ numCombined = 0,
168
+ color = options.series.pie.combine.color,
169
+ newdata = [];
170
+
171
+ // Fix up the raw data from Flot, ensuring the data is numeric
172
+
173
+ for (var i = 0; i < data.length; ++i) {
174
+
175
+ var value = data[i].data;
176
+
177
+ // If the data is an array, we'll assume that it's a standard
178
+ // Flot x-y pair, and are concerned only with the second value.
179
+
180
+ // Note how we use the original array, rather than creating a
181
+ // new one; this is more efficient and preserves any extra data
182
+ // that the user may have stored in higher indexes.
183
+
184
+ if ($.isArray(value) && value.length == 1) {
185
+ value = value[0];
186
+ }
187
+
188
+ if ($.isArray(value)) {
189
+ // Equivalent to $.isNumeric() but compatible with jQuery < 1.7
190
+ if (!isNaN(parseFloat(value[1])) && isFinite(value[1])) {
191
+ value[1] = +value[1];
192
+ } else {
193
+ value[1] = 0;
194
+ }
195
+ } else if (!isNaN(parseFloat(value)) && isFinite(value)) {
196
+ value = [1, +value];
197
+ } else {
198
+ value = [1, 0];
199
+ }
200
+
201
+ data[i].data = [value];
202
+ }
203
+
204
+ // Sum up all the slices, so we can calculate percentages for each
205
+
206
+ for (var i = 0; i < data.length; ++i) {
207
+ total += data[i].data[0][1];
208
+ }
209
+
210
+ // Count the number of slices with percentages below the combine
211
+ // threshold; if it turns out to be just one, we won't combine.
212
+
213
+ for (var i = 0; i < data.length; ++i) {
214
+ var value = data[i].data[0][1];
215
+ if (value / total <= options.series.pie.combine.threshold) {
216
+ combined += value;
217
+ numCombined++;
218
+ if (!color) {
219
+ color = data[i].color;
220
+ }
221
+ }
222
+ }
223
+
224
+ for (var i = 0; i < data.length; ++i) {
225
+ var value = data[i].data[0][1];
226
+ if (numCombined < 2 || value / total > options.series.pie.combine.threshold) {
227
+ newdata.push(
228
+ $.extend(data[i], { /* extend to allow keeping all other original data values
229
+ and using them e.g. in labelFormatter. */
230
+ data: [[1, value]],
231
+ color: data[i].color,
232
+ label: data[i].label,
233
+ angle: value * Math.PI * 2 / total,
234
+ percent: value / (total / 100)
235
+ })
236
+ );
237
+ }
238
+ }
239
+
240
+ if (numCombined > 1) {
241
+ newdata.push({
242
+ data: [[1, combined]],
243
+ color: color,
244
+ label: options.series.pie.combine.label,
245
+ angle: combined * Math.PI * 2 / total,
246
+ percent: combined / (total / 100)
247
+ });
248
+ }
249
+
250
+ return newdata;
251
+ }
252
+
253
+ function draw(plot, newCtx) {
254
+
255
+ if (!target) {
256
+ return; // if no series were passed
257
+ }
258
+
259
+ var canvasWidth = plot.getPlaceholder().width(),
260
+ canvasHeight = plot.getPlaceholder().height(),
261
+ legendWidth = target.children().filter(".legend").children().width() || 0;
262
+
263
+ ctx = newCtx;
264
+
265
+ // WARNING: HACK! REWRITE THIS CODE AS SOON AS POSSIBLE!
266
+
267
+ // When combining smaller slices into an 'other' slice, we need to
268
+ // add a new series. Since Flot gives plugins no way to modify the
269
+ // list of series, the pie plugin uses a hack where the first call
270
+ // to processDatapoints results in a call to setData with the new
271
+ // list of series, then subsequent processDatapoints do nothing.
272
+
273
+ // The plugin-global 'processed' flag is used to control this hack;
274
+ // it starts out false, and is set to true after the first call to
275
+ // processDatapoints.
276
+
277
+ // Unfortunately this turns future setData calls into no-ops; they
278
+ // call processDatapoints, the flag is true, and nothing happens.
279
+
280
+ // To fix this we'll set the flag back to false here in draw, when
281
+ // all series have been processed, so the next sequence of calls to
282
+ // processDatapoints once again starts out with a slice-combine.
283
+ // This is really a hack; in 0.9 we need to give plugins a proper
284
+ // way to modify series before any processing begins.
285
+
286
+ processed = false;
287
+
288
+ // calculate maximum radius and center point
289
+
290
+ maxRadius = Math.min(canvasWidth, canvasHeight / options.series.pie.tilt) / 2;
291
+ centerTop = canvasHeight / 2 + options.series.pie.offset.top;
292
+ centerLeft = canvasWidth / 2;
293
+
294
+ if (options.series.pie.offset.left == "auto") {
295
+ if (options.legend.position.match("w")) {
296
+ centerLeft += legendWidth / 2;
297
+ } else {
298
+ centerLeft -= legendWidth / 2;
299
+ }
300
+ if (centerLeft < maxRadius) {
301
+ centerLeft = maxRadius;
302
+ } else if (centerLeft > canvasWidth - maxRadius) {
303
+ centerLeft = canvasWidth - maxRadius;
304
+ }
305
+ } else {
306
+ centerLeft += options.series.pie.offset.left;
307
+ }
308
+
309
+ var slices = plot.getData(),
310
+ attempts = 0;
311
+
312
+ // Keep shrinking the pie's radius until drawPie returns true,
313
+ // indicating that all the labels fit, or we try too many times.
314
+
315
+ do {
316
+ if (attempts > 0) {
317
+ maxRadius *= REDRAW_SHRINK;
318
+ }
319
+ attempts += 1;
320
+ clear();
321
+ if (options.series.pie.tilt <= 0.8) {
322
+ drawShadow();
323
+ }
324
+ } while (!drawPie() && attempts < REDRAW_ATTEMPTS)
325
+
326
+ if (attempts >= REDRAW_ATTEMPTS) {
327
+ clear();
328
+ target.prepend("<div class='error'>Could not draw pie with labels contained inside canvas</div>");
329
+ }
330
+
331
+ if (plot.setSeries && plot.insertLegend) {
332
+ plot.setSeries(slices);
333
+ plot.insertLegend();
334
+ }
335
+
336
+ // we're actually done at this point, just defining internal functions at this point
337
+
338
+ function clear() {
339
+ ctx.clearRect(0, 0, canvasWidth, canvasHeight);
340
+ target.children().filter(".pieLabel, .pieLabelBackground").remove();
341
+ }
342
+
343
+ function drawShadow() {
344
+
345
+ var shadowLeft = options.series.pie.shadow.left;
346
+ var shadowTop = options.series.pie.shadow.top;
347
+ var edge = 10;
348
+ var alpha = options.series.pie.shadow.alpha;
349
+ var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
350
+
351
+ if (radius >= canvasWidth / 2 - shadowLeft || radius * options.series.pie.tilt >= canvasHeight / 2 - shadowTop || radius <= edge) {
352
+ return; // shadow would be outside canvas, so don't draw it
353
+ }
354
+
355
+ ctx.save();
356
+ ctx.translate(shadowLeft,shadowTop);
357
+ ctx.globalAlpha = alpha;
358
+ ctx.fillStyle = "#000";
359
+
360
+ // center and rotate to starting position
361
+
362
+ ctx.translate(centerLeft,centerTop);
363
+ ctx.scale(1, options.series.pie.tilt);
364
+
365
+ //radius -= edge;
366
+
367
+ for (var i = 1; i <= edge; i++) {
368
+ ctx.beginPath();
369
+ ctx.arc(0, 0, radius, 0, Math.PI * 2, false);
370
+ ctx.fill();
371
+ radius -= i;
372
+ }
373
+
374
+ ctx.restore();
375
+ }
376
+
377
+ function drawPie() {
378
+
379
+ var startAngle = Math.PI * options.series.pie.startAngle;
380
+ var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
381
+
382
+ // center and rotate to starting position
383
+
384
+ ctx.save();
385
+ ctx.translate(centerLeft,centerTop);
386
+ ctx.scale(1, options.series.pie.tilt);
387
+ //ctx.rotate(startAngle); // start at top; -- This doesn't work properly in Opera
388
+
389
+ // draw slices
390
+
391
+ ctx.save();
392
+ var currentAngle = startAngle;
393
+ for (var i = 0; i < slices.length; ++i) {
394
+ slices[i].startAngle = currentAngle;
395
+ drawSlice(slices[i].angle, slices[i].color, true);
396
+ }
397
+ ctx.restore();
398
+
399
+ // draw slice outlines
400
+
401
+ if (options.series.pie.stroke.width > 0) {
402
+ ctx.save();
403
+ ctx.lineWidth = options.series.pie.stroke.width;
404
+ currentAngle = startAngle;
405
+ for (var i = 0; i < slices.length; ++i) {
406
+ drawSlice(slices[i].angle, options.series.pie.stroke.color, false);
407
+ }
408
+ ctx.restore();
409
+ }
410
+
411
+ // draw donut hole
412
+
413
+ drawDonutHole(ctx);
414
+
415
+ ctx.restore();
416
+
417
+ // Draw the labels, returning true if they fit within the plot
418
+
419
+ if (options.series.pie.label.show) {
420
+ return drawLabels();
421
+ } else return true;
422
+
423
+ function drawSlice(angle, color, fill) {
424
+
425
+ if (angle <= 0 || isNaN(angle)) {
426
+ return;
427
+ }
428
+
429
+ if (fill) {
430
+ ctx.fillStyle = color;
431
+ } else {
432
+ ctx.strokeStyle = color;
433
+ ctx.lineJoin = "round";
434
+ }
435
+
436
+ ctx.beginPath();
437
+ if (Math.abs(angle - Math.PI * 2) > 0.000000001) {
438
+ ctx.moveTo(0, 0); // Center of the pie
439
+ }
440
+
441
+ //ctx.arc(0, 0, radius, 0, angle, false); // This doesn't work properly in Opera
442
+ ctx.arc(0, 0, radius,currentAngle, currentAngle + angle / 2, false);
443
+ ctx.arc(0, 0, radius,currentAngle + angle / 2, currentAngle + angle, false);
444
+ ctx.closePath();
445
+ //ctx.rotate(angle); // This doesn't work properly in Opera
446
+ currentAngle += angle;
447
+
448
+ if (fill) {
449
+ ctx.fill();
450
+ } else {
451
+ ctx.stroke();
452
+ }
453
+ }
454
+
455
+ function drawLabels() {
456
+
457
+ var currentAngle = startAngle;
458
+ var radius = options.series.pie.label.radius > 1 ? options.series.pie.label.radius : maxRadius * options.series.pie.label.radius;
459
+
460
+ for (var i = 0; i < slices.length; ++i) {
461
+ if (slices[i].percent >= options.series.pie.label.threshold * 100) {
462
+ if (!drawLabel(slices[i], currentAngle, i)) {
463
+ return false;
464
+ }
465
+ }
466
+ currentAngle += slices[i].angle;
467
+ }
468
+
469
+ return true;
470
+
471
+ function drawLabel(slice, startAngle, index) {
472
+
473
+ if (slice.data[0][1] == 0) {
474
+ return true;
475
+ }
476
+
477
+ // format label text
478
+
479
+ var lf = options.legend.labelFormatter, text, plf = options.series.pie.label.formatter;
480
+
481
+ if (lf) {
482
+ text = lf(slice.label, slice);
483
+ } else {
484
+ text = slice.label;
485
+ }
486
+
487
+ if (plf) {
488
+ text = plf(text, slice);
489
+ }
490
+
491
+ var halfAngle = ((startAngle + slice.angle) + startAngle) / 2;
492
+ var x = centerLeft + Math.round(Math.cos(halfAngle) * radius);
493
+ var y = centerTop + Math.round(Math.sin(halfAngle) * radius) * options.series.pie.tilt;
494
+
495
+ var html = "<span class='pieLabel' id='pieLabel" + index + "' style='position:absolute;top:" + y + "px;left:" + x + "px;'>" + text + "</span>";
496
+ target.append(html);
497
+
498
+ var label = target.children("#pieLabel" + index);
499
+ var labelTop = (y - label.height() / 2);
500
+ var labelLeft = (x - label.width() / 2);
501
+
502
+ label.css("top", labelTop);
503
+ label.css("left", labelLeft);
504
+
505
+ // check to make sure that the label is not outside the canvas
506
+
507
+ if (0 - labelTop > 0 || 0 - labelLeft > 0 || canvasHeight - (labelTop + label.height()) < 0 || canvasWidth - (labelLeft + label.width()) < 0) {
508
+ return false;
509
+ }
510
+
511
+ if (options.series.pie.label.background.opacity != 0) {
512
+
513
+ // put in the transparent background separately to avoid blended labels and label boxes
514
+
515
+ var c = options.series.pie.label.background.color;
516
+
517
+ if (c == null) {
518
+ c = slice.color;
519
+ }
520
+
521
+ var pos = "top:" + labelTop + "px;left:" + labelLeft + "px;";
522
+ $("<div class='pieLabelBackground' style='position:absolute;width:" + label.width() + "px;height:" + label.height() + "px;" + pos + "background-color:" + c + ";'></div>")
523
+ .css("opacity", options.series.pie.label.background.opacity)
524
+ .insertBefore(label);
525
+ }
526
+
527
+ return true;
528
+ } // end individual label function
529
+ } // end drawLabels function
530
+ } // end drawPie function
531
+ } // end draw function
532
+
533
+ // Placed here because it needs to be accessed from multiple locations
534
+
535
+ function drawDonutHole(layer) {
536
+ if (options.series.pie.innerRadius > 0) {
537
+
538
+ // subtract the center
539
+
540
+ layer.save();
541
+ var innerRadius = options.series.pie.innerRadius > 1 ? options.series.pie.innerRadius : maxRadius * options.series.pie.innerRadius;
542
+ layer.globalCompositeOperation = "destination-out"; // this does not work with excanvas, but it will fall back to using the stroke color
543
+ layer.beginPath();
544
+ layer.fillStyle = options.series.pie.stroke.color;
545
+ layer.arc(0, 0, innerRadius, 0, Math.PI * 2, false);
546
+ layer.fill();
547
+ layer.closePath();
548
+ layer.restore();
549
+
550
+ // add inner stroke
551
+
552
+ layer.save();
553
+ layer.beginPath();
554
+ layer.strokeStyle = options.series.pie.stroke.color;
555
+ layer.arc(0, 0, innerRadius, 0, Math.PI * 2, false);
556
+ layer.stroke();
557
+ layer.closePath();
558
+ layer.restore();
559
+
560
+ // TODO: add extra shadow inside hole (with a mask) if the pie is tilted.
561
+ }
562
+ }
563
+
564
+ //-- Additional Interactive related functions --
565
+
566
+ function isPointInPoly(poly, pt) {
567
+ for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
568
+ ((poly[i][1] <= pt[1] && pt[1] < poly[j][1]) || (poly[j][1] <= pt[1] && pt[1]< poly[i][1]))
569
+ && (pt[0] < (poly[j][0] - poly[i][0]) * (pt[1] - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0])
570
+ && (c = !c);
571
+ return c;
572
+ }
573
+
574
+ function findNearbySlice(mouseX, mouseY) {
575
+
576
+ var slices = plot.getData(),
577
+ options = plot.getOptions(),
578
+ radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius,
579
+ x, y;
580
+
581
+ for (var i = 0; i < slices.length; ++i) {
582
+
583
+ var s = slices[i];
584
+
585
+ if (s.pie.show) {
586
+
587
+ ctx.save();
588
+ ctx.beginPath();
589
+ ctx.moveTo(0, 0); // Center of the pie
590
+ //ctx.scale(1, options.series.pie.tilt); // this actually seems to break everything when here.
591
+ ctx.arc(0, 0, radius, s.startAngle, s.startAngle + s.angle / 2, false);
592
+ ctx.arc(0, 0, radius, s.startAngle + s.angle / 2, s.startAngle + s.angle, false);
593
+ ctx.closePath();
594
+ x = mouseX - centerLeft;
595
+ y = mouseY - centerTop;
596
+
597
+ if (ctx.isPointInPath) {
598
+ if (ctx.isPointInPath(mouseX - centerLeft, mouseY - centerTop)) {
599
+ ctx.restore();
600
+ return {
601
+ datapoint: [s.percent, s.data],
602
+ dataIndex: 0,
603
+ series: s,
604
+ seriesIndex: i
605
+ };
606
+ }
607
+ } else {
608
+
609
+ // excanvas for IE doesn;t support isPointInPath, this is a workaround.
610
+
611
+ var p1X = radius * Math.cos(s.startAngle),
612
+ p1Y = radius * Math.sin(s.startAngle),
613
+ p2X = radius * Math.cos(s.startAngle + s.angle / 4),
614
+ p2Y = radius * Math.sin(s.startAngle + s.angle / 4),
615
+ p3X = radius * Math.cos(s.startAngle + s.angle / 2),
616
+ p3Y = radius * Math.sin(s.startAngle + s.angle / 2),
617
+ p4X = radius * Math.cos(s.startAngle + s.angle / 1.5),
618
+ p4Y = radius * Math.sin(s.startAngle + s.angle / 1.5),
619
+ p5X = radius * Math.cos(s.startAngle + s.angle),
620
+ p5Y = radius * Math.sin(s.startAngle + s.angle),
621
+ arrPoly = [[0, 0], [p1X, p1Y], [p2X, p2Y], [p3X, p3Y], [p4X, p4Y], [p5X, p5Y]],
622
+ arrPoint = [x, y];
623
+
624
+ // TODO: perhaps do some mathmatical trickery here with the Y-coordinate to compensate for pie tilt?
625
+
626
+ if (isPointInPoly(arrPoly, arrPoint)) {
627
+ ctx.restore();
628
+ return {
629
+ datapoint: [s.percent, s.data],
630
+ dataIndex: 0,
631
+ series: s,
632
+ seriesIndex: i
633
+ };
634
+ }
635
+ }
636
+
637
+ ctx.restore();
638
+ }
639
+ }
640
+
641
+ return null;
642
+ }
643
+
644
+ function onMouseMove(e) {
645
+ triggerClickHoverEvent("plothover", e);
646
+ }
647
+
648
+ function onClick(e) {
649
+ triggerClickHoverEvent("plotclick", e);
650
+ }
651
+
652
+ // trigger click or hover event (they send the same parameters so we share their code)
653
+
654
+ function triggerClickHoverEvent(eventname, e) {
655
+
656
+ var offset = plot.offset();
657
+ var canvasX = parseInt(e.pageX - offset.left);
658
+ var canvasY = parseInt(e.pageY - offset.top);
659
+ var item = findNearbySlice(canvasX, canvasY);
660
+
661
+ if (options.grid.autoHighlight) {
662
+
663
+ // clear auto-highlights
664
+
665
+ for (var i = 0; i < highlights.length; ++i) {
666
+ var h = highlights[i];
667
+ if (h.auto == eventname && !(item && h.series == item.series)) {
668
+ unhighlight(h.series);
669
+ }
670
+ }
671
+ }
672
+
673
+ // highlight the slice
674
+
675
+ if (item) {
676
+ highlight(item.series, eventname);
677
+ }
678
+
679
+ // trigger any hover bind events
680
+
681
+ var pos = { pageX: e.pageX, pageY: e.pageY };
682
+ target.trigger(eventname, [pos, item]);
683
+ }
684
+
685
+ function highlight(s, auto) {
686
+ //if (typeof s == "number") {
687
+ // s = series[s];
688
+ //}
689
+
690
+ var i = indexOfHighlight(s);
691
+
692
+ if (i == -1) {
693
+ highlights.push({ series: s, auto: auto });
694
+ plot.triggerRedrawOverlay();
695
+ } else if (!auto) {
696
+ highlights[i].auto = false;
697
+ }
698
+ }
699
+
700
+ function unhighlight(s) {
701
+ if (s == null) {
702
+ highlights = [];
703
+ plot.triggerRedrawOverlay();
704
+ }
705
+
706
+ //if (typeof s == "number") {
707
+ // s = series[s];
708
+ //}
709
+
710
+ var i = indexOfHighlight(s);
711
+
712
+ if (i != -1) {
713
+ highlights.splice(i, 1);
714
+ plot.triggerRedrawOverlay();
715
+ }
716
+ }
717
+
718
+ function indexOfHighlight(s) {
719
+ for (var i = 0; i < highlights.length; ++i) {
720
+ var h = highlights[i];
721
+ if (h.series == s)
722
+ return i;
723
+ }
724
+ return -1;
725
+ }
726
+
727
+ function drawOverlay(plot, octx) {
728
+
729
+ var options = plot.getOptions();
730
+
731
+ var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
732
+
733
+ octx.save();
734
+ octx.translate(centerLeft, centerTop);
735
+ octx.scale(1, options.series.pie.tilt);
736
+
737
+ for (var i = 0; i < highlights.length; ++i) {
738
+ drawHighlight(highlights[i].series);
739
+ }
740
+
741
+ drawDonutHole(octx);
742
+
743
+ octx.restore();
744
+
745
+ function drawHighlight(series) {
746
+
747
+ if (series.angle <= 0 || isNaN(series.angle)) {
748
+ return;
749
+ }
750
+
751
+ //octx.fillStyle = parseColor(options.series.pie.highlight.color).scale(null, null, null, options.series.pie.highlight.opacity).toString();
752
+ octx.fillStyle = "rgba(255, 255, 255, " + options.series.pie.highlight.opacity + ")"; // this is temporary until we have access to parseColor
753
+ octx.beginPath();
754
+ if (Math.abs(series.angle - Math.PI * 2) > 0.000000001) {
755
+ octx.moveTo(0, 0); // Center of the pie
756
+ }
757
+ octx.arc(0, 0, radius, series.startAngle, series.startAngle + series.angle / 2, false);
758
+ octx.arc(0, 0, radius, series.startAngle + series.angle / 2, series.startAngle + series.angle, false);
759
+ octx.closePath();
760
+ octx.fill();
761
+ }
762
+ }
763
+ } // end init (plugin body)
764
+
765
+ // define pie specific options and their default values
766
+
767
+ var options = {
768
+ series: {
769
+ pie: {
770
+ show: false,
771
+ radius: "auto", // actual radius of the visible pie (based on full calculated radius if <=1, or hard pixel value)
772
+ innerRadius: 0, /* for donut */
773
+ startAngle: 3/2,
774
+ tilt: 1,
775
+ shadow: {
776
+ left: 5, // shadow left offset
777
+ top: 15, // shadow top offset
778
+ alpha: 0.02 // shadow alpha
779
+ },
780
+ offset: {
781
+ top: 0,
782
+ left: "auto"
783
+ },
784
+ stroke: {
785
+ color: "#fff",
786
+ width: 1
787
+ },
788
+ label: {
789
+ show: "auto",
790
+ formatter: function(label, slice) {
791
+ return "<div style='font-size:x-small;text-align:center;padding:2px;color:" + slice.color + ";'>" + label + "<br/>" + Math.round(slice.percent) + "%</div>";
792
+ }, // formatter function
793
+ radius: 1, // radius at which to place the labels (based on full calculated radius if <=1, or hard pixel value)
794
+ background: {
795
+ color: null,
796
+ opacity: 0
797
+ },
798
+ threshold: 0 // percentage at which to hide the label (i.e. the slice is too narrow)
799
+ },
800
+ combine: {
801
+ threshold: -1, // percentage at which to combine little slices into one larger slice
802
+ color: null, // color to give the new slice (auto-generated if null)
803
+ label: "Other" // label to give the new slice
804
+ },
805
+ highlight: {
806
+ //color: "#fff", // will add this functionality once parseColor is available
807
+ opacity: 0.5
808
+ }
809
+ }
810
+ }
811
+ };
812
+
813
+ $.plot.plugins.push({
814
+ init: init,
815
+ options: options,
816
+ name: "pie",
817
+ version: "1.1"
818
+ });
819
+
820
+ })(jQuery);