From: Martin F. <mar...@us...> - 2008-03-29 22:03:19
|
Update of /cvsroot/arianne/stendhal/tiled/src/tiled/mapeditor/widget In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv21928/tiled/src/tiled/mapeditor/widget Modified Files: TileGroupButton.java Log Message: dispose graphics contexts after usage Index: TileGroupButton.java =================================================================== RCS file: /cvsroot/arianne/stendhal/tiled/src/tiled/mapeditor/widget/TileGroupButton.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** TileGroupButton.java 18 Mar 2008 19:30:33 -0000 1.6 --- TileGroupButton.java 29 Mar 2008 22:02:44 -0000 1.7 *************** *** 1,83 **** ! /* ! * Tiled Map Editor, (c) 2004 ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or ! * (at your option) any later version. ! * ! * Adam Turk <at...@bi...> ! * Bjorn Lindeijer <b.l...@xs...> ! * ! * modified for Stendhal, an Arianne powered RPG ! * (http://arianne.sf.net) ! * ! * Matthias Totz <mt...@us...> ! */ ! ! package tiled.mapeditor.widget; ! ! import java.awt.Color; ! import java.awt.Dimension; ! import java.awt.Graphics2D; ! import java.awt.image.BufferedImage; ! ! import javax.swing.Action; ! import javax.swing.ImageIcon; ! import javax.swing.JToggleButton; ! ! import tiled.core.TileGroup; ! import tiled.mapeditor.MapEditor; ! ! /** ! * @author mtotz ! * ! */ ! public class TileGroupButton extends JToggleButton { ! private static final long serialVersionUID = -5257961848226829114L; ! /** width of the tile group. */ ! private int width; ! /** width of the tile group. */ ! private int height; ! /** the tilegroup. */ ! private TileGroup tileGroup; ! ! /** */ ! public TileGroupButton(MapEditor mapEditor, Action action, TileGroup tileGroup) { ! super(action); ! setBorderPainted(false); ! BufferedImage image = mapEditor.mapView.drawTileGroup(tileGroup); ! ! width = image.getWidth(); ! height = image.getHeight(); ! ! Graphics2D g = image.createGraphics(); ! g.setColor(Color.WHITE); ! g.drawRect(0, 0, width - 1, height - 1); ! g.drawRect(1, 1, width - 3, height - 3); ! ! setIcon(new ImageIcon(image)); ! setText(null); ! this.tileGroup = tileGroup; ! } ! ! /** returns the tilegroup for this button. */ ! public TileGroup getTileGroup() { ! return tileGroup; ! } ! ! @Override ! public Dimension getPreferredSize() { ! return new Dimension(width, height); ! } ! ! @Override ! public Dimension getMaximumSize() { ! return getPreferredSize(); ! } ! ! @Override ! public Dimension getMinimumSize() { ! return getPreferredSize(); ! } ! } --- 1,84 ---- ! /* ! * Tiled Map Editor, (c) 2004 ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or ! * (at your option) any later version. ! * ! * Adam Turk <at...@bi...> ! * Bjorn Lindeijer <b.l...@xs...> ! * ! * modified for Stendhal, an Arianne powered RPG ! * (http://arianne.sf.net) ! * ! * Matthias Totz <mt...@us...> ! */ ! ! package tiled.mapeditor.widget; ! ! import java.awt.Color; ! import java.awt.Dimension; ! import java.awt.Graphics2D; ! import java.awt.image.BufferedImage; ! ! import javax.swing.Action; ! import javax.swing.ImageIcon; ! import javax.swing.JToggleButton; ! ! import tiled.core.TileGroup; ! import tiled.mapeditor.MapEditor; ! ! /** ! * @author mtotz ! * ! */ ! public class TileGroupButton extends JToggleButton { ! private static final long serialVersionUID = -5257961848226829114L; ! /** width of the tile group. */ ! private int width; ! /** width of the tile group. */ ! private int height; ! /** the tilegroup. */ ! private TileGroup tileGroup; ! ! /** */ ! public TileGroupButton(MapEditor mapEditor, Action action, TileGroup tileGroup) { ! super(action); ! setBorderPainted(false); ! BufferedImage image = mapEditor.mapView.drawTileGroup(tileGroup); ! ! width = image.getWidth(); ! height = image.getHeight(); ! ! Graphics2D g = image.createGraphics(); ! g.setColor(Color.WHITE); ! g.drawRect(0, 0, width - 1, height - 1); ! g.drawRect(1, 1, width - 3, height - 3); ! g.dispose(); ! ! setIcon(new ImageIcon(image)); ! setText(null); ! this.tileGroup = tileGroup; ! } ! ! /** returns the tilegroup for this button. */ ! public TileGroup getTileGroup() { ! return tileGroup; ! } ! ! @Override ! public Dimension getPreferredSize() { ! return new Dimension(width, height); ! } ! ! @Override ! public Dimension getMaximumSize() { ! return getPreferredSize(); ! } ! ! @Override ! public Dimension getMinimumSize() { ! return getPreferredSize(); ! } ! } |