Ignore:
Timestamp:
2009-02-28T01:56:46+01:00 (16 years ago)
Author:
lvarga
Message:

Added "fade background" feature.

Location:
applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapLayer.java

    r13712 r13921  
    1212import java.awt.event.MouseEvent;
    1313import java.awt.image.ImageObserver;
    14 import java.util.ArrayList;
    1514import java.util.HashMap;
    1615
     
    322321        g.setColor(Color.DARK_GRAY);
    323322
     323        float fadeBackground = SlippyMapPreferences.getFadeBackground();
     324       
    324325        for (int x = z12x0 - 1; x <= z12x1; x++)
    325326        {
     
    351352                    Point p2 = pixelpos[x - z12x0 + 2][y - z12y0 + 2];
    352353                    g.drawImage(img, p.x, p.y, p2.x - p.x, p2.y - p.y, this);
    353                 }
    354             }
    355         }
     354                   
     355                    if(fadeBackground != 0f) {
     356                            //dimm by painting opaque rect...
     357                            g.setColor(new Color(1f,1f,1f,fadeBackground));
     358                            g.fillRect(p.x, p.y, p2.x - p.x, p2.y - p.y);
     359                    }//end of if dim != 0
     360                }//end of if img != null
     361            }//end of for
     362        }//end of for
    356363
    357364        for (int x = z12x0 - 1; x <= z12x1; x++)
     
    374381                int texty = p.y + 2 + fontHeight;
    375382                SlippyMapTile tile = tileStorage[currentZoomLevel].get(key);
     383                if(tile == null) {
     384                        continue;
     385                }
    376386                p = pixelpos[x - z12x0 + 1][y - z12y0 + 2];
    377387                g.drawString("x=" + x + " y=" + y + " z=" + currentZoomLevel + "", p.x + 2, texty);
     
    408418                    }
    409419                }
    410             }
     420            } //end of for
    411421        }
    412422
  • applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferenceSetting.java

    r13712 r13921  
    88import javax.swing.JLabel;
    99import javax.swing.JPanel;
     10import javax.swing.JSlider;
    1011import javax.swing.JSpinner;
    1112
     
    2930    private JCheckBox autoloadTiles = new JCheckBox(tr("autoload tiles"));
    3031    private JSpinner maxZoomLvl = new JSpinner();
     32    private JSlider fadeBackground = new JSlider(0, 100);
    3133
    3234    public void addGui(PreferenceDialog gui)
     
    6062        maxZoomLvlPanel.add(this.maxZoomLvl, GBC.eol().fill(GBC.HORIZONTAL));
    6163       
     64        JPanel fadeBackgroundPanel = new JPanel();
     65        fadeBackgroundPanel.add(new JLabel(tr("Fade background: ")), GBC.std());
     66        fadeBackgroundPanel.add(GBC.glue(5, 0), GBC.std().fill(GBC.HORIZONTAL));
     67        fadeBackgroundPanel.add(this.fadeBackground, GBC.eol().fill(GBC.HORIZONTAL));
     68       
    6269        slippymapTab.add(mapUrlPanel, GBC.eol().fill(GBC.HORIZONTAL));
    6370        slippymapTab.add(autozoomPanel, GBC.eol().fill(GBC.HORIZONTAL));
    6471        slippymapTab.add(autoloadPanel, GBC.eol().fill(GBC.HORIZONTAL));
    6572        slippymapTab.add(maxZoomLvlPanel, GBC.eol().fill(GBC.HORIZONTAL));
     73        slippymapTab.add(fadeBackgroundPanel, GBC.eol().fill(GBC.HORIZONTAL));
    6674        slippymapTab.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.VERTICAL));
    6775       
     
    8492        this.autoloadTiles.setSelected(SlippyMapPreferences.getAutoloadTiles());
    8593        this.maxZoomLvl.setValue(SlippyMapPreferences.getMaxZoomLvl());
     94        this.fadeBackground.setValue(Math.round(SlippyMapPreferences.getFadeBackground()*100f));
    8695    }
    8796   
     
    100109        SlippyMapPreferences.setAutoloadTiles(this.autoloadTiles.isSelected());
    101110        SlippyMapPreferences.setMaxZoomLvl((Integer)this.maxZoomLvl.getValue());
     111        SlippyMapPreferences.setFadeBackground(this.fadeBackground.getValue()/100f);
    102112        //restart isn't required
    103113        return false;
  • applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferences.java

    r13712 r13921  
    1818    private static final String PREFERENCE_AUTOLOADTILES = PREFERENCE_PREFIX + ".autoload_tiles";
    1919    private static final String PREFERENCE_MAX_ZOOM_LVL = PREFERENCE_PREFIX + ".max_zoom_lvl";
     20    private static final String PREFERENCE_FADE_BACKGROUND = PREFERENCE_PREFIX + ".fade_background";
    2021   
    2122    public static String getMapUrl()
     
    6667    }
    6768   
     69    public static void setFadeBackground(float fadeBackground) {
     70        Main.pref.put(SlippyMapPreferences.PREFERENCE_FADE_BACKGROUND, fadeBackground + "");
     71    }
     72
     73    /**
     74     *
     75     * @return  number between 0 and 1, inclusive
     76     */
     77    public static float getFadeBackground() {
     78        String fadeBackground = Main.pref.get(PREFERENCE_FADE_BACKGROUND);
     79
     80        if (fadeBackground == null || "".equals(fadeBackground))
     81        {
     82                fadeBackground = "0.0";
     83            Main.pref.put(PREFERENCE_FADE_BACKGROUND, fadeBackground);
     84        }
     85       
     86        float parsed;
     87        try {
     88                parsed = Float.parseFloat(fadeBackground);
     89        } catch (Exception ex) {
     90                setFadeBackground(0.1f);
     91                System.out.println("Error while parsing setting fade background to float! returning 0.1, because of error:");
     92                ex.printStackTrace(System.out);
     93                return 0.1f;
     94        }
     95        if(parsed < 0f) {
     96                parsed = 0f;
     97        } else {
     98                if(parsed > 1f) {
     99                parsed = 1f;
     100            }
     101        }
     102        return parsed;
     103    }
     104   
    68105    public static void setAutoloadTiles(boolean autoloadTiles) {
    69106        Main.pref.put(SlippyMapPreferences.PREFERENCE_AUTOLOADTILES, autoloadTiles);
    70107    }
    71 
     108   
    72109    public static int getMaxZoomLvl()
    73110    {
Note: See TracChangeset for help on using the changeset viewer.