1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 14:57:35 +00:00

LibCards+Spider: Move ensure_top_card_is_visible() logic to CardStack

This commit is contained in:
Sam Atkins 2022-09-28 13:08:07 +01:00 committed by Sam Atkins
parent b26383bc6c
commit 12612703f9
4 changed files with 19 additions and 15 deletions

View file

@ -227,6 +227,20 @@ bool CardStack::is_allowed_to_push(Card const& card, size_t stack_size, Movement
return true;
}
bool CardStack::make_top_card_visible()
{
if (is_empty())
return false;
auto& top_card = peek();
if (top_card.is_upside_down()) {
top_card.set_upside_down(false);
return true;
}
return false;
}
void CardStack::push(NonnullRefPtr<Card> card)
{
auto top_most_position = m_stack_positions.is_empty() ? m_position : m_stack_positions.last();

View file

@ -43,6 +43,7 @@ public:
Gfx::IntRect const& bounding_box() const { return m_bounding_box; }
void set_focused(bool focused) { m_focused = focused; }
bool make_top_card_visible(); // Returns true if the card was flipped.
void push(NonnullRefPtr<Card> card);
NonnullRefPtr<Card> pop();