I’m trying to develop a game that allows a player to drag playing cards from their hand to a location on an open table

Cards can only be dragged and dropped to certain positions adjacent to a card that was played prior. The valid locations are either vertical or horizontal from the last played card, unless it’s the first card and it can be dropped anywhere. I’d like the adjacent locations that are valid for dropping a card to be highlighted in green when it’s the user’s turn as illustrated below:

Would I need to use the CustomPainter class to handle this situation? If so, should I make the entire Custom Painter area a drop target and have it update appropriately when dragging?

Looking for ideas/input. Thanks.