mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 19:37:36 +00:00
Minesweeper: Use one premade mine palette for all mine widgets
Fixes #6283
This commit is contained in:
parent
c130161d9f
commit
900fe5633a
2 changed files with 8 additions and 5 deletions
|
@ -28,6 +28,7 @@
|
||||||
#include <AK/HashTable.h>
|
#include <AK/HashTable.h>
|
||||||
#include <AK/Queue.h>
|
#include <AK/Queue.h>
|
||||||
#include <LibCore/ConfigFile.h>
|
#include <LibCore/ConfigFile.h>
|
||||||
|
#include <LibGUI/Application.h>
|
||||||
#include <LibGUI/Button.h>
|
#include <LibGUI/Button.h>
|
||||||
#include <LibGUI/Label.h>
|
#include <LibGUI/Label.h>
|
||||||
#include <LibGUI/Painter.h>
|
#include <LibGUI/Painter.h>
|
||||||
|
@ -124,7 +125,8 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
Field::Field(GUI::Label& flag_label, GUI::Label& time_label, GUI::Button& face_button, Function<void(Gfx::IntSize)> on_size_changed)
|
Field::Field(GUI::Label& flag_label, GUI::Label& time_label, GUI::Button& face_button, Function<void(Gfx::IntSize)> on_size_changed)
|
||||||
: m_face_button(face_button)
|
: m_mine_palette(GUI::Application::the()->palette().impl().clone())
|
||||||
|
, m_face_button(face_button)
|
||||||
, m_flag_label(flag_label)
|
, m_flag_label(flag_label)
|
||||||
, m_time_label(time_label)
|
, m_time_label(time_label)
|
||||||
, m_on_size_changed(move(on_size_changed))
|
, m_on_size_changed(move(on_size_changed))
|
||||||
|
@ -145,6 +147,8 @@ Field::Field(GUI::Label& flag_label, GUI::Label& time_label, GUI::Button& face_b
|
||||||
m_bad_face_bitmap = Gfx::Bitmap::load_from_file("/res/icons/minesweeper/face-bad.png");
|
m_bad_face_bitmap = Gfx::Bitmap::load_from_file("/res/icons/minesweeper/face-bad.png");
|
||||||
for (int i = 0; i < 8; ++i)
|
for (int i = 0; i < 8; ++i)
|
||||||
m_number_bitmap[i] = Gfx::Bitmap::load_from_file(String::formatted("/res/icons/minesweeper/{}.png", i + 1));
|
m_number_bitmap[i] = Gfx::Bitmap::load_from_file(String::formatted("/res/icons/minesweeper/{}.png", i + 1));
|
||||||
|
// Square with mine will be filled with background color later, i.e. red
|
||||||
|
m_mine_palette.set_color(Gfx::ColorRole::Base, Color::from_rgb(0xff4040));
|
||||||
|
|
||||||
set_fill_with_background_color(true);
|
set_fill_with_background_color(true);
|
||||||
reset();
|
reset();
|
||||||
|
@ -254,10 +258,7 @@ void Field::reset()
|
||||||
square.is_swept = false;
|
square.is_swept = false;
|
||||||
if (!square.label) {
|
if (!square.label) {
|
||||||
square.label = add<SquareLabel>(square);
|
square.label = add<SquareLabel>(square);
|
||||||
// Square with mine will be filled with background color later, i.e. red
|
square.label->set_palette(m_mine_palette);
|
||||||
auto palette = square.label->palette();
|
|
||||||
palette.set_color(Gfx::ColorRole::Base, Color::from_rgb(0xff4040));
|
|
||||||
square.label->set_palette(palette);
|
|
||||||
square.label->set_background_role(Gfx::ColorRole::Base);
|
square.label->set_background_role(Gfx::ColorRole::Base);
|
||||||
}
|
}
|
||||||
square.label->set_fill_with_background_color(false);
|
square.label->set_fill_with_background_color(false);
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include <AK/Noncopyable.h>
|
#include <AK/Noncopyable.h>
|
||||||
#include <LibCore/Timer.h>
|
#include <LibCore/Timer.h>
|
||||||
#include <LibGUI/Frame.h>
|
#include <LibGUI/Frame.h>
|
||||||
|
#include <LibGfx/Palette.h>
|
||||||
|
|
||||||
class Field;
|
class Field;
|
||||||
class SquareButton;
|
class SquareButton;
|
||||||
|
@ -118,6 +119,7 @@ private:
|
||||||
RefPtr<Gfx::Bitmap> m_good_face_bitmap;
|
RefPtr<Gfx::Bitmap> m_good_face_bitmap;
|
||||||
RefPtr<Gfx::Bitmap> m_bad_face_bitmap;
|
RefPtr<Gfx::Bitmap> m_bad_face_bitmap;
|
||||||
RefPtr<Gfx::Bitmap> m_number_bitmap[8];
|
RefPtr<Gfx::Bitmap> m_number_bitmap[8];
|
||||||
|
Gfx::Palette m_mine_palette;
|
||||||
GUI::Button& m_face_button;
|
GUI::Button& m_face_button;
|
||||||
GUI::Label& m_flag_label;
|
GUI::Label& m_flag_label;
|
||||||
GUI::Label& m_time_label;
|
GUI::Label& m_time_label;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue