diff --git a/vtm/src/org/oscim/renderer/layers/TextRenderLayer.java b/vtm/src/org/oscim/renderer/layers/TextRenderLayer.java index a4239ed8..8b9cb184 100644 --- a/vtm/src/org/oscim/renderer/layers/TextRenderLayer.java +++ b/vtm/src/org/oscim/renderer/layers/TextRenderLayer.java @@ -516,7 +516,8 @@ public class TextRenderLayer extends BasicRenderLayer { l.bbox.setNormalized(l.x, l.y, cos, -sin, l.width + MIN_CAPTION_DIST, - l.text.fontHeight + MIN_CAPTION_DIST); + l.text.fontHeight + MIN_CAPTION_DIST, + l.text.dy); boolean overlaps = false; diff --git a/vtm/src/org/oscim/utils/OBB2D.java b/vtm/src/org/oscim/utils/OBB2D.java index b216d028..9bcceb89 100644 --- a/vtm/src/org/oscim/utils/OBB2D.java +++ b/vtm/src/org/oscim/utils/OBB2D.java @@ -134,13 +134,18 @@ public class OBB2D { computeAxes(); } - public void setNormalized(float cx, float cy, float vx, float vy, float width, float height) { + public void setNormalized(float cx, float cy, float vx, float vy, float width, float height, float dy) { float ux = -vy; float uy = vx; float hw = width / 2; float hh = height / 2; + if (dy != 0){ + cx += vx * dy + vy * dy; + cy += -vy * dy + vx * dy; + } + vx *= hw; vy *= hw;