From 3d92807d2601f21a40d835d70557c71f4a15efd2 Mon Sep 17 00:00:00 2001 From: Emux <devemux86@gmail.com> Date: Thu, 28 Sep 2017 12:55:44 +0300 Subject: [PATCH] Render themes: Cap modes, fix #417 --- .../org/oscim/renderer/bucket/LineBucket.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/vtm/src/org/oscim/renderer/bucket/LineBucket.java b/vtm/src/org/oscim/renderer/bucket/LineBucket.java index 70f4f3a3..b437382f 100644 --- a/vtm/src/org/oscim/renderer/bucket/LineBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/LineBucket.java @@ -306,10 +306,10 @@ public class LineBucket extends RenderBucket { float tx = vPrevX; float ty = vPrevY; - if (squared) { + if (!rounded && !squared) { tx = 0; ty = 0; - } else if (!outside) { + } else if (rounded) { tx *= 0.5; ty *= 0.5; } @@ -475,10 +475,10 @@ public class LineBucket extends RenderBucket { dy = (short) (0 | ddy & DIR_MASK); } else { - if (squared) { + if (!rounded && !squared) { vPrevX = 0; vPrevY = 0; - } else if (!outside) { + } else if (rounded) { vPrevX *= 0.5; vPrevY *= 0.5; } @@ -679,13 +679,12 @@ public class LineBucket extends RenderBucket { } /* Cap mode */ - //if (line.width < 1.5/* || line.fixed*/) { - // if (capMode != CAP_THIN) { - // capMode = CAP_THIN; - // gl.uniform1f(uLineMode, capMode); - // } - //} else - if (lb.roundCap) { + if (lb.scale < 1.5/* || lb.line.fixed*/) { + if (capMode != CAP_THIN) { + capMode = CAP_THIN; + gl.uniform1f(uLineMode, capMode); + } + } else if (lb.roundCap) { if (capMode != CAP_ROUND) { capMode = CAP_ROUND; gl.uniform1f(uLineMode, capMode);