source: josm/trunk/src/org/openstreetmap/josm/gui/bbox/SizeButton.java@ 8792

Last change on this file since 8792 was 8510, checked in by Don-vip, 9 years ago

checkstyle: enable relevant whitespace checks and fix them

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.bbox;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.Dimension;
7import java.awt.Graphics;
8import java.awt.Point;
9import java.awt.event.MouseAdapter;
10import java.awt.event.MouseEvent;
11
12import javax.swing.ImageIcon;
13import javax.swing.JComponent;
14
15import org.openstreetmap.josm.tools.ImageProvider;
16
17/**
18 * @author Tim Haussmann
19 */
20public class SizeButton extends JComponent {
21
22 private int x = 0;
23 private int y = 0;
24
25 private ImageIcon enlargeImage;
26 private ImageIcon shrinkImage;
27 private boolean isEnlarged = false;
28 private final SlippyMapBBoxChooser slippyMapBBoxChooser;
29
30 public SizeButton(SlippyMapBBoxChooser slippyMapBBoxChooser) {
31 this.slippyMapBBoxChooser = slippyMapBBoxChooser;
32 enlargeImage = ImageProvider.get("view-fullscreen");
33 shrinkImage = ImageProvider.get("view-fullscreen-revert");
34 setPreferredSize(new Dimension(enlargeImage.getIconWidth(), enlargeImage.getIconHeight()));
35 addMouseListener(mouseListener);
36 setToolTipText(tr("Enlarge"));
37 }
38
39 private final transient MouseAdapter mouseListener = new MouseAdapter() {
40 @Override
41 public void mouseReleased(MouseEvent e) {
42 if (e.getButton() == MouseEvent.BUTTON1) {
43 toggle();
44 slippyMapBBoxChooser.resizeSlippyMap();
45 }
46 }
47 };
48
49 @Override
50 protected void paintComponent(Graphics g) {
51 if (isEnlarged) {
52 if (shrinkImage != null)
53 g.drawImage(shrinkImage.getImage(), x, y, null);
54 } else {
55 if (enlargeImage != null)
56 g.drawImage(enlargeImage.getImage(), x, y, null);
57 }
58 }
59
60 public void toggle() {
61 isEnlarged = !isEnlarged;
62 setToolTipText(isEnlarged ? tr("Shrink") : tr("Enlarge"));
63 }
64
65 public boolean isEnlarged() {
66 return isEnlarged;
67 }
68
69 public boolean hit(Point point) {
70 if (x < point.x && point.x < x + enlargeImage.getIconWidth()) {
71 if (y < point.y && point.y < y + enlargeImage.getIconHeight()) {
72 return true;
73 }
74 }
75 return false;
76 }
77
78}
Note: See TracBrowser for help on using the repository browser.