diff --git a/pom.xml b/pom.xml
index 9b2b2c07d..13bcc78fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
org.janelia.saalfeldlab
paintera
- 1.4.4-SNAPSHOT
+ 1.5.0-SNAPSHOT
Paintera
New Era Painting and annotation tool
@@ -68,7 +68,7 @@
org.janelia.saalfeldlab.paintera.Paintera
Paintera
paintera
- 1.4.1
+ 1.5.0
javafx.base,javafx.controls,javafx.fxml,javafx.media,javafx.swing,javafx.web,javafx.graphics,java.naming,java.management,java.sql
UTF-8
@@ -81,7 +81,9 @@
4.2.1
4.1.1
1.3.5
- 0.15.0
+ 0.15.1
+ 6.1.0
+ 4.0.1
3.13.0
true
@@ -185,7 +187,6 @@
net.imglib2
imglib2
- 6.1.0
net.imglib2
@@ -194,7 +195,6 @@
net.imglib2
imglib2-realtransform
- 4.0.1
net.imglib2
@@ -687,7 +687,7 @@
maven-surefire-plugin
1
- -Dtestfx.robot=glass -Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw --enable-preview
+ -Dtestfx.robot=glass -Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw
@@ -709,7 +709,6 @@
21
- --enable-preview
@@ -919,7 +918,6 @@
${kotlin.version}
- --enable-preview
diff --git a/src/main/java/org/janelia/saalfeldlab/bdv/fx/viewer/render/MultiResolutionRendererGeneric.java b/src/main/java/org/janelia/saalfeldlab/bdv/fx/viewer/render/MultiResolutionRendererGeneric.java
index be93a9e51..19d794fe1 100644
--- a/src/main/java/org/janelia/saalfeldlab/bdv/fx/viewer/render/MultiResolutionRendererGeneric.java
+++ b/src/main/java/org/janelia/saalfeldlab/bdv/fx/viewer/render/MultiResolutionRendererGeneric.java
@@ -256,7 +256,7 @@ public interface ImageGenerator {
/**
* @param display The canvas that will display the images we render.
* @param painterThread Thread that triggers repainting of the display. Requests for repainting are send there.
- * @param screenScales Scale factors from the viewer canvas to screen images of different resolutions. A scale factor of 1 means 1
+ * @param initialScreenScales Scale factors from the viewer canvas to screen images of different resolutions. A scale factor of 1 means 1
* pixel in the screen image is displayed as 1 pixel on the canvas, a scale factor of 0.5 means 1 pixel in the
* screen image is displayed as 2 pixel on the canvas, etc.
* @param targetRenderNanos Target rendering time in nanoseconds. The rendering time for the coarsest rendered scale should be below
@@ -271,7 +271,7 @@ public interface ImageGenerator {
MultiResolutionRendererGeneric(
final TransformAwareRenderTargetGeneric display,
final PainterThreadFx painterThread,
- final double[] screenScales,
+ final double[] initialScreenScales,
final long targetRenderNanos,
final boolean doubleBuffered,
final TaskExecutor renderingTaskExecutor,
@@ -287,7 +287,7 @@ public interface ImageGenerator {
this.painterThread = painterThread;
projector = null;
currentScreenScaleIndex = -1;
- this.screenScales = screenScales.clone();
+ this.screenScales = initialScreenScales.clone();
this.doubleBuffered = doubleBuffered;
createVariables();
diff --git a/src/main/java/org/janelia/saalfeldlab/fx/ortho/OrthogonalViews.java b/src/main/java/org/janelia/saalfeldlab/fx/ortho/OrthogonalViews.java
index 68b1924a3..3718b0c79 100644
--- a/src/main/java/org/janelia/saalfeldlab/fx/ortho/OrthogonalViews.java
+++ b/src/main/java/org/janelia/saalfeldlab/fx/ortho/OrthogonalViews.java
@@ -211,6 +211,10 @@ public void requestRepaint(final RealInterval intervalInGlobalSpace) {
this.applyToAll(v -> v.requestRepaint(intervalInGlobalSpace));
}
+ public void drawOverlays() {
+ applyToAll(it -> it.getDisplay().drawOverlays());
+ }
+
/**
* {@link ViewerPanelFX#setAllSources(Collection)}} for all {@link ViewerPanelFX viewer children} (top left, top right, bottom left)
*
diff --git a/src/main/java/org/janelia/saalfeldlab/paintera/PainteraConfigYaml.java b/src/main/java/org/janelia/saalfeldlab/paintera/PainteraConfigYaml.java
index ff09e7f71..f2b9bedbc 100644
--- a/src/main/java/org/janelia/saalfeldlab/paintera/PainteraConfigYaml.java
+++ b/src/main/java/org/janelia/saalfeldlab/paintera/PainteraConfigYaml.java
@@ -1,6 +1,7 @@
package org.janelia.saalfeldlab.paintera;
import com.pivovarit.function.ThrowingSupplier;
+import org.janelia.saalfeldlab.paintera.config.PainteraDirectoriesConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.yaml.snakeyaml.Yaml;
@@ -14,50 +15,63 @@
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
+import java.util.function.Function;
import java.util.function.Supplier;
public class PainteraConfigYaml {
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- private static final String USER_HOME = System.getProperty("user.home");
+ private static final String PAINTERA_YAML = "paintera.yml";
- private static final Path PAINTERA_YAML = Paths.get(USER_HOME, ".config", "paintera.yml");
+ public static T getConfig(final Supplier fallBack, final String... segments) {
- public static Object getConfig(final Supplier