[vassalengine-svn] SF.net SVN: vassalengine:[8053] VASSAL-src/branches/george973-android-v2/ src-sw
Brought to you by:
rodneykinney,
uckelman
From: <geo...@us...> - 2012-01-27 18:38:42
|
Revision: 8053 http://vassalengine.svn.sourceforge.net/vassalengine/?rev=8053&view=rev Author: george973 Date: 2012-01-27 18:38:35 +0000 (Fri, 27 Jan 2012) Log Message: ----------- start of VASSAL/counters part2 Added Paths: ----------- VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/ VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/GamePiece.java VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/PieceEditor.java Added: VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/GamePiece.java =================================================================== --- VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/GamePiece.java (rev 0) +++ VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/GamePiece.java 2012-01-27 18:38:35 UTC (rev 8053) @@ -0,0 +1,72 @@ +/* + * $Id:$ + * + * Copyright (c) 2000-2011 by Rodney Kinney, Joel Uckelman, George Hayward + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License (LGPL) as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, copies are available + * at http://www.opensource.org. + */ +package vassal.counters; + +import VASSAL.build.module.newmap.MapTransform; +import VASSAL.build.module.properties.PropertySource; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Point; +import java.awt.Shape; + +/** + * + * @author george + */ +public interface GamePiece extends PropertySource { + + /** + * Draw the piece using the given graphics context at the specified point, + * applying the given transform. + * + * @param g + * The graphics context to be used. + * @param obs + * The component upon which the drawing will take place. + * @param p + * The point at which the centre of the piece is to be drawn. This + * is given in map coordinates. + * @param m + * The transformation which the map is undergoing as it is drawn. + * This specifies any zoom factor and any orthogonal rotation to + * apply to the map and hence to the piece. This may be null in + * which case no transform is applied to the drawing of the piece. + * @param noRotate + * This is true if the piece is to be drawn without applying + * any rotation to it from the MapTransform. So its position will + * be changed by the transformation but it will remain upright. + * This can be because it is a property of the Map or of the piece + * or because of special drawing requirement. + * @param detail + * This is true if the piece is being drawn for the + * CounterDetailViewer which may causes extra stuff to be drawn + * in some Decorators. + */ + public void draw(Graphics g, Component obs, Point p, MapTransform m, + boolean noRotate, + boolean detail); + + /** + * The shape of the piece from the user's viewpoint. This defines the area + * in which the user must click to select or move the piece, for example. + * Like {@link #boundingBox}, it assumes the position is (0,0) and must be + * translated to the actual location where the piece is being drawn. + */ + public Shape getShape(); +} Added: VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/PieceEditor.java =================================================================== --- VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/PieceEditor.java (rev 0) +++ VASSAL-src/branches/george973-android-v2/src-swing/vassal/counters/PieceEditor.java 2012-01-27 18:38:35 UTC (rev 8053) @@ -0,0 +1,28 @@ +/* + * $Id:$ + * + * Copyright (c) 2000-2011 by Rodney Kinney, Joel Uckelman, George Hayward + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License (LGPL) as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, copies are available + * at http://www.opensource.org. + */ +package vassal.counters; + +/** + * + * @author george + */ +public interface PieceEditor { + + public java.awt.Component getControls(); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |