diff --git a/resources/images/transparent_ams_item.svg b/resources/images/transparent_ams_item.svg
new file mode 100644
index 0000000000..6991cfa546
--- /dev/null
+++ b/resources/images/transparent_ams_item.svg
@@ -0,0 +1,21 @@
+
\ No newline at end of file
diff --git a/resources/images/transparent_ams_lib.svg b/resources/images/transparent_ams_lib.svg
new file mode 100644
index 0000000000..4354abef91
--- /dev/null
+++ b/resources/images/transparent_ams_lib.svg
@@ -0,0 +1,125 @@
+
diff --git a/resources/images/transparent_color_picker.svg b/resources/images/transparent_color_picker.svg
new file mode 100644
index 0000000000..5a41befa3f
--- /dev/null
+++ b/resources/images/transparent_color_picker.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/transparent_mapping_item.svg b/resources/images/transparent_mapping_item.svg
new file mode 100644
index 0000000000..f1e577439a
--- /dev/null
+++ b/resources/images/transparent_mapping_item.svg
@@ -0,0 +1,76 @@
+
diff --git a/resources/images/transparent_material_item.svg b/resources/images/transparent_material_item.svg
new file mode 100644
index 0000000000..9436fd87a9
--- /dev/null
+++ b/resources/images/transparent_material_item.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp
index 865a432be0..ecaff44755 100644
--- a/src/slic3r/GUI/AMSMaterialsSetting.cpp
+++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp
@@ -644,7 +644,7 @@ void AMSMaterialsSetting::set_colors(std::vector colors)
void AMSMaterialsSetting::on_picker_color(wxCommandEvent& event)
{
unsigned int color_num = event.GetInt();
- set_color(wxColour(color_num>>16&0xFF, color_num>>8&0xFF, color_num&0xFF));
+ set_color(wxColour(color_num>>24&0xFF, color_num>>16&0xFF, color_num>>8&0xFF, color_num&0xFF));
}
void AMSMaterialsSetting::on_clr_picker(wxMouseEvent &event)
@@ -929,7 +929,9 @@ ColorPicker::ColorPicker(wxWindow* parent, wxWindowID id, const wxPoint& pos /*=
SetMaxSize(wxSize(FromDIP(25), FromDIP(25)));
Bind(wxEVT_PAINT, &ColorPicker::paintEvent, this);
+
m_bitmap_border = create_scaled_bitmap("color_picker_border", nullptr, 25);
+ m_bitmap_transparent = create_scaled_bitmap("transparent_color_picker", nullptr, 25);
}
ColorPicker::~ColorPicker(){}
@@ -982,13 +984,19 @@ void ColorPicker::render(wxDC& dc)
void ColorPicker::doRender(wxDC& dc)
{
wxSize size = GetSize();
+ auto alpha = m_colour.Alpha();
auto radius = m_show_full?size.x / 2:size.x / 2 - FromDIP(1);
if (m_selected) radius -= FromDIP(1);
- dc.SetPen(wxPen(m_colour));
- dc.SetBrush(wxBrush(m_colour));
- dc.DrawCircle(size.x / 2, size.x / 2, radius);
+ if (alpha == 0) {
+ dc.DrawBitmap(m_bitmap_transparent, 0, 0);
+ }
+ else {
+ dc.SetPen(wxPen(m_colour));
+ dc.SetBrush(wxBrush(m_colour));
+ dc.DrawCircle(size.x / 2, size.x / 2, radius);
+ }
if (m_selected) {
dc.SetPen(wxPen(m_colour));
@@ -1001,6 +1009,11 @@ void ColorPicker::doRender(wxDC& dc)
dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.DrawCircle(size.x / 2, size.x / 2, radius);
+ //transparent
+ if (alpha == 0) {
+ dc.DrawBitmap(m_bitmap_transparent, 0, 0);
+ }
+
if (m_cols.size() > 1) {
int left = FromDIP(0);
float total_width = size.x;
@@ -1096,7 +1109,7 @@ ColorPickerPopup::ColorPickerPopup(wxWindow* parent)
set_def_colour(cp->m_colour);
wxCommandEvent evt(EVT_SELECTED_COLOR);
- unsigned long g_col = ((cp->m_colour.Red() & 0xff) << 16) + ((cp->m_colour.Green() & 0xff) << 8) + (cp->m_colour.Blue() & 0xff);
+ unsigned long g_col = ((cp->m_colour.Red() & 0xff) << 24) + ((cp->m_colour.Green() & 0xff) << 16) + ((cp->m_colour.Blue() & 0xff) << 8) + (cp->m_colour.Alpha() & 0xff);
evt.SetInt(g_col);
wxPostEvent(GetParent(), evt);
});
@@ -1183,7 +1196,7 @@ void ColorPickerPopup::on_custom_clr_picker(wxMouseEvent& event)
m_custom_cp->SetBackgroundColor(picker_color);
set_def_colour(picker_color);
wxCommandEvent evt(EVT_SELECTED_COLOR);
- unsigned long g_col = ((picker_color.Red() & 0xff) << 16) + ((picker_color.Green() & 0xff) << 8) + (picker_color.Blue() & 0xff);
+ unsigned long g_col = ((picker_color.Red() & 0xff) << 24) + ((picker_color.Green() & 0xff) << 16) + ((picker_color.Blue() & 0xff) << 8) + (picker_color.Alpha() & 0xff);
evt.SetInt(g_col);
wxPostEvent(GetParent(), evt);
}
@@ -1218,7 +1231,7 @@ void ColorPickerPopup::set_ams_colours(std::vector ams)
set_def_colour(cp->m_colour);
wxCommandEvent evt(EVT_SELECTED_COLOR);
- unsigned long g_col = ((cp->m_colour.Red() & 0xff) << 16) + ((cp->m_colour.Green() & 0xff) << 8) + (cp->m_colour.Blue() & 0xff);
+ unsigned long g_col = ((cp->m_colour.Red() & 0xff) << 24) + ((cp->m_colour.Green() & 0xff) << 16) + ((cp->m_colour.Blue() & 0xff) << 8) + (cp->m_colour.Alpha() & 0xff);
evt.SetInt(g_col);
wxPostEvent(GetParent(), evt);
});
diff --git a/src/slic3r/GUI/AMSMaterialsSetting.hpp b/src/slic3r/GUI/AMSMaterialsSetting.hpp
index 60d7e17c0c..7a88ed930b 100644
--- a/src/slic3r/GUI/AMSMaterialsSetting.hpp
+++ b/src/slic3r/GUI/AMSMaterialsSetting.hpp
@@ -32,6 +32,8 @@ class ColorPicker : public wxWindow
{
public:
wxBitmap m_bitmap_border;
+ wxBitmap m_bitmap_transparent;
+
wxColour m_colour;
std::vector m_cols;
bool m_selected{false};
diff --git a/src/slic3r/GUI/AmsMappingPopup.cpp b/src/slic3r/GUI/AmsMappingPopup.cpp
index b5d09ff0c4..dfd3dce46f 100644
--- a/src/slic3r/GUI/AmsMappingPopup.cpp
+++ b/src/slic3r/GUI/AmsMappingPopup.cpp
@@ -30,7 +30,7 @@ wxDEFINE_EVENT(EVT_SET_FINISH_MAPPING, wxCommandEvent);
{
m_arraw_bitmap_gray = ScalableBitmap(this, "drop_down", FromDIP(12));
m_arraw_bitmap_white = ScalableBitmap(this, "topbar_dropdown", FromDIP(12));
-
+ m_transparent_mitem = ScalableBitmap(this, "transparent_material_item", FromDIP(32));
m_material_coloul = mcolour;
m_material_name = mname;
@@ -121,6 +121,7 @@ void MaterialItem::render(wxDC &dc)
dc.SetFont(::Label::Body_13);
auto material_name_colour = m_material_coloul.GetLuminance() < 0.5 ? *wxWHITE : wxColour(0x26, 0x2E, 0x30);
+ if (m_material_coloul.Alpha() == 0) {material_name_colour = wxColour(0x26, 0x2E, 0x30);}
dc.SetTextForeground(material_name_colour);
if (dc.GetTextExtent(m_material_name).x > GetSize().x - 10) {
@@ -134,6 +135,9 @@ void MaterialItem::render(wxDC &dc)
// mapping num
dc.SetFont(::Label::Body_10);
dc.SetTextForeground(m_ams_coloul.GetLuminance() < 0.5 ? *wxWHITE : wxColour(0x26, 0x2E, 0x30));
+ if (m_ams_coloul.Alpha() == 0) {
+ dc.SetTextForeground(wxColour(0x26, 0x2E, 0x30));
+ }
wxString mapping_txt = wxEmptyString;
if (m_ams_name.empty()) {
@@ -148,6 +152,10 @@ void MaterialItem::render(wxDC &dc)
void MaterialItem::doRender(wxDC &dc)
{
+ if (m_material_coloul.Alpha() == 0) {
+ dc.DrawBitmap(m_transparent_mitem.bmp(), FromDIP(1), FromDIP(1));
+ }
+
//top
dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(wxBrush(m_material_coloul));
@@ -181,7 +189,7 @@ void MaterialItem::doRender(wxDC &dc)
dc.DrawRoundedRectangle(1, 1, MATERIAL_ITEM_SIZE.x - 1, MATERIAL_ITEM_SIZE.y - 1, 5);
}
#else
- if (m_material_coloul == *wxWHITE || m_ams_coloul == *wxWHITE) {
+ if (m_material_coloul == *wxWHITE || m_ams_coloul == *wxWHITE || m_ams_coloul.Alpha() == 0) {
dc.SetPen(wxColour(0xAC, 0xAC, 0xAC));
dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.DrawRoundedRectangle(0, 0, MATERIAL_ITEM_SIZE.x, MATERIAL_ITEM_SIZE.y, 5);
@@ -194,7 +202,6 @@ void MaterialItem::doRender(wxDC &dc)
}
#endif
//arrow
-
if ( (m_ams_coloul.Red() > 160 && m_ams_coloul.Green() > 160 && m_ams_coloul.Blue() > 160) &&
(m_ams_coloul.Red() < 180 && m_ams_coloul.Green() < 180 && m_ams_coloul.Blue() < 180)) {
dc.DrawBitmap(m_arraw_bitmap_white.bmp(), GetSize().x - m_arraw_bitmap_white.GetBmpSize().x - FromDIP(7), GetSize().y - m_arraw_bitmap_white.GetBmpSize().y);
@@ -535,6 +542,8 @@ void AmsMapingPopup::paintEvent(wxPaintEvent &evt)
#ifdef __WINDOWS__
SetDoubleBuffered(true);
#endif //__WINDOWS__
+
+ m_transparent_mapping_item = ScalableBitmap(this, "transparent_mapping_item", FromDIP(44));
SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE));
Bind(wxEVT_PAINT, &MappingItem::paintEvent, this);
}
@@ -550,7 +559,7 @@ void MappingItem::send_event(int fliament_id)
wxCommandEvent event(EVT_SET_FINISH_MAPPING);
event.SetInt(m_tray_data.id);
- wxString param = wxString::Format("%d|%d|%d|%s|%d", m_coloul.Red(), m_coloul.Green(), m_coloul.Blue(), number, fliament_id);
+ wxString param = wxString::Format("%d|%d|%d|%d|%s|%d", m_coloul.Red(), m_coloul.Green(), m_coloul.Blue(), m_coloul.Alpha(), number, fliament_id);
event.SetString(param);
event.SetEventObject(this->GetParent()->GetParent());
wxPostEvent(this->GetParent()->GetParent()->GetParent(), event);
@@ -594,7 +603,7 @@ void MappingItem::render(wxDC &dc)
auto txt_colour = m_coloul.GetLuminance() < 0.5 ? *wxWHITE : wxColour(0x26, 0x2E, 0x30);
txt_colour = m_unmatch ? wxColour(0xCE, 0xCE, 0xCE) : txt_colour;
-
+ if (m_coloul.Alpha() == 0) txt_colour = wxColour(0x26, 0x2E, 0x30);
dc.SetTextForeground(txt_colour);
/*if (dc.GetTextExtent(m_name).x > GetSize().x - 10) {
@@ -628,16 +637,14 @@ void MappingItem::doRender(wxDC &dc)
{
dc.SetPen(m_coloul);
dc.SetBrush(wxBrush(m_coloul));
- dc.DrawRectangle(0, (GetSize().y - MAPPING_ITEM_REAL_SIZE.y) / 2, MAPPING_ITEM_REAL_SIZE.x, MAPPING_ITEM_REAL_SIZE.y);
-// if (m_coloul == *wxWHITE) {
-// dc.SetPen(wxPen(wxColour(0xAC, 0xAC, 0xAC), 1));
-//#ifdef __APPLE__
-// dc.DrawRectangle(1, 1, GetSize().x - 1, GetSize().y - 1);
-//#else
-// dc.DrawRectangle(0, 0, tray_size.x, tray_size.y);
-//#endif // __APPLE__
-// }
+ if (m_coloul.Alpha() == 0) {
+ dc.DrawBitmap( m_transparent_mapping_item.bmp(), 0, (GetSize().y - MAPPING_ITEM_REAL_SIZE.y) / 2);
+ }
+ else {
+ dc.DrawRectangle(0, (GetSize().y - MAPPING_ITEM_REAL_SIZE.y) / 2, MAPPING_ITEM_REAL_SIZE.x, MAPPING_ITEM_REAL_SIZE.y);
+ }
+
wxColour side_colour = wxColour(0xE4E4E4);
diff --git a/src/slic3r/GUI/AmsMappingPopup.hpp b/src/slic3r/GUI/AmsMappingPopup.hpp
index d1094a3859..ca4c720d51 100644
--- a/src/slic3r/GUI/AmsMappingPopup.hpp
+++ b/src/slic3r/GUI/AmsMappingPopup.hpp
@@ -75,6 +75,7 @@ public:
ScalableBitmap m_arraw_bitmap_gray;
ScalableBitmap m_arraw_bitmap_white;
+ ScalableBitmap m_transparent_mitem;
bool m_selected {false};
bool m_warning{false};
@@ -106,6 +107,7 @@ public:
wxColour m_coloul;
wxString m_name;
TrayData m_tray_data;
+ ScalableBitmap m_transparent_mapping_item;
bool m_unmatch{false};
void msw_rescale();
diff --git a/src/slic3r/GUI/BitmapCache.cpp b/src/slic3r/GUI/BitmapCache.cpp
index 39c76eb656..15d83541ed 100644
--- a/src/slic3r/GUI/BitmapCache.cpp
+++ b/src/slic3r/GUI/BitmapCache.cpp
@@ -449,6 +449,7 @@ bool BitmapCache::parse_color(const std::string& scolor, unsigned char* rgb_out)
return false;
rgb_out[i] = (unsigned char)(digit1 * 16 + digit2);
}
+
return true;
}
diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp
index d5a7e69a64..1231acf9ab 100644
--- a/src/slic3r/GUI/DeviceManager.hpp
+++ b/src/slic3r/GUI/DeviceManager.hpp
@@ -173,19 +173,19 @@ public:
static wxColour decode_color(const std::string &color)
{
- std::array ret = {0, 0, 0};
+ std::array ret = {0, 0, 0, 0};
const char * c = color.data();
if (color.size() == 8) {
- for (size_t j = 0; j < 3; ++j) {
+ for (size_t j = 0; j < 4; ++j) {
int digit1 = hex_digit_to_int(*c++);
int digit2 = hex_digit_to_int(*c++);
if (digit1 == -1 || digit2 == -1) break;
ret[j] = float(digit1 * 16 + digit2);
}
} else {
- return wxColour(255, 255, 255);
+ return wxColour(255, 255, 255, 255);
}
- return wxColour(ret[0], ret[1], ret[2]);
+ return wxColour(ret[0], ret[1], ret[2], ret[3]);
}
std::string id;
diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp
index cdb69a459e..a6d7050970 100644
--- a/src/slic3r/GUI/SelectMachine.cpp
+++ b/src/slic3r/GUI/SelectMachine.cpp
@@ -1899,11 +1899,7 @@ bool SelectMachineDialog::get_ams_mapping_result(std::string &mapping_array_str,
mapping_item["filamentId"] = it->filament_id;
}
//convert #RRGGBB to RRGGBBAA
- if (m_filaments[k].color.size() > 6) {
- mapping_item["sourceColor"] = m_filaments[k].color.substr(1, 6) + "FF";
- } else {
- mapping_item["sourceColor"] = m_filaments[k].color;
- }
+ mapping_item["sourceColor"] = m_filaments[k].color;
mapping_item["targetColor"] = m_ams_mapping_result[k].color;
}
}
@@ -2445,7 +2441,7 @@ void SelectMachineDialog::on_send_print()
json mapping_info_json = json::array();
json item;
if (m_filaments.size() > 0) {
- item["sourceColor"] = m_filaments[0].color.substr(1, 6) + "FF";
+ item["sourceColor"] = m_filaments[0].color.substr(1, 8);
item["filamentType"] = m_filaments[0].type;
mapping_info_json.push_back(item);
ams_mapping_info = mapping_info_json.dump();
@@ -2604,13 +2600,13 @@ void SelectMachineDialog::on_set_finish_mapping(wxCommandEvent &evt)
BOOST_LOG_TRIVIAL(info) << "The ams mapping selection result: data is " << selection_data;
- if (selection_data_arr.size() == 5) {
+ if (selection_data_arr.size() == 6) {
for (auto i = 0; i < m_ams_mapping_result.size(); i++) {
- if (m_ams_mapping_result[i].id == wxAtoi(selection_data_arr[4])) {
+ if (m_ams_mapping_result[i].id == wxAtoi(selection_data_arr[5])) {
m_ams_mapping_result[i].tray_id = evt.GetInt();
- auto ams_colour = wxColour(wxAtoi(selection_data_arr[0]), wxAtoi(selection_data_arr[1]), wxAtoi(selection_data_arr[2]));
- auto color = wxString::Format("%sFF", ams_colour.GetAsString(wxC2S_HTML_SYNTAX).substr(1, ams_colour.GetAsString(wxC2S_HTML_SYNTAX).size()-1));
- m_ams_mapping_result[i].color = color.ToStdString();
+ auto ams_colour = wxColour(wxAtoi(selection_data_arr[0]), wxAtoi(selection_data_arr[1]), wxAtoi(selection_data_arr[2]), wxAtoi(selection_data_arr[3]));
+ wxString color = wxString::Format("#%02X%02X%02X%02X", ams_colour.Red(), ams_colour.Green(), ams_colour.Blue(), ams_colour.Alpha());
+ m_ams_mapping_result[i].color = color.ToStdString();
}
BOOST_LOG_TRIVIAL(trace) << "The ams mapping result: id is " << m_ams_mapping_result[i].id << "tray_id is " << m_ams_mapping_result[i].tray_id;
}
@@ -2620,8 +2616,8 @@ void SelectMachineDialog::on_set_finish_mapping(wxCommandEvent &evt)
Material* item = iter->second;
MaterialItem *m = item->item;
if (item->id == m_current_filament_id) {
- auto ams_colour = wxColour(wxAtoi(selection_data_arr[0]), wxAtoi(selection_data_arr[1]), wxAtoi(selection_data_arr[2]));
- m->set_ams_info(ams_colour, selection_data_arr[3]);
+ auto ams_colour = wxColour(wxAtoi(selection_data_arr[0]), wxAtoi(selection_data_arr[1]), wxAtoi(selection_data_arr[2]), wxAtoi(selection_data_arr[3]));
+ m->set_ams_info(ams_colour, selection_data_arr[4]);
}
iter++;
}
@@ -3443,11 +3439,11 @@ void SelectMachineDialog::set_default_normal()
for (auto i = 0; i < extruders.size(); i++) {
auto extruder = extruders[i] - 1;
- auto colour = wxGetApp().preset_bundle->project_config.opt_string("filament_colour", (unsigned int)extruder);
- unsigned char rgb[3];
- bmcache.parse_color(colour, rgb);
+ auto colour = wxGetApp().preset_bundle->project_config.opt_string("filament_colour", (unsigned int) extruder);
+ unsigned char rgb[4];
+ bmcache.parse_color4(colour, rgb);
- auto colour_rgb = wxColour((int)rgb[0], (int)rgb[1], (int)rgb[2]);
+ auto colour_rgb = wxColour((int) rgb[0], (int) rgb[1], (int) rgb[2], (int) rgb[3]);
if (extruder >= materials.size() || extruder < 0 || extruder >= display_materials.size())
continue;
@@ -3507,7 +3503,7 @@ void SelectMachineDialog::set_default_normal()
info.id = extruder;
info.type = materials[extruder];
info.brand = brands[extruder];
- info.color = colour_rgb.GetAsString(wxC2S_HTML_SYNTAX).ToStdString();
+ info.color = wxString::Format("#%02X%02X%02X%02X", colour_rgb.Red(), colour_rgb.Green(), colour_rgb.Blue(), colour_rgb.Alpha()).ToStdString();
m_filaments.push_back(info);
}
}
diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp
index 3eb103182e..951589366e 100644
--- a/src/slic3r/GUI/Widgets/AMSControl.cpp
+++ b/src/slic3r/GUI/Widgets/AMSControl.cpp
@@ -633,6 +633,7 @@ void AMSLib::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const w
m_bitmap_editable_light = ScalableBitmap(this, "ams_editable_light", 14);
m_bitmap_readonly = ScalableBitmap(this, "ams_readonly", 14);
m_bitmap_readonly_light = ScalableBitmap(this, "ams_readonly_light", 14);
+ m_bitmap_transparent = ScalableBitmap(this, "transparent_ams_lib", FromDIP(68));
m_sizer_body->Add(0, 0, 1, wxEXPAND, 0);
m_sizer_body->Add(m_sizer_edit, 0, wxALIGN_CENTER, 0);
@@ -723,9 +724,9 @@ void AMSLib::render(wxDC &dc)
temp_text_colour = AMS_CONTROL_GRAY800;
}
- //if (!wxWindow::IsEnabled()) {
- //temp_text_colour = AMS_CONTROL_DISABLE_TEXT_COLOUR;
- //}
+ if (tmp_lib_colour.Alpha() == 0) {
+ temp_text_colour = AMS_CONTROL_GRAY800;
+ }
dc.SetFont(::Label::Body_13);
dc.SetTextForeground(temp_text_colour);
@@ -829,9 +830,10 @@ void AMSLib::doRender(wxDC &dc)
temp_bitmap_brand = m_bitmap_readonly;
}
- //if (!wxWindow::IsEnabled()) {
- //tmp_lib_colour = AMS_CONTROL_DISABLE_COLOUR;
- //}
+ if (tmp_lib_colour.Alpha() == 0) {
+ temp_bitmap_third = m_bitmap_editable;
+ temp_bitmap_brand = m_bitmap_readonly;
+ }
// selected
if (m_selected) {
@@ -888,6 +890,12 @@ void AMSLib::doRender(wxDC &dc)
if (curr_height >= FromDIP(6)) {
+ //transparent
+ auto alpha = m_info.material_colour.Alpha();
+ if (alpha == 0) {
+ dc.DrawBitmap(m_bitmap_transparent.bmp(),FromDIP(4), FromDIP(4));
+ }
+
//gradient
if (m_info.material_cols.size() > 1) {
int left = FromDIP(4);
diff --git a/src/slic3r/GUI/Widgets/AMSControl.hpp b/src/slic3r/GUI/Widgets/AMSControl.hpp
index bfed45e39d..87213a44e3 100644
--- a/src/slic3r/GUI/Widgets/AMSControl.hpp
+++ b/src/slic3r/GUI/Widgets/AMSControl.hpp
@@ -307,6 +307,8 @@ protected:
ScalableBitmap m_bitmap_editable_light;
ScalableBitmap m_bitmap_readonly;
ScalableBitmap m_bitmap_readonly_light;
+ ScalableBitmap m_bitmap_transparent;
+
bool m_unable_selected = {false};
bool m_enable = {false};
bool m_selected = {false};