package mage.cards; import mage.constants.Zone; import mage.view.CardView; import org.apache.log4j.Logger; import javax.swing.*; import java.awt.*; import java.util.List; /** * @author JayDi85 */ public abstract class MageCard extends JLayeredPane { private static final Logger logger = Logger.getLogger(MageCard.class); /** * Return real MageCard panel (example: card icons uses MageLayerCard to implement additional panels) *
* If you need callback from card then use CardEventSource from form (search for example, e.g. card clicks processing)
*
* @return
*/
public MageCard getMainPanel() {
return this;
}
private static final long serialVersionUID = 6089945326434301879L;
public abstract void onBeginAnimation();
public abstract void onEndAnimation();
public abstract boolean isTapped();
public abstract boolean isFlipped();
public abstract void setAlpha(float transparency);
public abstract float getAlpha();
public abstract CardView getOriginal();
// sets the vertical text offset for the card name on the image, use to move caption to card center
public abstract void setCardCaptionTopOffset(int yOffsetPercent);
public abstract void setCardBounds(int x, int y, int width, int height);
public abstract void update(CardView card);
public abstract void updateArtImage();
public abstract Image getImage();
public abstract void setZone(Zone zone);
public abstract Zone getZone();
public abstract void toggleTransformed();
public abstract boolean isTransformed();
public abstract void showCardTitle();
public abstract void setSelected(boolean selected);
/**
* Set link to cards list panel that contains the card component (can process mouse events from the card)
*
* @param cardContainer
*/
public abstract void setCardContainerRef(Container cardContainer);
public abstract void setTopPanelRef(MageCard mageCard);
public abstract MageCard getTopPanelRef();
public abstract Container getCardContainer();
public abstract void setChoosable(boolean isChoosable);
public abstract boolean isChoosable();
public abstract void setPopupMenu(JPopupMenu popupMenu);
public abstract JPopupMenu getPopupMenu();
public abstract void cleanUp();
public abstract int getCardWidth();
public abstract int getCardHeight();
public abstract MageCardAnimationSettings getAnimationSettings(int offsetX, int offsetY, float cardBoundWidth, float cardBoundHeight);
public abstract List