@@ -32,12 +32,12 @@ using namespace Theme;
|
||||
#define GRID_COLS 2
|
||||
#define GRID_ROWS 9
|
||||
|
||||
void BioPrintingDialogBox::draw_status_message(draw_mode_t what, const char *message) {
|
||||
void BioPrintingDialogBox::draw_status_message(draw_mode_t what, const char *cmsg) {
|
||||
if (what & BACKGROUND) {
|
||||
CommandProcessor cmd;
|
||||
cmd.cmd(COLOR_RGB(bg_text_enabled))
|
||||
.tag(0);
|
||||
draw_text_box(cmd, BTN_POS(1,2), BTN_SIZE(2,2), message, OPT_CENTER, font_large);
|
||||
draw_text_box(cmd, BTN_POS(1,2), BTN_SIZE(2,2), cmsg, OPT_CENTER, font_large);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,26 +105,30 @@ bool BioPrintingDialogBox::onTouchEnd(uint8_t tag) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void BioPrintingDialogBox::setStatusMessage(FSTR_P message) {
|
||||
char buff[strlen_P(FTOP(message)) + 1];
|
||||
strcpy_P(buff, FTOP(message));
|
||||
setStatusMessage(buff);
|
||||
void BioPrintingDialogBox::setStatusMessage(FSTR_P fmsg) {
|
||||
#ifdef __AVR__
|
||||
char buff[strlen_P(FTOP(fmsg)) + 1];
|
||||
strcpy_P(buff, FTOP(fmsg));
|
||||
setStatusMessage(buff);
|
||||
#else
|
||||
setStatusMessage(FTOP(fmsg));
|
||||
#endif
|
||||
}
|
||||
|
||||
void BioPrintingDialogBox::setStatusMessage(const char *message) {
|
||||
void BioPrintingDialogBox::setStatusMessage(const char *cmsg) {
|
||||
CommandProcessor cmd;
|
||||
cmd.cmd(CMD_DLSTART)
|
||||
.cmd(CLEAR_COLOR_RGB(bg_color))
|
||||
.cmd(CLEAR(true,true,true));
|
||||
|
||||
draw_status_message(BACKGROUND, message);
|
||||
draw_status_message(BACKGROUND, cmsg);
|
||||
draw_progress(BACKGROUND);
|
||||
draw_time_remaining(BACKGROUND);
|
||||
draw_interaction_buttons(BACKGROUND);
|
||||
storeBackground();
|
||||
|
||||
#if ENABLED(TOUCH_UI_DEBUG)
|
||||
SERIAL_ECHO_MSG("New status message: ", message);
|
||||
SERIAL_ECHO_MSG("New status message: ", cmsg);
|
||||
#endif
|
||||
|
||||
if (AT_SCREEN(BioPrintingDialogBox))
|
||||
|
||||
@@ -122,7 +122,7 @@ void StatusScreen::draw_temperature(draw_mode_t what) {
|
||||
|
||||
ui.bounds(POLY(bed_temp), x, y, h, v);
|
||||
cmd.text(x, y, h, v, str);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -354,8 +354,8 @@ bool StatusScreen::onTouchHeld(uint8_t tag) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void StatusScreen::setStatusMessage(FSTR_P pstr) {
|
||||
BioPrintingDialogBox::setStatusMessage(pstr);
|
||||
void StatusScreen::setStatusMessage(FSTR_P fstr) {
|
||||
BioPrintingDialogBox::setStatusMessage(fstr);
|
||||
}
|
||||
|
||||
void StatusScreen::setStatusMessage(const char * const str) {
|
||||
|
||||
@@ -136,9 +136,13 @@ namespace FTDI {
|
||||
}
|
||||
|
||||
void draw_text_box(CommandProcessor& cmd, int x, int y, int w, int h, FSTR_P fstr, uint16_t options, uint8_t font) {
|
||||
char str[strlen_P(FTOP(fstr)) + 1];
|
||||
strcpy_P(str, FTOP(fstr));
|
||||
draw_text_box(cmd, x, y, w, h, (const char*) str, options, font);
|
||||
#ifdef __AVR__
|
||||
char str[strlen_P(FTOP(fstr)) + 1];
|
||||
strcpy_P(str, FTOP(fstr));
|
||||
draw_text_box(cmd, x, y, w, h, (const char*) str, options, font);
|
||||
#else
|
||||
draw_text_box(cmd, x, y, w, h, FTOP(fstr), options, font);
|
||||
#endif
|
||||
}
|
||||
} // namespace FTDI
|
||||
|
||||
|
||||
@@ -192,9 +192,13 @@
|
||||
}
|
||||
|
||||
uint16_t FTDI::get_utf8_text_width(FSTR_P fstr, font_size_t fs) {
|
||||
char str[strlen_P(FTOP(fstr)) + 1];
|
||||
strcpy_P(str, FTOP(fstr));
|
||||
return get_utf8_text_width(str, fs);
|
||||
#ifdef __AVR__
|
||||
char str[strlen_P(FTOP(fstr)) + 1];
|
||||
strcpy_P(str, FTOP(fstr));
|
||||
return get_utf8_text_width(str, fs);
|
||||
#else
|
||||
return get_utf8_text_width(FTOP(fstr), fs);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,7 +32,7 @@ using namespace Theme;
|
||||
#define GRID_ROWS 8
|
||||
|
||||
template<typename T>
|
||||
void DialogBoxBaseClass::drawMessage(T message, int16_t font) {
|
||||
void DialogBoxBaseClass::drawMessage(T message, const int16_t font) {
|
||||
CommandProcessor cmd;
|
||||
cmd.cmd(CMD_DLSTART)
|
||||
.cmd(CLEAR_COLOR_RGB(bg_color))
|
||||
@@ -43,8 +43,7 @@ void DialogBoxBaseClass::drawMessage(T message, int16_t font) {
|
||||
cmd.colors(normal_btn);
|
||||
}
|
||||
|
||||
template void DialogBoxBaseClass::drawMessage(const char *, int16_t font);
|
||||
template void DialogBoxBaseClass::drawMessage(FSTR_P, int16_t font);
|
||||
template void DialogBoxBaseClass::drawMessage(PGM_P const, const int16_t);
|
||||
|
||||
void DialogBoxBaseClass::drawYesNoButtons(uint8_t default_btn) {
|
||||
CommandProcessor cmd;
|
||||
|
||||
@@ -27,12 +27,15 @@
|
||||
|
||||
class DialogBoxBaseClass : public BaseScreen {
|
||||
protected:
|
||||
template<typename T> static void drawMessage(T, int16_t font = 0);
|
||||
template<typename T> static void drawMessage(T, const int16_t font=0);
|
||||
static void drawMessage(FSTR_P const fstr, const int16_t font=0) { drawMessage(FTOP(fstr), font); }
|
||||
|
||||
template<typename T> static void drawButton(T);
|
||||
static void drawYesNoButtons(uint8_t default_btn = 0);
|
||||
static void drawOkayButton();
|
||||
|
||||
static void onRedraw(draw_mode_t) {};
|
||||
static void onRedraw(draw_mode_t) {}
|
||||
|
||||
public:
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
|
||||
@@ -332,10 +332,14 @@ void StatusScreen::draw_status_message(draw_mode_t what, const char *message) {
|
||||
}
|
||||
}
|
||||
|
||||
void StatusScreen::setStatusMessage(FSTR_P message) {
|
||||
char buff[strlen_P(FTOP(message)) + 1];
|
||||
strcpy_P(buff, FTOP(message));
|
||||
setStatusMessage((const char *) buff);
|
||||
void StatusScreen::setStatusMessage(FSTR_P fmsg) {
|
||||
#ifdef __AVR__
|
||||
char buff[strlen_P(FTOP(fmsg)) + 1];
|
||||
strcpy_P(buff, FTOP(fmsg));
|
||||
setStatusMessage((const char *)buff);
|
||||
#else
|
||||
setStatusMessage(FTOP(fmsg));
|
||||
#endif
|
||||
}
|
||||
|
||||
void StatusScreen::setStatusMessage(const char *message) {
|
||||
|
||||
Reference in New Issue
Block a user