// License: GPL. See LICENSE file for details.

package org.openstreetmap.josm.gui;

import static org.openstreetmap.josm.tools.I18n.marktr;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.geom.Rectangle2D;

import javax.swing.JComponent;

import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.gui.help.Helpful;

public class MapScaler extends JComponent implements Helpful {

    private final NavigatableComponent mv;
    public MapScaler(NavigatableComponent mv) {
        this.mv = mv;
        setSize(100,30);
        setOpaque(false);
    }

    @Override public void paint(Graphics g) {
        String text = mv.getDist100PixelText();
        Rectangle2D bound = g.getFontMetrics().getStringBounds(text, g);
        g.setColor(getColor());
        g.drawLine(0, 5, 99, 5);
        g.drawLine(0, 0, 0, 10);
        g.drawLine(99, 0, 99, 10);
        g.drawLine(49, 0, 49, 10);
        g.drawLine(24, 3, 24, 7);
        g.drawLine(74, 3, 74, 7);
        g.drawString(text, (int)(100-bound.getWidth()), 23);
        g.drawString("0", 0, 23);
    }

    static public Color getColor()
    {
        return Main.pref.getColor(marktr("scale"), Color.white);
    }

    public String helpTopic() {
        return "MapView/Scaler";
    }
}
