From 2b33ea0c85def61b12542dd82ea2a3e9bec0c2c4 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 27 Aug 2018 23:46:06 +0200 Subject: [PATCH] Fixed drawing issue for very long transactions --- .../scviewer/database/swt/internal/StreamPainter.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java index 4730c33..81f8faf 100644 --- a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java +++ b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java @@ -110,6 +110,17 @@ public class StreamPainter extends TrackPainter{ gc.fillRectangle(bb); gc.drawRectangle(bb); } else { + // adjusting drawing width to circumvent issues in canvas algos + if(bb.x < area.x) { + bb.width = bb.width-(area.x-bb.x)+5; + bb.x=area.x-5; + } + int bb_x2 = bb.x+bb.width; + int area_x2 = area.x+area.width; + if(bb_x2>area_x2){ + bb_x2=area_x2+5; + bb.width= bb_x2-bb.x; + } gc.fillRoundRectangle(bb.x, bb.y, bb.width, bb.height, 5, 5); gc.drawRoundRectangle(bb.x, bb.y, bb.width, bb.height, 5, 5); }