From a3147c5d086249b05266714d8a1951e1615ffeaf Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Mon, 11 Jan 2016 16:12:33 +0100 Subject: [PATCH] Proper rounding for possibly negative numbers --- src/ol/render/canvas/canvasimmediate.js | 4 ++-- src/ol/render/canvas/canvasreplay.js | 4 ++-- .../spec/ol/style/expected/icon-canvas.png | Bin 1230 -> 1230 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ol/render/canvas/canvasimmediate.js b/src/ol/render/canvas/canvasimmediate.js index 8920002fcc..b9b4346b31 100644 --- a/src/ol/render/canvas/canvasimmediate.js +++ b/src/ol/render/canvas/canvasimmediate.js @@ -274,8 +274,8 @@ ol.render.canvas.Immediate.prototype.drawImages_ = var x = pixelCoordinates[i] - this.imageAnchorX_; var y = pixelCoordinates[i + 1] - this.imageAnchorY_; if (this.imageSnapToPixel_) { - x = (x + 0.5) | 0; - y = (y + 0.5) | 0; + x = Math.round(x); + y = Math.round(y); } if (rotation !== 0 || this.imageScale_ != 1) { var centerX = x + this.imageAnchorX_; diff --git a/src/ol/render/canvas/canvasreplay.js b/src/ol/render/canvas/canvasreplay.js index 3b676add9b..1bfcbd47b7 100644 --- a/src/ol/render/canvas/canvasreplay.js +++ b/src/ol/render/canvas/canvasreplay.js @@ -329,8 +329,8 @@ ol.render.canvas.Replay.prototype.replay_ = function( x = pixelCoordinates[d] - anchorX; y = pixelCoordinates[d + 1] - anchorY; if (snapToPixel) { - x = (x + 0.5) | 0; - y = (y + 0.5) | 0; + x = Math.round(x); + y = Math.round(y); } if (scale != 1 || rotation !== 0) { var centerX = x + anchorX; diff --git a/test_rendering/spec/ol/style/expected/icon-canvas.png b/test_rendering/spec/ol/style/expected/icon-canvas.png index cdc0dba6b16291c733c126679e0cf0782e350356..b15cc13994817ee77e1e3854e73785422ba8362d 100644 GIT binary patch delta 1159 zcmV;21bF+-3C;M8BCy30X-j%=Y-N{im)UOHo!v2AF_37RFzh5N+4*NO z$-M78zvp?sZ)ODUkVCjbILH`?_rNpv+I<7(5Yz5TCE^09K7TB-2#^vJ+Lg$$aOmnf z<{VNpVP-}^l<&(28M}bT7&4#Ly&H? zePHBR&RuGvBY)O$!+1>xj}=?lV8XS{&#^J^=k2DFF%W)>`qkY5M2{n_NwGUA@%T8f zs1^Tsk2860w|&`eW7gxJ$g8TKpBhd~bTK{M;CzbkGRg4kdlP`(!o#O^d)OA&>NB zA;{^dKYwj+_Rn{#mnNaHy}7Aq~V3x2SOm~ zj~{NtJ14TGWm9eiK}1bkul?0@UWjq>>5WJPcZYd_dt=5hI+CK#CPQFSklt?(FhThsc<#r)@>of8~WXEK8asH59 z%7vup!iK1&`UL5HsHR9nrb+exb3knBUAEFcy*NvdjFq~^f$RQ7r2E%9Y$w5~t0 zaM$#;La1k~9*UFd(fHRti3p<825ym0tku+MPQ4N&=yNupoQITyUcdC?Cg%|ih-zY!myL9WappB zB=f%W{GR9izL^oYOAg^K;UEX{&m=wjpL@_=STcw1#677*Tz??dN7kYMDJh{{4Id2! zJF1v-NX^7lWG0cF6$47{8@4&|YqLFeu%1**>sy-u(f|kcG53<_P>*)KQ?oE@K)eTE znre&Z&ke7tf$J%-NzmWaY8sZ(BBW7Xy|c4rGL^sIaVi-}q^S1gnfj@SU)@rR-aYJZ|D+I7=-O$WCXTlru@br+_wA#mkRQ^^|go?XPO&$=7ZVTWDC)F474PI$By-(5<-Ed>;vikwhqDN;LWFI@O1eE7HwP0m-AN> zj&(6>{X(kWu42ln`P4O@MR3`%jV>m5>U^+0SSAW2<_o{JN?X39b6CNI3#z0pg z4eiZTlt0G4x*wVI=`y4OE0(e>1&P(1MQ}UVK5sS6!OOIS+E_MqUi!QzaD+?YHrx&u zl{?lUDpo9|1F|m>@kGQQJy4IU*u%*sU*XI5q}R&NjR8srjlktl($~9A9KgSE5jbTm zBYjy2a(^n~j~=W?@;KS?#wzODT9`fId0NA5c${wXY<3pzUPqDQVaeC)5u7se@WSi^ zArSG$4maW|@o{{?Hk=j<`F4fzYhLAvvau|9+)p@qjU$c6nfcjbP-Ntx?(72b9iIMz z+{)`}&1oc$!jlh-qqxAE9;MxNhZ*7;Ncph)(|^~s7tT=ERFCMhBNZtGe`$J_&rfz{ z#d{=w`{Z$6$Kd73V;AVU97426ApWLZ;LN8 zqjlqvg*&FL6*{!hdN4-ny2ii$NhFY*HgH+!4z#T3{-}2EZK>_&=8S^aH%%O&D87wc zjLOMtJ<$7=`}ZM&XqD3+i`RqU(~-r8=6_}iB6ExV7Deu@6*FW_o<)0ymEeE!;quL40J z@qYp_JR(L5%}T_m9>aAx5X07)RG3S|Bx4P?%_U;kI+F@>iI`-p;kLO%lWznk8M`Kt ZKLPJ$wL