Commit Graph

117 Commits

Author SHA1 Message Date
ahocevar
127cce7973 Fix the pointer index
It has to point to the end of the current block, not to the
beginning of the next block. See L581.
2014-03-10 18:18:41 +01:00
Andreas Hocevar
97da6b4874 Merge pull request #1824 from ahocevar/replay-hit-detection
Iterating through the hit detection replay batch fails when geometryRenderFunction returns false
2014-03-10 12:38:25 +01:00
ahocevar
c6ba9787b5 Update the pointer to the next block when reversing
Just reversing the array is not enough, the pointers to the
beginning of the next block must be changed to the reversed
array index.
2014-03-10 12:37:45 +01:00
Tim Schaub
8317317127 Always add first segment when appending coordinates
When we have only a single point, we want to make sure it gets added (fixes #1821).

Because this code doesn't differentiate coordinates that are part of a linestring or linearring from those that are independent points, we always add the first segment (or pair of points).  In addition, coordinates for segments are appended whenever they represent a change in relationship with respect to the extent.  This keeps the code simpler for handling fills and properly capturing intersection points for linestrings.  This could be modified to save a few extra coordinates, but it provides for simpler code at a very minimal cost.
2014-03-07 11:02:25 -07:00
Tim Schaub
50001132be Transform extent coordinates before clipping 2014-03-05 13:27:40 -07:00
Tim Schaub
2750f53fda Clip to max extent 2014-02-25 21:47:57 -07:00
Tim Schaub
50822a4d58 Skip coordinates that don't affect the rendered extent
Segments that intersect the replay group's extent are drawn.  Any segment that represents a change in coordinate-extent relationship is drawn.  This maintains the left/right relationship (or cross product) between points in the rendered extent and every rendered segment.

Still left undone: clip the replay group's rendering to the max extent.
2014-02-25 21:47:57 -07:00
Tim Schaub
f4746687e8 Keep track of max extent for replay 2014-02-25 21:47:57 -07:00
Tom Payne
7a34929b15 Rename rotateWithMap to rotateWithView 2014-02-21 14:32:06 +01:00
Tom Payne
222fafcb77 Activate rotateWithMap option in ol.render.canvas.Replay 2014-02-21 11:57:11 +01:00
Tom Payne
fe420ce1eb Pass view rotation to replay 2014-02-21 11:56:34 +01:00
Frederic Junod
fca0942c30 Handle image opacity in ol.render.canvas.ImageReplay 2014-02-19 11:40:40 +01:00
Tom Payne
5cc3983cdb Fix handling of line dash state in ol.render.canvas.Replay 2014-02-12 17:59:11 +01:00
Tom Payne
a74da436d2 Use ol.BrowserFeature.HAS_CANVAS_LINE_DASH in ol.render.canvas.Replay 2014-02-12 17:57:29 +01:00
Tom Payne
09d5d31fc7 Rename ol.render.IRender to ol.render.IVectorContext 2014-02-06 18:03:27 +01:00
Tom Payne
b6a7bc1248 Add ol.render.canvas.TextReplay 2014-02-03 15:49:06 +01:00
Tom Payne
f24bd65f40 Add ol.render.canvas.Instruction.SET_TEXT_STYLE 2014-02-03 15:49:06 +01:00
Tom Payne
c29b88c0e2 Add ol.render.canvas.Instruction.DRAW_TEXT 2014-02-03 15:49:06 +01:00
Tom Payne
090e3cbdd6 Add ol.render.IRender#drawText 2014-02-03 15:49:04 +01:00
Tom Payne
ffc27719ea Use oriented rings where needed 2014-01-21 16:11:53 +01:00
Tom Payne
6552046aa0 Use oriented rings where needed 2014-01-21 16:11:52 +01:00
Tom Payne
50a322208a Merge pull request #1514 from twpayne/vector-api-circle
[vector-api] Add ol.geom.Circle
2014-01-14 03:46:48 -08:00
Tom Payne
825c5290f6 Add ol.render.canvas.PolygonReplay#drawCircleGeometry 2014-01-14 12:34:46 +01:00
Tom Payne
5052bef4a5 Add ol.replay.canvas.Instruction.CIRCLE 2014-01-14 12:34:46 +01:00
Éric Lemoine
e76ec3b292 Merge pull request #1504 from elemoine/vector-api-image-vector-hit-detection
[vector-api] Vector image hit detection
2014-01-14 03:33:47 -08:00
Tom Payne
b2b74a5ee6 Add ol.render.IRender#drawCircleGeometry 2014-01-14 12:31:50 +01:00
Éric Lemoine
f7be1c155e Hit detection refactoring
Get the frame state from the map instead of storing values in the layer renderers.
2014-01-14 12:26:49 +01:00
Tom Payne
474b4a444b Use a switch statement, rather than ifs, in ol.render.canvas.Replay 2014-01-13 18:17:38 +01:00
Éric Lemoine
ffcd4e8cc2 Fix hit detection on retina displays 2014-01-13 14:10:51 +01:00
Frederic Junod
3f751a5903 Scale the image size and anchor by pixelRatio 2014-01-08 14:25:50 +01:00
Tom Payne
c816d0105d Replay groups in defined order 2014-01-07 13:58:21 +01:00
Éric Lemoine
40fdd8a637 Merge pull request #1473 from elemoine/vector-api-zindex
[vector-api] Make canvas immediate API support zIndex
2014-01-06 12:17:33 -08:00
Éric Lemoine
6db8f0c29f Add ol.render.canvas.Replay#drawAsync 2014-01-06 17:10:00 +01:00
Tom Payne
72dc5f297d Merge pull request #1462 from twpayne/vector-api-clean-ups
[vector-api] Minor clean-ups
2014-01-06 02:09:38 -08:00
Tom Payne
7ee2747948 Always use goog.vec.Mat4.Number instead of goog.vec.Mat.AnyType 2014-01-06 09:29:36 +01:00
Tom Payne
310d0dc792 Rename replayes to replays 2014-01-02 22:13:37 +01:00
Tim Schaub
86374d1fde Merge pull request #1428 from tschaub/image-scale
Properly scale and rotate images with anchor offsets.
2013-12-20 13:44:10 -08:00
Éric Lemoine
4a96eaff60 Fix linestring hit detection bug 2013-12-20 22:24:52 +01:00
Tim Schaub
c599c649ab Translate to image anchor point, scale, rotate, translate back 2013-12-20 13:27:08 -07:00
Tom Payne
b3f77b4d68 Add image rotation and scaling to ol.render.canvas.Replay 2013-12-19 16:26:06 +01:00
Tom Payne
c6b961782a Sort miscellaneous properties and add rotation and scale 2013-12-19 16:26:05 +01:00
Éric Lemoine
d4d9cb6a3a Add getters to ol.style.Stroke 2013-12-19 14:37:57 +01:00
Éric Lemoine
5cd3ab06fc Add getters to ol.style.Image 2013-12-19 14:37:57 +01:00
Éric Lemoine
16047ff852 Add getters to ol.style.Fill 2013-12-19 11:41:38 +01:00
Éric Lemoine
fe7b614f22 Support hit detection on tainted canvas 2013-12-19 09:10:09 +01:00
Éric Lemoine
ee1ac6b23c Canvas replay uses ol.style.Image#getImage 2013-12-19 00:20:11 +01:00
Tom Payne
9bc92b2166 Always quantize all polygons 2013-12-17 17:46:43 +01:00
Tom Payne
dc69e02438 Pass tolerance to ol.render.canvas.Replay constructors 2013-12-17 17:46:28 +01:00
Tom Payne
76bddcf042 Pass tolerance to ol.render.canvas.ReplayGroup constructor 2013-12-17 17:46:01 +01:00
Tom Payne
9b1a5f512d Scale line widths by pixel ratio in replay mode 2013-12-16 12:15:31 +01:00