This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git


The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
     new 1312af30fb Rename `ObjectiveSnapshot` as `StaticGraphics`.
1312af30fb is described below

commit 1312af30fb8521bd71a6d10b708dfad62f9e4110
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Fri Apr 17 11:47:01 2026 +0200

    Rename `ObjectiveSnapshot` as `StaticGraphics`.
---
 .../apache/sis/gui/coverage/CoverageCanvas.java    |  6 ++--
 .../org/apache/sis/gui/map/EvanescentPane.java     |  6 ++--
 .../main/org/apache/sis/gui/map/MapCanvas.java     | 38 ++++++++++++----------
 3 files changed, 26 insertions(+), 24 deletions(-)

diff --git 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
index 3acf8f965e..612c5540f8 100644
--- 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
+++ 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
@@ -1348,7 +1348,7 @@ public class CoverageCanvas extends MapCanvasAWT {
          * This information is updated in the JavaFX thread after each 
rendering, so that creations of
          * JavaFX shapes will use the information that reflects the image 
shown in the canvas.
          */
-        volatile ObjectiveSnapshot snapshot;
+        volatile StaticGraphics snapshot;
 
         /**
          * Creates a new listener of tile read events.
@@ -1365,7 +1365,7 @@ public class CoverageCanvas extends MapCanvasAWT {
          * the information that reflects the image shown in the canvas.
          */
         final void takeSnapshotOfObjectiveCRS() {
-            snapshot = forObjectiveSnapshot();
+            snapshot = usingFixedTransform();
         }
 
         /**
@@ -1377,7 +1377,7 @@ public class CoverageCanvas extends MapCanvasAWT {
         @SuppressWarnings({"UseSpecificCatch", 
"LocalVariableHidesMemberVariable"})
         public void eventOccured(final TileReadEvent event) {
             BackgroundThreads.EXECUTOR.execute(() -> {
-                final ObjectiveSnapshot snapshot = 
TileReadListener.this.snapshot;
+                final StaticGraphics snapshot = TileReadListener.this.snapshot;
                 if (snapshot.objectiveToDisplay instanceof AffineTransform 
objectiveToDisplay) try {
                     final Shape tile = 
ShapeConverter.convert(event.outline(snapshot.objectiveCRS), 
objectiveToDisplay);
                     final int ic = event.getPyramidLevel() % 
TILE_COLORS.length;
diff --git 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/EvanescentPane.java
 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/EvanescentPane.java
index d178f5ef0d..2542547f09 100644
--- 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/EvanescentPane.java
+++ 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/EvanescentPane.java
@@ -36,7 +36,7 @@ final class EvanescentPane extends Pane implements 
ListChangeListener<Node> {
     /**
      * The object that created this pane.
      */
-    final MapCanvas.ObjectiveSnapshot owner;
+    final MapCanvas.StaticGraphics owner;
 
     /**
      * Whether this pane has been added in {@link MapCanvas#floatingPane}.
@@ -48,7 +48,7 @@ final class EvanescentPane extends Pane implements 
ListChangeListener<Node> {
      *
      * @param  owner  the object that created this pane.
      */
-    private EvanescentPane(final MapCanvas.ObjectiveSnapshot owner) {
+    private EvanescentPane(final MapCanvas.StaticGraphics owner) {
         this.owner = owner;
     }
 
@@ -62,7 +62,7 @@ final class EvanescentPane extends Pane implements 
ListChangeListener<Node> {
      * @param  owner  the object that created this pane.
      * @return a pane with an identity transform at the time when this method 
is invoked.
      */
-    static EvanescentPane create(final MapCanvas.ObjectiveSnapshot owner) {
+    static EvanescentPane create(final MapCanvas.StaticGraphics owner) {
         final var pane = new EvanescentPane(owner);
         pane.getChildren().addListener(pane);
         return pane;
diff --git 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java
index 858c21f857..0129f3d0e2 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java
@@ -193,7 +193,7 @@ public abstract class MapCanvas extends PlanarCanvas {
      * in a background thread. Once calculation is completed and the content 
of this pane has been updated,
      * the {@code floatingPane} {@link Affine} transform is reset to 
identity.</p>
      *
-     * @see #forObjectiveSnapshot()
+     * @see #usingFixedTransform()
      */
     protected final Pane floatingPane;
 
@@ -440,16 +440,18 @@ public abstract class MapCanvas extends PlanarCanvas {
     }
 
     /**
-     * Returns a pane for evanescent shapes shown in this canvas. The shapes 
added in the returned pane should
-     * use an animation effect such as {@link javafx.animation.FadeTransition} 
and be removed after a few seconds.
-     * This method allows to show shapes more easily than adding them directly 
as {@link #floatingPane} children,
-     * but at the expanse of quality. See {@link ObjectiveSnapshot} for more 
information.
+     * Returns a pane where graphics can be added as if the <i>objective to 
display</i> transform was static.
+     * The returned object takes a snapshot of the transform at the time when 
this method has been invoked.
+     * It allows to show shapes more easily than adding them directly as 
{@link #floatingPane} children,
+     * but at the expanse of quality. This compromise is better suited to 
animation effects such as
+     * {@link javafx.animation.FadeTransition} and when shapes are removed 
from the children list
+     * after a few seconds.
      *
      * @return a pane where to add shapes without the need to track navigation 
events after this method call.
      * @since 1.7
      */
-    public ObjectiveSnapshot forObjectiveSnapshot() {
-        return new ObjectiveSnapshot(this).unique();
+    public StaticGraphics usingFixedTransform() {
+        return new StaticGraphics(this).unique();
     }
 
     /**
@@ -471,7 +473,7 @@ public abstract class MapCanvas extends PlanarCanvas {
      * @version 1.7
      * @since   1.7
      */
-    public static class ObjectiveSnapshot {
+    public static class StaticGraphics {
         /**
          * The parent where to add the nodes computed from a snapshot of this 
<i>objective to display</i> transform.
          *
@@ -482,7 +484,7 @@ public abstract class MapCanvas extends PlanarCanvas {
         /**
          * The <abbr>CRS</abbr> which is the source of the <i>objective to 
display</i> transform.
          * This is the value of {@link #getObjectiveCRS()} at the time when 
this
-         * {@code ObjectiveSnapshot} instance has been obtained.
+         * {@code StaticGraphics} instance has been obtained.
          * May be {@code null} if the snapshot was created before {@code 
Canvas} was initialized with data.
          *
          * @see #getObjectiveCRS()
@@ -491,7 +493,7 @@ public abstract class MapCanvas extends PlanarCanvas {
 
         /**
          * Returns the (usually affine) conversion from objective 
<abbr>CRS</abbr> to display coordinate system.
-         * This is the value of {@link #getObjectiveToDisplay()} at the time 
when this {@code ObjectiveSnapshot}
+         * This is the value of {@link #getObjectiveToDisplay()} at the time 
when this {@code StaticGraphics}
          * instance has been obtained. This is never {@code null}.
          *
          * @see #getObjectiveToDisplay()
@@ -507,21 +509,21 @@ public abstract class MapCanvas extends PlanarCanvas {
         /**
          * Creates a snapshot of the <i>objective to display</i> transform 
from the given canvas.
          * This constructor is made available for {@code MapCanvas} subclasses 
wanting to override
-         * their {@link #forObjectiveSnapshot()} method. This constructor 
should be used in a code
+         * their {@link #usingFixedTransform()} method. This constructor 
should be used in a code
          * equivalent to the following snippet:
          *
          * {@snippet lang="java" :
          *     @Override
-         *     public ObjectiveSnapshot forObjectiveSnapshot() {
-         *         return new MySnapshotSubclass(this).unique();
+         *     public StaticGraphics usingFixedTransform() {
+         *         return new MySubclass(this).unique();
          *     }
          *     }
          *
          * @param  canvas  the enclosing canvas.
          *
-         * @see #forObjectiveSnapshot()
+         * @see #usingFixedTransform()
          */
-        protected ObjectiveSnapshot(final MapCanvas canvas) {
+        protected StaticGraphics(final MapCanvas canvas) {
             floatingPane       = canvas.floatingPane;
             objectiveCRS       = canvas.getObjectiveCRS();
             objectiveToDisplay = canvas.getObjectiveToDisplay();
@@ -529,17 +531,17 @@ public abstract class MapCanvas extends PlanarCanvas {
 
         /**
          * Returns a unique instance of this snapshot. If the canvas specified 
at construction time
-         * already contains an {@code ObjectiveSnapshot} of the same class as 
{@code this} and with
+         * already contains an {@code StaticGraphics} of the same class as 
{@code this} and with
          * equal {@link #objectiveCRS} and {@link #objectiveToDisplay} 
transform, then that snapshot
          * is returned and {@code this} should be discarded. Otherwise, this 
method returns {@code this}.
          *
          * @return a unique instance of this snapshot.
          */
-        protected ObjectiveSnapshot unique() {
+        protected StaticGraphics unique() {
             final ObservableList<Node> siblings = floatingPane.getChildren();
             for (int i = siblings.size(); --i >= 0;) {
                 if (siblings.get(i) instanceof EvanescentPane pane) {
-                    final ObjectiveSnapshot other = pane.owner;
+                    final StaticGraphics other = pane.owner;
                     if (other.getClass() == getClass()
                             && Objects.equals(objectiveCRS, other.objectiveCRS)
                             && 
objectiveToDisplay.equals(other.objectiveToDisplay))

Reply via email to