Changeset 17983 in josm for trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java
- Timestamp:
- 2021-07-10T21:39:01+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java
r17880 r17983 32 32 import org.openstreetmap.josm.gui.layer.imagery.ImageryFilterSettings; 33 33 import org.openstreetmap.josm.gui.layer.imagery.ImageryFilterSettings.FilterChangeListener; 34 import org.openstreetmap.josm.gui.util.GuiHelper; 34 35 import org.openstreetmap.josm.spi.preferences.Config; 35 36 import org.openstreetmap.josm.spi.preferences.PreferenceChangeEvent; … … 101 102 /** Show a background for the error text (may be hard on eyes) */ 102 103 private static final BooleanProperty ERROR_MESSAGE_BACKGROUND = new BooleanProperty("geoimage.message.error.background", false); 104 105 private updateImageThread updateImageThreadInstance; 106 107 private class updateImageThread extends Thread { 108 private boolean restart; 109 110 @Override 111 public void run() { 112 updateProcessedImage(); 113 if (restart) { 114 restart = false; 115 run(); 116 } 117 } 118 119 public void restart() { 120 restart = true; 121 if (!isAlive()) { 122 restart = false; 123 updateImageThreadInstance = new updateImageThread(); 124 updateImageThreadInstance.start(); 125 } 126 } 127 } 103 128 104 129 @Override … … 651 676 @Override 652 677 public void filterChanged() { 653 updateProcessedImage(); 654 repaint(); 678 if (updateImageThreadInstance != null) { 679 updateImageThreadInstance.restart(); 680 } else { 681 updateImageThreadInstance = new updateImageThread(); 682 updateImageThreadInstance.start(); 683 } 655 684 } 656 685 657 686 private void updateProcessedImage() { 658 687 processedImage = image == null ? null : imageProcessor.process(image); 688 GuiHelper.runInEDT(() -> repaint()); 659 689 } 660 690
Note:
See TracChangeset
for help on using the changeset viewer.