[vassalengine-svn-trunk] [vassalengine-svn] SF.net SVN: vassalengine:[3975] ASL-src/trunk/src/VASL
Brought to you by:
rodneykinney,
uckelman
From: <rod...@us...> - 2008-08-03 19:59:44
|
Revision: 3975 http://vassalengine.svn.sourceforge.net/vassalengine/?rev=3975&view=rev Author: rodneykinney Date: 2008-08-03 19:59:48 +0000 (Sun, 03 Aug 2008) Log Message: ----------- VASL: fix Turreted and add CounterDetailViewer Modified Paths: -------------- ASL-src/trunk/src/VASL/counters/TextInfo.java ASL-src/trunk/src/VASL/counters/Turreted.java Added Paths: ----------- ASL-src/trunk/src/VASL/build/module/map/CounterDetailViewer.java Added: ASL-src/trunk/src/VASL/build/module/map/CounterDetailViewer.java =================================================================== --- ASL-src/trunk/src/VASL/build/module/map/CounterDetailViewer.java (rev 0) +++ ASL-src/trunk/src/VASL/build/module/map/CounterDetailViewer.java 2008-08-03 19:59:48 UTC (rev 3975) @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2000-2007 by Rodney Kinney + * + * 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 VASL.build.module.map; + +import java.awt.Rectangle; + +import VASL.counters.TextInfo; +import VASSAL.counters.Decorator; +import VASSAL.counters.GamePiece; + +public class CounterDetailViewer extends VASSAL.build.module.map.CounterDetailViewer { + @Override + protected Rectangle getBounds(GamePiece piece) { + TextInfo info = (TextInfo) Decorator.getDecorator(piece, TextInfo.class); + if (info != null && info.isInfoShowing()) { + return piece.boundingBox(); + } + else { + return super.getBounds(piece); + } + } +} Modified: ASL-src/trunk/src/VASL/counters/TextInfo.java =================================================================== --- ASL-src/trunk/src/VASL/counters/TextInfo.java 2008-08-03 19:57:18 UTC (rev 3974) +++ ASL-src/trunk/src/VASL/counters/TextInfo.java 2008-08-03 19:59:48 UTC (rev 3975) @@ -82,6 +82,10 @@ } return null; } + + public boolean isInfoShowing() { + return showInfo; + } public Shape getShape() { return piece.getShape(); Modified: ASL-src/trunk/src/VASL/counters/Turreted.java =================================================================== --- ASL-src/trunk/src/VASL/counters/Turreted.java 2008-08-03 19:57:18 UTC (rev 3974) +++ ASL-src/trunk/src/VASL/counters/Turreted.java 2008-08-03 19:59:48 UTC (rev 3975) @@ -18,6 +18,8 @@ */ package VASL.counters; +import java.awt.Component; +import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.awt.Shape; @@ -35,6 +37,7 @@ import VASSAL.counters.SimplePieceEditor; import VASSAL.tools.SequenceEncoder; import VASSAL.tools.imageop.Op; +import VASSAL.tools.imageop.ScaledImagePainter; /** * This class draws a turret counter at different offsets depending on the CA @@ -48,6 +51,8 @@ protected boolean flipped; protected boolean rotateWithCounter; // As of VASL 4.2+, vehicles counters rotate in their entirety, // rather than just the silhouette + protected ScaledImagePainter[] frontImages; + protected ScaledImagePainter[] backImages; public Turreted() { // this(ID + "tcaCE;tca;S;A;r", null); // Enable this in VASL 5.0 @@ -81,13 +86,30 @@ } } super.mySetType(embType); + frontImages = new ScaledImagePainter[6]; + backImages = new ScaledImagePainter[6]; + for (int i=0;i<6;++i) { + frontImages[i] = new ScaledImagePainter(); + frontImages[i].setImageName(front+(i+1)); + backImages[i] = new ScaledImagePainter(); + backImages[i].setImageName(back+(i+1)); + } } public Shape getShape() { return piece.getShape(); } + + public boolean isActive() { + return super.isActive() && (flipped || value != getVehicleCA()); + } + + @Override + public void draw(Graphics g, int x, int y, Component obs, double zoom) { + imagePainter = flipped ? backImages : frontImages; + super.draw(g, x, y, obs, zoom); + } - protected Image getCurrentImage() throws java.io.IOException { if (flipped || value != getVehicleCA()) { try { @@ -110,7 +132,6 @@ switch (value) { case 1: r.translate(20, -10); - ; break; case 2: r.translate(20, 5); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ vassalengine-svn mailing list vas...@li... https://lists.sourceforge.net/lists/listinfo/vassalengine-svn |