From a9fd423482d958d12b7843352eef4fe389ce5f6a Mon Sep 17 00:00:00 2001 From: drdev Date: Sun, 25 May 2014 15:26:14 +0000 Subject: [PATCH] Fix unselecting or zooming selected items in image view --- .../src/forge/itemmanager/views/ImageView.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java index 7ff40332de7..e3cd7d192ea 100644 --- a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java +++ b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java @@ -8,6 +8,7 @@ import forge.assets.FSkinImage; import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.ImageCache; +import forge.card.CardRenderer; import forge.card.CardZoom; import forge.deck.DeckProxy; import forge.game.card.Card; @@ -580,6 +581,16 @@ public class ImageView extends ItemView { } private ItemInfo getItemAtPoint(float x, float y) { + //check selected items first since they appear on top + for (int i = selectedIndices.size() - 1; i >= 0; i--) { + ItemInfo item = orderedItems.get(selectedIndices.get(i)); + float relX = x + item.group.getScrollLeft() - item.group.getLeft(); + float relY = y + getScrollValue(); + if (item.contains(relX, relY)) { + return item; + } + } + for (int i = groups.size() - 1; i >= 0; i--) { Group group = groups.get(i); if (!group.isCollapsed) { @@ -946,16 +957,16 @@ public class ImageView extends ItemView { } //draw foil effect if needed - /*if (item instanceof IPaperCard) { + if (item instanceof IPaperCard) { IPaperCard paperCard = (IPaperCard)item; if (paperCard.isFoil()) { Card card = Card.getCardForUi(paperCard); if (card.getFoil() == 0) { //if foil finish not yet established, assign a random one card.setRandomFoil(); } - CardPanel.drawFoilEffect(g, card, getLeft(), getTop(), getWidth(), getHeight(), borderSize); + CardRenderer.drawFoilEffect(g, card, getLeft(), getTop(), getWidth(), getHeight()); } - }*/ + } } } }