From d7acca85903e700eea1c5eddac84859666810800 Mon Sep 17 00:00:00 2001 From: tpietzsch <tobias.pietzsch@gmail.com> Date: Tue, 7 Jul 2020 21:26:40 +0200 Subject: [PATCH] MultiResolutionRenderer: use RequestRepaint instead of PainterThread --- src/main/java/bdv/tools/RecordMaxProjectionDialog.java | 3 +-- src/main/java/bdv/tools/RecordMovieDialog.java | 3 +-- .../java/bdv/viewer/render/MultiResolutionRenderer.java | 6 +++--- src/main/java/net/imglib2/ui/PainterThread.java | 4 +++- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/bdv/tools/RecordMaxProjectionDialog.java b/src/main/java/bdv/tools/RecordMaxProjectionDialog.java index 9d91b44b..ba3dfd53 100644 --- a/src/main/java/bdv/tools/RecordMaxProjectionDialog.java +++ b/src/main/java/bdv/tools/RecordMaxProjectionDialog.java @@ -74,7 +74,6 @@ import net.imglib2.img.array.ArrayImgs; import net.imglib2.realtransform.AffineTransform3D; import net.imglib2.type.numeric.ARGBType; import bdv.viewer.OverlayRenderer; -import net.imglib2.ui.PainterThread; import bdv.viewer.render.RenderTarget; import net.imglib2.util.LinAlgHelpers; @@ -369,7 +368,7 @@ public class RecordMaxProjectionDialog extends JDialog implements OverlayRendere } final MyTarget target = new MyTarget(); final MultiResolutionRenderer renderer = new MultiResolutionRenderer( - target, new PainterThread( null ), new double[] { 1 }, 0, 1, null, false, + target, () -> {}, new double[] { 1 }, 0, 1, null, false, viewer.getOptionValues().getAccumulateProjectorFactory(), new CacheControl.Dummy() ); progressWriter.setProgress( 0 ); for ( int timepoint = minTimepointIndex; timepoint <= maxTimepointIndex; ++timepoint ) diff --git a/src/main/java/bdv/tools/RecordMovieDialog.java b/src/main/java/bdv/tools/RecordMovieDialog.java index c4adb030..4fe67369 100644 --- a/src/main/java/bdv/tools/RecordMovieDialog.java +++ b/src/main/java/bdv/tools/RecordMovieDialog.java @@ -68,7 +68,6 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import net.imglib2.realtransform.AffineTransform3D; import bdv.viewer.OverlayRenderer; -import net.imglib2.ui.PainterThread; import bdv.viewer.render.RenderTarget; public class RecordMovieDialog extends JDialog implements OverlayRenderer @@ -303,7 +302,7 @@ public class RecordMovieDialog extends JDialog implements OverlayRenderer } final MyTarget target = new MyTarget(); final MultiResolutionRenderer renderer = new MultiResolutionRenderer( - target, new PainterThread( null ), new double[] { 1 }, 0, 1, null, false, + target, () -> {}, new double[] { 1 }, 0, 1, null, false, viewer.getOptionValues().getAccumulateProjectorFactory(), new CacheControl.Dummy() ); progressWriter.setProgress( 0 ); for ( int timepoint = minTimepointIndex; timepoint <= maxTimepointIndex; ++timepoint ) diff --git a/src/main/java/bdv/viewer/render/MultiResolutionRenderer.java b/src/main/java/bdv/viewer/render/MultiResolutionRenderer.java index 89b26654..67972187 100644 --- a/src/main/java/bdv/viewer/render/MultiResolutionRenderer.java +++ b/src/main/java/bdv/viewer/render/MultiResolutionRenderer.java @@ -28,6 +28,7 @@ */ package bdv.viewer.render; +import bdv.viewer.RequestRepaint; import java.util.concurrent.ExecutorService; import net.imglib2.Interval; @@ -36,7 +37,6 @@ import net.imglib2.Volatile; import net.imglib2.cache.iotiming.CacheIoTiming; import net.imglib2.realtransform.AffineTransform3D; import net.imglib2.type.numeric.ARGBType; -import net.imglib2.ui.PainterThread; import net.imglib2.util.Intervals; import bdv.cache.CacheControl; @@ -98,7 +98,7 @@ public class MultiResolutionRenderer * Thread that triggers repainting of the display. * Requests for repainting are send there. */ - private final PainterThread painterThread; + private final RequestRepaint painterThread; /** * Creates projectors for rendering current {@code ViewerState} to a @@ -265,7 +265,7 @@ public class MultiResolutionRenderer */ public MultiResolutionRenderer( final RenderTarget< ? > display, - final PainterThread painterThread, + final RequestRepaint painterThread, final double[] screenScaleFactors, final long targetRenderNanos, final int numRenderingThreads, diff --git a/src/main/java/net/imglib2/ui/PainterThread.java b/src/main/java/net/imglib2/ui/PainterThread.java index e6d1ed5d..143b4535 100644 --- a/src/main/java/net/imglib2/ui/PainterThread.java +++ b/src/main/java/net/imglib2/ui/PainterThread.java @@ -33,12 +33,13 @@ */ package net.imglib2.ui; +import bdv.viewer.RequestRepaint; import java.util.concurrent.RejectedExecutionException; /** * Thread to repaint display. */ -final public class PainterThread extends Thread +public class PainterThread extends Thread implements RequestRepaint { public interface Paintable { @@ -109,6 +110,7 @@ final public class PainterThread extends Thread * Request repaint. This will trigger a call to {@link Paintable#paint()} * from the {@link PainterThread}. */ + @Override public void requestRepaint() { synchronized ( this ) -- GitLab