mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Add PaperCard renderer for DualListBox
This commit is contained in:
@@ -8,6 +8,7 @@ import forge.card.CardRenderer;
|
|||||||
import forge.card.CardZoom;
|
import forge.card.CardZoom;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
import forge.item.PaperCard;
|
||||||
import forge.screens.match.views.VPrompt;
|
import forge.screens.match.views.VPrompt;
|
||||||
import forge.screens.match.views.VStack;
|
import forge.screens.match.views.VStack;
|
||||||
import forge.toolbox.FEvent.FEventHandler;
|
import forge.toolbox.FEvent.FEventHandler;
|
||||||
@@ -110,6 +111,9 @@ public class DualListBox<T> extends FDialog {
|
|||||||
if (item instanceof Card) {
|
if (item instanceof Card) {
|
||||||
renderer = new CardItemRenderer();
|
renderer = new CardItemRenderer();
|
||||||
}
|
}
|
||||||
|
else if (item instanceof PaperCard) {
|
||||||
|
renderer = new PaperCardItemRenderer();
|
||||||
|
}
|
||||||
else if (item instanceof SpellAbility) {
|
else if (item instanceof SpellAbility) {
|
||||||
renderer = new SpellAbilityItemRenderer();
|
renderer = new SpellAbilityItemRenderer();
|
||||||
}
|
}
|
||||||
@@ -369,6 +373,34 @@ public class DualListBox<T> extends FDialog {
|
|||||||
CardRenderer.drawCardListItem(g, font, foreColor, (Card)value, 0, null, x, y, w, h);
|
CardRenderer.drawCardListItem(g, font, foreColor, (Card)value, 0, null, x, y, w, h);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//special renderer for paper cards
|
||||||
|
private class PaperCardItemRenderer extends ItemRenderer {
|
||||||
|
@Override
|
||||||
|
public FSkinFont getDefaultFont() {
|
||||||
|
return FSkinFont.get(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getItemHeight() {
|
||||||
|
return CardRenderer.getCardListItemHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean tap(T value, float x, float y, int count) {
|
||||||
|
return CardRenderer.cardListItemTap((PaperCard)value, x, y, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean longPress(T value, float x, float y) {
|
||||||
|
CardZoom.show((PaperCard)value);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawValue(Graphics g, T value, FSkinFont font, FSkinColor foreColor, boolean pressed, float x, float y, float w, float h) {
|
||||||
|
CardRenderer.drawCardListItem(g, font, foreColor, (PaperCard)value, 0, null, x, y, w, h);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private class ChoiceList extends FList<T> {
|
private class ChoiceList extends FList<T> {
|
||||||
private List<Integer> selectedIndices = new ArrayList<Integer>();
|
private List<Integer> selectedIndices = new ArrayList<Integer>();
|
||||||
|
|||||||
Reference in New Issue
Block a user