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

Last change on this file since 6539 was 6539, checked in by jttt, 10 years ago

Convert SizeButton and SourceButton to swing compontents

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