mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 13:07:46 +00:00
Everywhere: Stop using NonnullRefPtrVector
This class had slightly confusing semantics and the added weirdness doesn't seem worth it just so we can say "." instead of "->" when iterating over a vector of NNRPs. This patch replaces NonnullRefPtrVector<T> with Vector<NNRP<T>>.
This commit is contained in:
parent
104be6c8ac
commit
8a48246ed1
168 changed files with 1280 additions and 1280 deletions
|
@ -55,14 +55,14 @@ void Card::clear_and_paint(GUI::Painter& painter, Color background_color, bool h
|
|||
save_old_position();
|
||||
}
|
||||
|
||||
ErrorOr<NonnullRefPtrVector<Card>> create_standard_deck(Shuffle shuffle)
|
||||
ErrorOr<Vector<NonnullRefPtr<Card>>> create_standard_deck(Shuffle shuffle)
|
||||
{
|
||||
return create_deck(1, 1, 1, 1, shuffle);
|
||||
}
|
||||
|
||||
ErrorOr<NonnullRefPtrVector<Card>> create_deck(unsigned full_club_suit_count, unsigned full_diamond_suit_count, unsigned full_heart_suit_count, unsigned full_spade_suit_count, Shuffle shuffle)
|
||||
ErrorOr<Vector<NonnullRefPtr<Card>>> create_deck(unsigned full_club_suit_count, unsigned full_diamond_suit_count, unsigned full_heart_suit_count, unsigned full_spade_suit_count, Shuffle shuffle)
|
||||
{
|
||||
NonnullRefPtrVector<Card> deck;
|
||||
Vector<NonnullRefPtr<Card>> deck;
|
||||
TRY(deck.try_ensure_capacity(Card::card_count * (full_club_suit_count + full_diamond_suit_count + full_heart_suit_count + full_spade_suit_count)));
|
||||
|
||||
auto add_cards_for_suit = [&deck](Cards::Suit suit, unsigned number_of_suits) -> ErrorOr<void> {
|
||||
|
|
|
@ -131,8 +131,8 @@ enum class Shuffle {
|
|||
No,
|
||||
Yes,
|
||||
};
|
||||
ErrorOr<NonnullRefPtrVector<Card>> create_standard_deck(Shuffle);
|
||||
ErrorOr<NonnullRefPtrVector<Card>> create_deck(unsigned full_club_suit_count, unsigned full_diamond_suit_count, unsigned full_heart_suit_count, unsigned full_spade_suit_count, Shuffle);
|
||||
ErrorOr<Vector<NonnullRefPtr<Card>>> create_standard_deck(Shuffle);
|
||||
ErrorOr<Vector<NonnullRefPtr<Card>>> create_deck(unsigned full_club_suit_count, unsigned full_diamond_suit_count, unsigned full_heart_suit_count, unsigned full_spade_suit_count, Shuffle);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -36,8 +36,8 @@ CardGame::CardGame()
|
|||
void CardGame::mark_intersecting_stacks_dirty(Cards::Card const& intersecting_card)
|
||||
{
|
||||
for (auto& stack : stacks()) {
|
||||
if (intersecting_card.rect().intersects(stack.bounding_box()))
|
||||
update(stack.bounding_box());
|
||||
if (intersecting_card.rect().intersects(stack->bounding_box()))
|
||||
update(stack->bounding_box());
|
||||
}
|
||||
|
||||
update(intersecting_card.rect());
|
||||
|
@ -49,7 +49,7 @@ Gfx::IntRect CardGame::moving_cards_bounds() const
|
|||
return {};
|
||||
|
||||
// Note: This assumes that the cards are arranged in a line.
|
||||
return m_moving_cards.first().rect().united(m_moving_cards.last().rect());
|
||||
return m_moving_cards.first()->rect().united(m_moving_cards.last()->rect());
|
||||
}
|
||||
|
||||
ErrorOr<void> CardGame::pick_up_cards_from_stack(Cards::CardStack& stack, Gfx::IntPoint click_location, CardStack::MovementRule movement_rule)
|
||||
|
@ -70,10 +70,10 @@ RefPtr<CardStack> CardGame::find_stack_to_drop_on(CardStack::MovementRule moveme
|
|||
if (stack == moving_cards_source_stack())
|
||||
continue;
|
||||
|
||||
if (stack.bounding_box().intersects(bounds_to_check)
|
||||
&& stack.is_allowed_to_push(moving_cards().at(0), moving_cards().size(), movement_rule)) {
|
||||
if (stack->bounding_box().intersects(bounds_to_check)
|
||||
&& stack->is_allowed_to_push(moving_cards().at(0), moving_cards().size(), movement_rule)) {
|
||||
|
||||
auto distance = bounds_to_check.center().distance_from(stack.bounding_box().center());
|
||||
auto distance = bounds_to_check.center().distance_from(stack->bounding_box().center());
|
||||
if (distance < closest_distance) {
|
||||
closest_stack = stack;
|
||||
closest_distance = distance;
|
||||
|
|
|
@ -25,8 +25,8 @@ public:
|
|||
Gfx::Color background_color() const;
|
||||
void set_background_color(Gfx::Color);
|
||||
|
||||
NonnullRefPtrVector<CardStack>& stacks() { return m_stacks; }
|
||||
NonnullRefPtrVector<CardStack> const& stacks() const { return m_stacks; }
|
||||
Vector<NonnullRefPtr<CardStack>>& stacks() { return m_stacks; }
|
||||
Vector<NonnullRefPtr<CardStack>> const& stacks() const { return m_stacks; }
|
||||
CardStack& stack_at_location(int location) { return m_stacks[location]; }
|
||||
|
||||
template<class... Args>
|
||||
|
@ -38,8 +38,8 @@ public:
|
|||
void mark_intersecting_stacks_dirty(Card const& intersecting_card);
|
||||
|
||||
bool is_moving_cards() const { return !m_moving_cards.is_empty(); }
|
||||
NonnullRefPtrVector<Card>& moving_cards() { return m_moving_cards; }
|
||||
NonnullRefPtrVector<Card> const& moving_cards() const { return m_moving_cards; }
|
||||
Vector<NonnullRefPtr<Card>>& moving_cards() { return m_moving_cards; }
|
||||
Vector<NonnullRefPtr<Card>> const& moving_cards() const { return m_moving_cards; }
|
||||
Gfx::IntRect moving_cards_bounds() const;
|
||||
RefPtr<CardStack> moving_cards_source_stack() const { return m_moving_cards_source_stack; }
|
||||
ErrorOr<void> pick_up_cards_from_stack(CardStack&, Gfx::IntPoint click_location, CardStack::MovementRule);
|
||||
|
@ -59,9 +59,9 @@ protected:
|
|||
private:
|
||||
virtual void config_string_did_change(DeprecatedString const& domain, DeprecatedString const& group, DeprecatedString const& key, DeprecatedString const& value) override;
|
||||
|
||||
NonnullRefPtrVector<CardStack> m_stacks;
|
||||
Vector<NonnullRefPtr<CardStack>> m_stacks;
|
||||
|
||||
NonnullRefPtrVector<Card> m_moving_cards;
|
||||
Vector<NonnullRefPtr<Card>> m_moving_cards;
|
||||
RefPtr<CardStack> m_moving_cards_source_stack;
|
||||
RefPtr<CardStack> m_previewed_card_stack;
|
||||
};
|
||||
|
|
|
@ -37,7 +37,7 @@ void CardStack::paint(GUI::Painter& painter, Gfx::Color background_color)
|
|||
auto draw_background_if_empty = [&]() {
|
||||
size_t number_of_moving_cards = 0;
|
||||
for (auto const& card : m_stack)
|
||||
number_of_moving_cards += card.is_moving() ? 1 : 0;
|
||||
number_of_moving_cards += card->is_moving() ? 1 : 0;
|
||||
|
||||
if (m_covered_stack && !m_covered_stack->is_empty())
|
||||
return false;
|
||||
|
@ -96,15 +96,15 @@ void CardStack::paint(GUI::Painter& painter, Gfx::Color background_color)
|
|||
RefPtr<Card> previewed_card;
|
||||
|
||||
for (size_t i = 0; i < m_stack.size(); ++i) {
|
||||
if (auto& card = m_stack[i]; !card.is_moving()) {
|
||||
if (card.is_previewed()) {
|
||||
if (auto& card = m_stack[i]; !card->is_moving()) {
|
||||
if (card->is_previewed()) {
|
||||
VERIFY(!previewed_card);
|
||||
previewed_card = card;
|
||||
continue;
|
||||
}
|
||||
|
||||
auto highlighted = m_highlighted && (i == m_stack.size() - 1);
|
||||
card.clear_and_paint(painter, Gfx::Color::Transparent, highlighted);
|
||||
card->clear_and_paint(painter, Gfx::Color::Transparent, highlighted);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -118,10 +118,10 @@ void CardStack::rebound_cards()
|
|||
|
||||
size_t card_index = 0;
|
||||
for (auto& card : m_stack)
|
||||
card.set_position(m_stack_positions.at(card_index++));
|
||||
card->set_position(m_stack_positions.at(card_index++));
|
||||
}
|
||||
|
||||
ErrorOr<void> CardStack::add_all_grabbed_cards(Gfx::IntPoint click_location, NonnullRefPtrVector<Card>& grabbed, MovementRule movement_rule)
|
||||
ErrorOr<void> CardStack::add_all_grabbed_cards(Gfx::IntPoint click_location, Vector<NonnullRefPtr<Card>>& grabbed, MovementRule movement_rule)
|
||||
{
|
||||
VERIFY(grabbed.is_empty());
|
||||
|
||||
|
@ -137,8 +137,8 @@ ErrorOr<void> CardStack::add_all_grabbed_cards(Gfx::IntPoint click_location, Non
|
|||
RefPtr<Card> last_intersect;
|
||||
|
||||
for (auto& card : m_stack) {
|
||||
if (card.rect().contains(click_location)) {
|
||||
if (card.is_upside_down())
|
||||
if (card->rect().contains(click_location)) {
|
||||
if (card->is_upside_down())
|
||||
continue;
|
||||
|
||||
last_intersect = card;
|
||||
|
@ -148,12 +148,12 @@ ErrorOr<void> CardStack::add_all_grabbed_cards(Gfx::IntPoint click_location, Non
|
|||
last_intersect->set_moving(true);
|
||||
}
|
||||
|
||||
if (card.is_upside_down()) {
|
||||
if (card->is_upside_down()) {
|
||||
grabbed.clear();
|
||||
return {};
|
||||
}
|
||||
|
||||
card.set_moving(true);
|
||||
card->set_moving(true);
|
||||
TRY(grabbed.try_append(card));
|
||||
}
|
||||
}
|
||||
|
@ -173,28 +173,28 @@ ErrorOr<void> CardStack::add_all_grabbed_cards(Gfx::IntPoint click_location, Non
|
|||
bool color_match;
|
||||
switch (movement_rule) {
|
||||
case MovementRule::Alternating:
|
||||
color_match = card.color() != last_color;
|
||||
color_match = card->color() != last_color;
|
||||
break;
|
||||
case MovementRule::Same:
|
||||
color_match = card.color() == last_color;
|
||||
color_match = card->color() == last_color;
|
||||
break;
|
||||
case MovementRule::Any:
|
||||
color_match = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!color_match || to_underlying(card.rank()) != last_value - 1) {
|
||||
if (!color_match || to_underlying(card->rank()) != last_value - 1) {
|
||||
valid_stack = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
last_value = to_underlying(card.rank());
|
||||
last_color = card.color();
|
||||
last_value = to_underlying(card->rank());
|
||||
last_color = card->color();
|
||||
}
|
||||
|
||||
if (!valid_stack) {
|
||||
for (auto& card : grabbed) {
|
||||
card.set_moving(false);
|
||||
card->set_moving(false);
|
||||
}
|
||||
grabbed.clear();
|
||||
}
|
||||
|
@ -257,9 +257,9 @@ bool CardStack::preview_card(Gfx::IntPoint click_location)
|
|||
RefPtr<Card> last_intersect;
|
||||
|
||||
for (auto& card : m_stack) {
|
||||
if (!card.rect().contains(click_location))
|
||||
if (!card->rect().contains(click_location))
|
||||
continue;
|
||||
if (card.is_upside_down())
|
||||
if (card->is_upside_down())
|
||||
continue;
|
||||
|
||||
last_intersect = card;
|
||||
|
@ -275,7 +275,7 @@ bool CardStack::preview_card(Gfx::IntPoint click_location)
|
|||
void CardStack::clear_card_preview()
|
||||
{
|
||||
for (auto& card : m_stack)
|
||||
card.set_previewed(false);
|
||||
card->set_previewed(false);
|
||||
}
|
||||
|
||||
bool CardStack::make_top_card_visible()
|
||||
|
@ -350,7 +350,7 @@ void CardStack::calculate_bounding_box()
|
|||
size_t card_position = 0;
|
||||
for (auto& card : m_stack) {
|
||||
if (card_position % m_rules.step == 0 && card_position != 0) {
|
||||
if (card.is_upside_down()) {
|
||||
if (card->is_upside_down()) {
|
||||
width += m_rules.shift_x;
|
||||
height += m_rules.shift_y_upside_down;
|
||||
} else {
|
||||
|
|
|
@ -35,7 +35,7 @@ public:
|
|||
|
||||
bool is_empty() const { return m_stack.is_empty(); }
|
||||
Type type() const { return m_type; }
|
||||
NonnullRefPtrVector<Card> const& stack() const { return m_stack; }
|
||||
Vector<NonnullRefPtr<Card>> const& stack() const { return m_stack; }
|
||||
size_t count() const { return m_stack.size(); }
|
||||
Card const& peek() const { return m_stack.last(); }
|
||||
Card& peek() { return m_stack.last(); }
|
||||
|
@ -49,7 +49,7 @@ public:
|
|||
void rebound_cards();
|
||||
|
||||
bool is_allowed_to_push(Card const&, size_t stack_size = 1, MovementRule movement_rule = MovementRule::Alternating) const;
|
||||
ErrorOr<void> add_all_grabbed_cards(Gfx::IntPoint click_location, NonnullRefPtrVector<Card>& grabbed, MovementRule movement_rule = MovementRule::Alternating);
|
||||
ErrorOr<void> add_all_grabbed_cards(Gfx::IntPoint click_location, Vector<NonnullRefPtr<Card>>& grabbed, MovementRule movement_rule = MovementRule::Alternating);
|
||||
|
||||
bool preview_card(Gfx::IntPoint click_location);
|
||||
void clear_card_preview();
|
||||
|
@ -91,7 +91,7 @@ private:
|
|||
// eg, in Solitaire the Play stack is positioned over the Waste stack.
|
||||
RefPtr<CardStack> m_covered_stack;
|
||||
|
||||
NonnullRefPtrVector<Card> m_stack;
|
||||
Vector<NonnullRefPtr<Card>> m_stack;
|
||||
Vector<Gfx::IntPoint> m_stack_positions;
|
||||
Gfx::IntPoint m_position;
|
||||
Gfx::IntRect m_bounding_box;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue