mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-05-06 22:06:47 +00:00
SD card status view inherits from new Image class.
This commit is contained in:
parent
84824a504f
commit
dd6d56cff8
@ -46,7 +46,6 @@ SystemStatusView::SystemStatusView() {
|
|||||||
&button_sleep,
|
&button_sleep,
|
||||||
&sd_card_status_view,
|
&sd_card_status_view,
|
||||||
} });
|
} });
|
||||||
sd_card_status_view.set_parent_rect({ 28 * 8, 0 * 16, 2 * 8, 1 * 16 });
|
|
||||||
|
|
||||||
button_back.on_select = [this](Button&){
|
button_back.on_select = [this](Button&){
|
||||||
if( this->on_back ) {
|
if( this->on_back ) {
|
||||||
|
@ -64,7 +64,9 @@ private:
|
|||||||
"ZZ",
|
"ZZ",
|
||||||
};
|
};
|
||||||
|
|
||||||
SDCardStatusView sd_card_status_view;
|
SDCardStatusView sd_card_status_view {
|
||||||
|
{ 28 * 8, 0 * 16, 2 * 8, 1 * 16 }
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class NavigationView : public View {
|
class NavigationView : public View {
|
||||||
|
@ -111,6 +111,12 @@ const Color color_sd_card(const sd_card::Status status) {
|
|||||||
|
|
||||||
} /* namespace detail */
|
} /* namespace detail */
|
||||||
|
|
||||||
|
SDCardStatusView::SDCardStatusView(
|
||||||
|
const Rect parent_rect
|
||||||
|
) : Image { parent_rect, &detail::bitmap_sd_card_unknown, detail::color_sd_card_unknown, Color::black() }
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void SDCardStatusView::on_show() {
|
void SDCardStatusView::on_show() {
|
||||||
sd_card_status_signal_token = sd_card::status_signal += [this](const sd_card::Status status) {
|
sd_card_status_signal_token = sd_card::status_signal += [this](const sd_card::Status status) {
|
||||||
this->on_status(status);
|
this->on_status(status);
|
||||||
@ -123,15 +129,14 @@ void SDCardStatusView::on_hide() {
|
|||||||
|
|
||||||
void SDCardStatusView::paint(Painter& painter) {
|
void SDCardStatusView::paint(Painter& painter) {
|
||||||
const auto status = sd_card::status();
|
const auto status = sd_card::status();
|
||||||
painter.draw_bitmap(
|
set_bitmap(&detail::bitmap_sd_card(status));
|
||||||
screen_pos(),
|
set_foreground(detail::color_sd_card(status));
|
||||||
detail::bitmap_sd_card(status),
|
|
||||||
detail::color_sd_card(status),
|
Image::paint(painter);
|
||||||
style().background
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SDCardStatusView::on_status(const sd_card::Status) {
|
void SDCardStatusView::on_status(const sd_card::Status) {
|
||||||
|
// Don't update image properties here, they might change. Wait until paint.
|
||||||
set_dirty();
|
set_dirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,8 +27,10 @@
|
|||||||
|
|
||||||
namespace ui {
|
namespace ui {
|
||||||
|
|
||||||
class SDCardStatusView : public View {
|
class SDCardStatusView : public Image {
|
||||||
public:
|
public:
|
||||||
|
SDCardStatusView(const Rect parent_rect);
|
||||||
|
|
||||||
void on_show() override;
|
void on_show() override;
|
||||||
void on_hide() override;
|
void on_hide() override;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user