From 085a6c81359d7b12591ac8f0ab19556f80912ee8 Mon Sep 17 00:00:00 2001 From: Bart van den Eijnden Date: Thu, 29 Oct 2015 10:59:21 +0100 Subject: [PATCH] Make sure drawImage works in Safari with an offset --- src/ol/render/canvas/canvasreplay.js | 6 ++++-- .../spec/ol/style/expected/icon-canvas-offset.png | Bin 0 -> 838 bytes test_rendering/spec/ol/style/icon.test.js | 11 ++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 test_rendering/spec/ol/style/expected/icon-canvas-offset.png diff --git a/src/ol/render/canvas/canvasreplay.js b/src/ol/render/canvas/canvasreplay.js index e8ed38e661..90a168be4d 100644 --- a/src/ol/render/canvas/canvasreplay.js +++ b/src/ol/render/canvas/canvasreplay.js @@ -343,8 +343,10 @@ ol.render.canvas.Replay.prototype.replay_ = function( context.globalAlpha = alpha * opacity; } - context.drawImage(image, originX, originY, width, height, - x, y, width * pixelRatio, height * pixelRatio); + var w = width - originX; + var h = height - originY; + context.drawImage(image, originX, originY, w, h, x, y, + w * pixelRatio, h * pixelRatio); if (opacity != 1) { context.globalAlpha = alpha; diff --git a/test_rendering/spec/ol/style/expected/icon-canvas-offset.png b/test_rendering/spec/ol/style/expected/icon-canvas-offset.png new file mode 100644 index 0000000000000000000000000000000000000000..322ffda40115186e483425e13a14d312b4a57379 GIT binary patch literal 838 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2o;fF!Or4IEG|6zn$vqA(AL_Z2rxe zrS>wi+e?klv@{8P6lj^gN24W3FeFKKS4)sfO3>XaT=t6$G<`j<*zpMlMy0s22;H92 z>MDILPh+KaUC5fPX4}@iTeaKojf~fkX6DbQG(N{YGy4C0?)}d;@2y3`PA&@LWH*`c z)3fYb*~g{d*FCDcD9X`juaTkQ`1+;QlQ_Mm(|4J>j1O%{mEAL+oo~U#pOam)7zn{s4GPGcz}6KbM1wr(vG(y zD)#febA7wK@any&n1^PZDGz6HcQ0@~Fl{1N;+faq=T+^R&Enz`Jn^;p-jxY~6Hc%x zPHS8+zx9D!)nn~#^8-ygz8*Sv)G>o=%EXE1I{rJ?yKcCc8E)F~H0IkQg(|KuQpShs z{;zmYQ7EvMW3}`Wo!Q6lH2E)Kyp_XXVY_UX`>JJGvgbV=HOky{L@jNc9{qoRg>jb# z+mxdn7xEvTuF#D45OOk{@WXrekAeiT|6Rf>Mbcd)7B)P1Vc&Cm@BMH#k77OjK2`&B zVI~bOt7{A!tPF2F-f0o}dEZ=-DNCVKY}V#&$;qF#U|ook_l>SM+EN^m^-ou4cb@p(^QL7Q cbvXZ7txvK#T@