🧑‍💻 DWIN icon updates, etc.

This commit is contained in:
Scott Lahteine 2023-12-24 14:53:09 -06:00
parent 18b0dbb501
commit 0f09554929
122 changed files with 281 additions and 316 deletions

View file

@ -48,15 +48,15 @@ enum PauseMessage : char {
PAUSE_MESSAGE_PARKING, PAUSE_MESSAGE_PARKING,
PAUSE_MESSAGE_CHANGING, PAUSE_MESSAGE_CHANGING,
PAUSE_MESSAGE_WAITING, PAUSE_MESSAGE_WAITING,
PAUSE_MESSAGE_UNLOAD,
PAUSE_MESSAGE_INSERT, PAUSE_MESSAGE_INSERT,
PAUSE_MESSAGE_LOAD, PAUSE_MESSAGE_LOAD,
PAUSE_MESSAGE_UNLOAD,
PAUSE_MESSAGE_PURGE, PAUSE_MESSAGE_PURGE,
PAUSE_MESSAGE_OPTION, PAUSE_MESSAGE_OPTION,
PAUSE_MESSAGE_RESUME, PAUSE_MESSAGE_RESUME,
PAUSE_MESSAGE_STATUS,
PAUSE_MESSAGE_HEAT, PAUSE_MESSAGE_HEAT,
PAUSE_MESSAGE_HEATING PAUSE_MESSAGE_HEATING,
PAUSE_MESSAGE_STATUS
}; };
#if M600_PURGE_MORE_RESUMABLE #if M600_PURGE_MORE_RESUMABLE

View file

@ -27,6 +27,7 @@
#define GetGColor(color) ((color >> 5) & 0x3F) #define GetGColor(color) ((color >> 5) & 0x3F)
#define GetBColor(color) ((color >> 0) & 0x1F) #define GetBColor(color) ((color >> 0) & 0x1F)
// RGB565 colors: https://rgbcolorpicker.com/565
#define COLOR_WHITE 0xFFFF #define COLOR_WHITE 0xFFFF
#define COLOR_YELLOW RGB(0x1F,0x3F,0x00) #define COLOR_YELLOW RGB(0x1F,0x3F,0x00)
#define COLOR_RED RGB(0x1F,0x00,0x00) #define COLOR_RED RGB(0x1F,0x00,0x00)

View file

@ -25,12 +25,7 @@
#define Language_English 1 #define Language_English 1
#define Language_Chinese 2 #define Language_Chinese 2
//#define USE_STOCK_DWIN_SET // Use the Creality stock DWIN_SET instead of Marlin's unified DWIN_SET by The-EG & thinkyhead #define ICON 7 // 7.ICO
#ifdef USE_STOCK_DWIN_SET
#define ICON 9 // 9.ICO
#else
#define ICON 7 // 7.ICO
#endif
#ifndef CORP_WEBSITE #ifndef CORP_WEBSITE
#define CORP_WEBSITE WEBSITE_URL #define CORP_WEBSITE WEBSITE_URL
@ -82,7 +77,7 @@
#define ICON_Motion 41 #define ICON_Motion 41
#define ICON_WriteEEPROM 42 #define ICON_WriteEEPROM 42
#define ICON_ReadEEPROM 43 #define ICON_ReadEEPROM 43
#define ICON_ResumeEEPROM 44 #define ICON_ResetEEPROM 44
#define ICON_Info 45 #define ICON_Info 45
#define ICON_SetEndTemp 46 #define ICON_SetEndTemp 46
@ -144,7 +139,7 @@
#define ICON_ProbeOffsetY ICON_StepY #define ICON_ProbeOffsetY ICON_StepY
#define ICON_ProbeOffsetZ ICON_StepZ #define ICON_ProbeOffsetZ ICON_StepZ
#define ICON_PIDNozzle ICON_SetEndTemp #define ICON_PIDNozzle ICON_SetEndTemp
#define ICON_PIDbed ICON_SetBedTemp #define ICON_PIDBed ICON_SetBedTemp
#define ICON_FWRetract ICON_StepE #define ICON_FWRetract ICON_StepE
#define ICON_FWRetLength ICON_StepE #define ICON_FWRetLength ICON_StepE
#define ICON_FWRetSpeed ICON_Setspeed #define ICON_FWRetSpeed ICON_Setspeed

View file

@ -905,7 +905,7 @@ void drawControlMenu() {
#if ENABLED(EEPROM_SETTINGS) #if ENABLED(EEPROM_SETTINGS)
_TEMP_ICON(CONTROL_CASE_SAVE, ICON_WriteEEPROM, false); _TEMP_ICON(CONTROL_CASE_SAVE, ICON_WriteEEPROM, false);
_TEMP_ICON(CONTROL_CASE_LOAD, ICON_ReadEEPROM, false); _TEMP_ICON(CONTROL_CASE_LOAD, ICON_ReadEEPROM, false);
_TEMP_ICON(CONTROL_CASE_RESET, ICON_ResumeEEPROM, false); _TEMP_ICON(CONTROL_CASE_RESET, ICON_ResetEEPROM, false);
#endif #endif
} }
@ -2468,7 +2468,7 @@ void itemAdvBedPID(const uint8_t row) {
itemAreaCopy(145, 104, 167, 114, row, 27); // "PID" itemAreaCopy(145, 104, 167, 114, row, 27); // "PID"
#endif #endif
} }
drawMenuLine(row, ICON_PIDbed); drawMenuLine(row, ICON_PIDBed);
} }
#if ENABLED(POWER_LOSS_RECOVERY) #if ENABLED(POWER_LOSS_RECOVERY)

View file

@ -1158,7 +1158,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
#if ENABLED(ADVANCED_PAUSE_FEATURE) #if ENABLED(ADVANCED_PAUSE_FEATURE)
case PREPARE_CHANGEFIL: case PREPARE_CHANGEFIL:
if (draw) { if (draw) {
drawMenuItem(row, ICON_ResumeEEPROM, GET_TEXT_F(MSG_FILAMENTCHANGE) drawMenuItem(row, ICON_ResetEEPROM, GET_TEXT_F(MSG_FILAMENTCHANGE)
#if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES) #if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
, nullptr, true , nullptr, true
#endif #endif
@ -1766,7 +1766,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
break; break;
case CHANGEFIL_CHANGE: case CHANGEFIL_CHANGE:
if (draw) if (draw)
drawMenuItem(row, ICON_ResumeEEPROM, GET_TEXT_F(MSG_FILAMENTCHANGE)); drawMenuItem(row, ICON_ResetEEPROM, GET_TEXT_F(MSG_FILAMENTCHANGE));
else { else {
if (thermalManager.targetTooColdToExtrude(0)) if (thermalManager.targetTooColdToExtrude(0))
popupHandler(Popup_ETemp); popupHandler(Popup_ETemp);
@ -3449,7 +3449,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
break; break;
case LEVELING_SETTINGS_PLANE: case LEVELING_SETTINGS_PLANE:
if (draw) if (draw)
drawMenuItem(row, ICON_ResumeEEPROM, F("Convert Mesh to Plane")); drawMenuItem(row, ICON_ResetEEPROM, F("Convert Mesh to Plane"));
else { else {
if (mesh_conf.createPlaneFromMesh()) break; if (mesh_conf.createPlaneFromMesh()) break;
gcode.process_subcommands_now(F("M420 S1")); gcode.process_subcommands_now(F("M420 S1"));
@ -3594,7 +3594,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
case LEVELING_M_UNDEF: case LEVELING_M_UNDEF:
if (draw) if (draw)
drawMenuItem(row, ICON_ResumeEEPROM, F("Clear Point Value")); drawMenuItem(row, ICON_ResetEEPROM, F("Clear Point Value"));
else { else {
mesh_conf.manualValueUpdate(true); mesh_conf.manualValueUpdate(true);
redrawMenu(false); redrawMenu(false);
@ -3924,7 +3924,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
#if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES) #if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
case TUNE_CHANGEFIL: case TUNE_CHANGEFIL:
if (draw) if (draw)
drawMenuItem(row, ICON_ResumeEEPROM, GET_TEXT_F(MSG_FILAMENTCHANGE)); drawMenuItem(row, ICON_ResetEEPROM, GET_TEXT_F(MSG_FILAMENTCHANGE));
else else
popupHandler(Popup_ConfFilChange); popupHandler(Popup_ConfFilChange);
break; break;

View file

@ -89,9 +89,10 @@ bool drawing_mesh = false;
struct linear_fit_data lsf_results; struct linear_fit_data lsf_results;
incremental_LSF_reset(&lsf_results); incremental_LSF_reset(&lsf_results);
GRID_LOOP(x, y) { GRID_LOOP(x, y) {
if (!isnan(bedlevel.z_values[x][y])) { const float z = bedlevel.z_values[x][y];
if (!isnan(z)) {
xy_pos_t rpos = { bedlevel.get_mesh_x(x), bedlevel.get_mesh_y(y) }; xy_pos_t rpos = { bedlevel.get_mesh_x(x), bedlevel.get_mesh_y(y) };
incremental_LSF(&lsf_results, rpos, bedlevel.z_values[x][y]); incremental_LSF(&lsf_results, rpos, z);
} }
} }
@ -199,8 +200,8 @@ float BedLevelTools::getMinValue() {
// Return 'true' if mesh is good and within LCD limits // Return 'true' if mesh is good and within LCD limits
bool BedLevelTools::meshValidate() { bool BedLevelTools::meshValidate() {
GRID_LOOP(x, y) { GRID_LOOP(x, y) {
const float v = bedlevel.z_values[x][y]; const float z = bedlevel.z_values[x][y];
if (isnan(v) || !WITHIN(v, Z_OFFSET_MIN, Z_OFFSET_MAX)) return false; if (isnan(z) || !WITHIN(z, Z_OFFSET_MIN, Z_OFFSET_MAX)) return false;
} }
return true; return true;
} }
@ -232,46 +233,49 @@ bool BedLevelTools::meshValidate() {
const auto end_x_px = start_x_px + cell_width_px - 1 - gridline_width; const auto end_x_px = start_x_px + cell_width_px - 1 - gridline_width;
const auto start_y_px = padding_y_top + ((GRID_MAX_POINTS_Y) - y - 1) * cell_height_px; const auto start_y_px = padding_y_top + ((GRID_MAX_POINTS_Y) - y - 1) * cell_height_px;
const auto end_y_px = start_y_px + cell_height_px - 1 - gridline_width; const auto end_y_px = start_y_px + cell_height_px - 1 - gridline_width;
dwinDrawRectangle(1, // RGB565 colors: http://www.barth-dev.de/online/rgb565-color-picker/ const float z = bedlevel.z_values[x][y];
isnan(bedlevel.z_values[x][y]) ? COLOR_GREY : ( // gray if undefined const uint16_t color = isnan(z) ? COLOR_GREY : ( // Gray if undefined
(bedlevel.z_values[x][y] < 0 ? (z < 0 ? uint16_t(round(0x1F * -z / rmax)) << 11 // Red for negative mesh point
(uint16_t)round(0x1F * -bedlevel.z_values[x][y] / rmax) << 11 : // red if mesh point value is negative : uint16_t(round(0x3F * z / rmax)) << 5) // Green for positive mesh point
(uint16_t)round(0x3F * bedlevel.z_values[x][y] / rmax) << 5) | // green if mesh point value is positive | _MIN(0x1F, (uint8_t(abs(z) * 0.4))) // + Blue stepping for every mm
_MIN(0x1F, (((uint8_t)abs(bedlevel.z_values[x][y]) / 10) * 4))), // + blue stepping for every mm
start_x_px, start_y_px, end_x_px, end_y_px
); );
dwinDrawRectangle(1, color, start_x_px, start_y_px, end_x_px, end_y_px);
safe_delay(10); safe_delay(10);
LCD_SERIAL.flushTX(); LCD_SERIAL.flushTX();
// Draw value text on // Draw value text on
if (!viewer_print_value) continue;
const uint8_t fs = DWINUI::fontWidth(meshfont); const uint8_t fs = DWINUI::fontWidth(meshfont);
if (viewer_print_value) { const int8_t offset_y = cell_height_px / 2 - fs;
const int8_t offset_y = cell_height_px / 2 - fs; if (isnan(z)) { // undefined
if (isnan(bedlevel.z_values[x][y])) { // undefined dwinDrawString(false, meshfont, COLOR_WHITE, COLOR_BG_BLUE, start_x_px + cell_width_px / 2 - 5, start_y_px + offset_y, F("X"));
dwinDrawString(false, meshfont, COLOR_WHITE, COLOR_BG_BLUE, start_x_px + cell_width_px / 2 - 5, start_y_px + offset_y, F("X"));
}
else { // has value
MString<12> msg;
if ((GRID_MAX_POINTS_X) < TERN(TJC_DISPLAY, 8, 10))
msg.set(p_float_t(abs(bedlevel.z_values[x][y]), 2));
else
msg.setf(F("%02i"), uint16_t(abs(bedlevel.z_values[x][y] - int16_t(bedlevel.z_values[x][y])) * 100));
const int8_t offset_x = cell_width_px / 2 - (fs / 2) * msg.length() - 2;
if ((GRID_MAX_POINTS_X) >= TERN(TJC_DISPLAY, 8, 10))
dwinDrawString(false, meshfont, COLOR_WHITE, COLOR_BG_BLUE, start_x_px - 2 + offset_x, start_y_px + offset_y, F("."));
dwinDrawString(false, meshfont, COLOR_WHITE, COLOR_BG_BLUE, start_x_px + 1 + offset_x, start_y_px + offset_y, msg);
}
safe_delay(10);
LCD_SERIAL.flushTX();
} }
} else { // has value
MString<12> msg;
constexpr bool is_wide = (GRID_MAX_POINTS_X) >= TERN(TJC_DISPLAY, 8, 10);
if (is_wide)
msg.setf(F("%02i"), uint16_t(z * 100) % 100);
else
msg.set(p_float_t(abs(z), 2));
const int8_t offset_x = cell_width_px / 2 - (fs / 2) * msg.length() - 2;
if (is_wide)
dwinDrawString(false, meshfont, COLOR_WHITE, COLOR_BG_BLUE, start_x_px - 2 + offset_x, start_y_px + offset_y, F("."));
dwinDrawString(false, meshfont, COLOR_WHITE, COLOR_BG_BLUE, start_x_px + 1 + offset_x, start_y_px + offset_y, msg);
}
safe_delay(10);
LCD_SERIAL.flushTX();
} // GRID_LOOP
} }
void BedLevelTools::setMeshViewerStatus() { // TODO: draw gradient with values as a legend instead void BedLevelTools::setMeshViewerStatus() { // TODO: draw gradient with values as a legend instead
float v_max = abs(getMaxValue()), v_min = abs(getMinValue()), rmax = _MAX(v_min, v_max), rmin = _MIN(v_min, v_max); float v_max = abs(getMaxValue()), v_min = abs(getMinValue()), rmax = _MAX(v_min, v_max), rmin = _MIN(v_min, v_max);
if (rmax > 3e+10f) rmax = 0.0000001; if (rmax > 3e+10f) rmax = 0.0000001f;
if (rmin > 3e+10f) rmin = 0.0000001; if (rmin > 3e+10f) rmin = 0.0000001f;
ui.set_status(&MString<47>(F("Red "), p_float_t(-rmax, 3), F("..0.."), p_float_t(rmin, 3), F(" Green"))); ui.set_status(&MString<47>(F("Red "), p_float_t(-rmax, 3), F("..0.."), p_float_t(rmin, 3), F(" Green")));
drawing_mesh = false; drawing_mesh = false;
} }

View file

@ -336,7 +336,7 @@ void ICON_Button(const bool selected, const int iconid, const frame_rect_t &ico,
// //
void ICON_Print() { void ICON_Print() {
constexpr frame_rect_t ico = { 17, 110, 110, 100 }; constexpr frame_rect_t ico = { 17, 110, 110, 100 };
constexpr text_info_t txt = { 1, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 15 }; constexpr text_info_t txt = { 1, { 405, 447 }, 27, 15 };
ICON_Button(select_page.now == PAGE_PRINT, ICON_Print_0, ico, txt, GET_TEXT_F(MSG_BUTTON_PRINT)); ICON_Button(select_page.now == PAGE_PRINT, ICON_Print_0, ico, txt, GET_TEXT_F(MSG_BUTTON_PRINT));
} }
@ -345,7 +345,7 @@ void ICON_Print() {
// //
void ICON_Prepare() { void ICON_Prepare() {
constexpr frame_rect_t ico = { 145, 110, 110, 100 }; constexpr frame_rect_t ico = { 145, 110, 110, 100 };
constexpr text_info_t txt = { 31, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 15 }; constexpr text_info_t txt = { 31, { 405, 447 }, 27, 15 };
ICON_Button(select_page.now == PAGE_PREPARE, ICON_Prepare_0, ico, txt, GET_TEXT_F(MSG_PREPARE)); ICON_Button(select_page.now == PAGE_PREPARE, ICON_Prepare_0, ico, txt, GET_TEXT_F(MSG_PREPARE));
} }
@ -354,7 +354,7 @@ void ICON_Prepare() {
// //
void ICON_Control() { void ICON_Control() {
constexpr frame_rect_t ico = { 17, 226, 110, 100 }; constexpr frame_rect_t ico = { 17, 226, 110, 100 };
constexpr text_info_t txt = { 61, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 15 }; constexpr text_info_t txt = { 61, { 405, 447 }, 27, 15 };
ICON_Button(select_page.now == PAGE_CONTROL, ICON_Control_0, ico, txt, GET_TEXT_F(MSG_CONTROL)); ICON_Button(select_page.now == PAGE_CONTROL, ICON_Control_0, ico, txt, GET_TEXT_F(MSG_CONTROL));
} }
@ -363,7 +363,7 @@ void ICON_Control() {
// //
void ICON_AdvSettings() { void ICON_AdvSettings() {
constexpr frame_rect_t ico = { 145, 226, 110, 100 }; constexpr frame_rect_t ico = { 145, 226, 110, 100 };
constexpr text_info_t txt = { 91, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 15 }; constexpr text_info_t txt = { 91, { 405, 447 }, 27, 15 };
ICON_Button(select_page.now == PAGE_ADVANCE, ICON_Info_0, ico, txt, GET_TEXT_F(MSG_BUTTON_ADVANCED)); ICON_Button(select_page.now == PAGE_ADVANCE, ICON_Info_0, ico, txt, GET_TEXT_F(MSG_BUTTON_ADVANCED));
} }
@ -372,7 +372,7 @@ void ICON_AdvSettings() {
// //
void ICON_Tune() { void ICON_Tune() {
constexpr frame_rect_t ico = { 8, 232, 80, 100 }; constexpr frame_rect_t ico = { 8, 232, 80, 100 };
constexpr text_info_t txt = { 121, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 15 }; constexpr text_info_t txt = { 121, { 405, 447 }, 27, 15 };
ICON_Button(select_print.now == PRINT_SETUP, ICON_Setup_0, ico, txt, GET_TEXT_F(MSG_TUNE)); ICON_Button(select_print.now == PRINT_SETUP, ICON_Setup_0, ico, txt, GET_TEXT_F(MSG_TUNE));
} }
@ -381,7 +381,7 @@ void ICON_Tune() {
// //
void ICON_Pause() { void ICON_Pause() {
constexpr frame_rect_t ico = { 96, 232, 80, 100 }; constexpr frame_rect_t ico = { 96, 232, 80, 100 };
constexpr text_info_t txt = { 181, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 15 }; constexpr text_info_t txt = { 181, { 405, 447 }, 27, 15 };
ICON_Button(select_print.now == PRINT_PAUSE_RESUME, ICON_Pause_0, ico, txt, GET_TEXT_F(MSG_BUTTON_PAUSE)); ICON_Button(select_print.now == PRINT_PAUSE_RESUME, ICON_Pause_0, ico, txt, GET_TEXT_F(MSG_BUTTON_PAUSE));
} }
@ -390,7 +390,7 @@ void ICON_Pause() {
// //
void ICON_Resume() { void ICON_Resume() {
constexpr frame_rect_t ico = { 96, 232, 80, 100 }; constexpr frame_rect_t ico = { 96, 232, 80, 100 };
constexpr text_info_t txt = { 1, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 15 }; constexpr text_info_t txt = { 1, { 405, 447 }, 27, 15 };
ICON_Button(select_print.now == PRINT_PAUSE_RESUME, ICON_Continue_0, ico, txt, GET_TEXT_F(MSG_BUTTON_RESUME)); ICON_Button(select_print.now == PRINT_PAUSE_RESUME, ICON_Continue_0, ico, txt, GET_TEXT_F(MSG_BUTTON_RESUME));
} }
@ -399,7 +399,7 @@ void ICON_Resume() {
// //
void ICON_Stop() { void ICON_Stop() {
constexpr frame_rect_t ico = { 184, 232, 80, 100 }; constexpr frame_rect_t ico = { 184, 232, 80, 100 };
constexpr text_info_t txt = { 151, { 405, TERN(USE_STOCK_DWIN_SET, 446, 447) }, 27, 12 }; constexpr text_info_t txt = { 151, { 405, 447 }, 27, 12 };
ICON_Button(select_print.now == PRINT_STOP, ICON_Stop_0, ico, txt, GET_TEXT_F(MSG_BUTTON_STOP)); ICON_Button(select_print.now == PRINT_STOP, ICON_Stop_0, ico, txt, GET_TEXT_F(MSG_BUTTON_STOP));
} }
@ -482,8 +482,7 @@ void dwinResetStatusLine() {
// Djb2 hash algorithm // Djb2 hash algorithm
uint32_t getHash(char * str) { uint32_t getHash(char * str) {
uint32_t hash = 5381; uint32_t hash = 5381;
char c; for (char c; (c = *str++);) hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
while ((c = *str++)) hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
return hash; return hash;
} }
@ -1943,13 +1942,7 @@ void dwinRedrawScreen() {
case PAUSE_MESSAGE_INSERT: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_INSERT), BTN_Continue); break; case PAUSE_MESSAGE_INSERT: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_INSERT), BTN_Continue); break;
case PAUSE_MESSAGE_LOAD: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_LOAD)); break; case PAUSE_MESSAGE_LOAD: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_LOAD)); break;
case PAUSE_MESSAGE_UNLOAD: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_UNLOAD)); break; // Unload of pause and Unload of M702 case PAUSE_MESSAGE_UNLOAD: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_UNLOAD)); break; // Unload of pause and Unload of M702
case PAUSE_MESSAGE_PURGE: case PAUSE_MESSAGE_PURGE: dwinPopupPause(GET_TEXT_F(TERN(ADVANCED_PAUSE_CONTINUOUS_PURGE, MSG_FILAMENT_CHANGE_CONT_PURGE, MSG_FILAMENT_CHANGE_PURGE))); break;
#if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE)
dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_CONT_PURGE));
#else
dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_PURGE));
#endif
break;
case PAUSE_MESSAGE_OPTION: gotoFilamentPurge(); break; case PAUSE_MESSAGE_OPTION: gotoFilamentPurge(); break;
case PAUSE_MESSAGE_RESUME: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_RESUME)); break; case PAUSE_MESSAGE_RESUME: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_RESUME)); break;
case PAUSE_MESSAGE_HEAT: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_HEAT), BTN_Continue); break; case PAUSE_MESSAGE_HEAT: dwinPopupPause(GET_TEXT_F(MSG_FILAMENT_CHANGE_HEAT), BTN_Continue); break;
@ -3141,7 +3134,7 @@ void drawControlMenu() {
#if ENABLED(EEPROM_SETTINGS) #if ENABLED(EEPROM_SETTINGS)
MENU_ITEM(ICON_WriteEEPROM, MSG_STORE_EEPROM, onDrawWriteEeprom, writeEEPROM); MENU_ITEM(ICON_WriteEEPROM, MSG_STORE_EEPROM, onDrawWriteEeprom, writeEEPROM);
MENU_ITEM(ICON_ReadEEPROM, MSG_LOAD_EEPROM, onDrawReadEeprom, readEEPROM); MENU_ITEM(ICON_ReadEEPROM, MSG_LOAD_EEPROM, onDrawReadEeprom, readEEPROM);
MENU_ITEM(ICON_ResumeEEPROM, MSG_RESTORE_DEFAULTS, onDrawResetEeprom, resetEEPROM); MENU_ITEM(ICON_ResetEEPROM, MSG_RESTORE_DEFAULTS, onDrawResetEeprom, resetEEPROM);
#endif #endif
MENU_ITEM(ICON_Reboot, MSG_RESET_PRINTER, onDrawMenuItem, rebootPrinter); MENU_ITEM(ICON_Reboot, MSG_RESET_PRINTER, onDrawMenuItem, rebootPrinter);
MENU_ITEM(ICON_Info, MSG_INFO_SCREEN, onDrawInfoSubMenu, gotoInfoMenu); MENU_ITEM(ICON_Info, MSG_INFO_SCREEN, onDrawInfoSubMenu, gotoInfoMenu);
@ -3957,8 +3950,8 @@ void drawStepsMenu() {
if (SET_MENU(zOffsetWizMenu, MSG_PROBE_WIZARD, 4)) { if (SET_MENU(zOffsetWizMenu, MSG_PROBE_WIZARD, 4)) {
BACK_ITEM(drawPrepareMenu); BACK_ITEM(drawPrepareMenu);
MENU_ITEM(ICON_Homing, MSG_AUTO_HOME, onDrawMenuItem, autoHome); MENU_ITEM(ICON_Homing, MSG_AUTO_HOME, onDrawMenuItem, autoHome);
MENU_ITEM_F(ICON_MoveZ0, "Move Z to Home", onDrawMenuItem, setMoveZto0); MENU_ITEM(ICON_MoveZ0, MSG_MOVE_NOZZLE_TO_BED, onDrawMenuItem, setMoveZto0);
EDIT_ITEM(ICON_Zoffset, MSG_ZPROBE_ZOFFSET, onDrawPFloat2Menu, setZOffset, &BABY_Z_VAR); EDIT_ITEM(ICON_Zoffset, MSG_XATC_UPDATE_Z_OFFSET, onDrawPFloat2Menu, setZOffset, &BABY_Z_VAR);
} }
updateMenu(zOffsetWizMenu); updateMenu(zOffsetWizMenu);
if (!axis_is_trusted(Z_AXIS)) LCD_MESSAGE_F("WARNING: Z position unknown, move Z to home"); if (!axis_is_trusted(Z_AXIS)) LCD_MESSAGE_F("WARNING: Z position unknown, move Z to home");

View file

@ -36,124 +36,112 @@
#include "dwin_lcd.h" #include "dwin_lcd.h"
// Extra Icons // Extra Icons
#define ICON_AdvSet ICON_Language #define ICON_BedSizeX ICON_PrintSize
#define ICON_BedSizeX ICON_PrintSize #define ICON_BedSizeY ICON_PrintSize
#define ICON_BedSizeY ICON_PrintSize #define ICON_BedTramming ICON_SetHome
#define ICON_BedTramming ICON_SetHome #define ICON_Binary ICON_Contact
#define ICON_Binary ICON_Contact #define ICON_BltouchReset ICON_StockConfiguration
#define ICON_BltouchReset ICON_StockConfiguration #define ICON_Brightness ICON_Motion
#define ICON_Brightness ICON_Motion #define ICON_Cancel ICON_StockConfiguration
#define ICON_Cancel ICON_StockConfiguration #define ICON_CustomPreheat ICON_SetEndTemp
#define ICON_CustomPreheat ICON_SetEndTemp #define ICON_Error ICON_TempTooHigh
#define ICON_Error ICON_TempTooHigh #define ICON_esDiag ICON_Info
#define ICON_esDiag ICON_Info #define ICON_ExtrudeMinT ICON_HotendTemp
#define ICON_ExtrudeMinT ICON_HotendTemp #define ICON_FilLoad ICON_WriteEEPROM
#define ICON_FilLoad ICON_WriteEEPROM #define ICON_FilMan ICON_ResetEEPROM
#define ICON_FilMan ICON_ResumeEEPROM #define ICON_FilSet ICON_ResetEEPROM
#define ICON_FilSet ICON_ResumeEEPROM #define ICON_FilUnload ICON_ReadEEPROM
#define ICON_FilUnload ICON_ReadEEPROM #define ICON_Flow ICON_StepE
#define ICON_Flow ICON_StepE #define ICON_HomeX ICON_MoveX
#define ICON_Folder ICON_More #define ICON_HomeY ICON_MoveY
#define ICON_HomeX ICON_MoveX #define ICON_HomeZ ICON_MoveZ
#define ICON_HomeY ICON_MoveY #define ICON_HSMode ICON_StockConfiguration
#define ICON_HomeZ ICON_MoveZ #define ICON_InputShaping ICON_MaxAccelerated
#define ICON_HomeOffset ICON_AdvSet #define ICON_JDmm ICON_MaxJerk
#define ICON_HomeOffsetX ICON_StepX #define ICON_Tram ICON_SetEndTemp
#define ICON_HomeOffsetY ICON_StepY #define ICON_Level ICON_HotendTemp
#define ICON_HomeOffsetZ ICON_StepZ #define ICON_Lock ICON_Cool
#define ICON_HSMode ICON_StockConfiguration #define ICON_ManualMesh ICON_HotendTemp
#define ICON_InputShaping ICON_MaxAccelerated #define ICON_MaxPosX ICON_MoveX
#define ICON_JDmm ICON_MaxJerk #define ICON_MaxPosY ICON_MoveY
#define ICON_Tram ICON_SetEndTemp #define ICON_MaxPosZ ICON_MoveZ
#define ICON_Level ICON_HotendTemp #define ICON_MeshEdit ICON_Homing
#define ICON_Lock ICON_Cool #define ICON_MeshEditX ICON_MoveX
#define ICON_ManualMesh ICON_HotendTemp #define ICON_MeshEditY ICON_MoveY
#define ICON_MaxPosX ICON_MoveX #define ICON_MeshEditZ ICON_MoveZ
#define ICON_MaxPosY ICON_MoveY #define ICON_MeshNext ICON_Axis
#define ICON_MaxPosZ ICON_MoveZ #define ICON_MeshPoints ICON_SetEndTemp
#define ICON_MeshEdit ICON_Homing #define ICON_MeshReset ICON_StockConfiguration
#define ICON_MeshEditX ICON_MoveX #define ICON_MeshSave ICON_WriteEEPROM
#define ICON_MeshEditY ICON_MoveY #define ICON_MeshViewer ICON_HotendTemp
#define ICON_MeshEditZ ICON_MoveZ #define ICON_MoveZ0 ICON_HotendTemp
#define ICON_MeshNext ICON_Axis #define ICON_Park ICON_Motion
#define ICON_MeshPoints ICON_SetEndTemp #define ICON_ParkPos ICON_AdvSet
#define ICON_MeshReset ICON_StockConfiguration #define ICON_ParkPosX ICON_StepX
#define ICON_MeshSave ICON_WriteEEPROM #define ICON_ParkPosY ICON_StepY
#define ICON_MeshViewer ICON_HotendTemp #define ICON_ParkPosZ ICON_StepZ
#define ICON_MoveZ0 ICON_HotendTemp #define ICON_PhySet ICON_PrintSize
#define ICON_Park ICON_Motion #define ICON_PIDCycles ICON_ResetEEPROM
#define ICON_ParkPos ICON_AdvSet #define ICON_PIDValue ICON_Contact
#define ICON_ParkPosX ICON_StepX #define ICON_PrintStats ICON_PrintTime
#define ICON_ParkPosY ICON_StepY #define ICON_PrintStatsReset ICON_RemainTime
#define ICON_ParkPosZ ICON_StepZ #define ICON_Preheat1 ICON_PLAPreheat
#define ICON_PhySet ICON_PrintSize #define ICON_Preheat2 ICON_ABSPreheat
#define ICON_PIDNozzle ICON_SetEndTemp #define ICON_Preheat3 ICON_CustomPreheat
#define ICON_PIDBed ICON_SetBedTemp #define ICON_Preheat4 ICON_CustomPreheat
#define ICON_PIDCycles ICON_ResumeEEPROM #define ICON_Preheat5 ICON_CustomPreheat
#define ICON_PIDValue ICON_Contact #define ICON_Preheat6 ICON_CustomPreheat
#define ICON_PrintStats ICON_PrintTime #define ICON_Preheat7 ICON_CustomPreheat
#define ICON_PrintStatsReset ICON_RemainTime #define ICON_Preheat8 ICON_CustomPreheat
#define ICON_Preheat1 ICON_PLAPreheat #define ICON_Preheat9 ICON_CustomPreheat
#define ICON_Preheat2 ICON_ABSPreheat #define ICON_Preheat10 ICON_CustomPreheat
#define ICON_Preheat3 ICON_CustomPreheat #define ICON_ProbeDeploy ICON_SetEndTemp
#define ICON_Preheat4 ICON_CustomPreheat #define ICON_ProbeMargin ICON_PrintSize
#define ICON_Preheat5 ICON_CustomPreheat #define ICON_ProbeSet ICON_SetEndTemp
#define ICON_Preheat6 ICON_CustomPreheat #define ICON_ProbeStow ICON_SetEndTemp
#define ICON_Preheat7 ICON_CustomPreheat #define ICON_ProbeTest ICON_SetEndTemp
#define ICON_Preheat8 ICON_CustomPreheat #define ICON_ProbeZSpeed ICON_MaxSpeedZ
#define ICON_Preheat9 ICON_CustomPreheat #define ICON_Pwrlossr ICON_Motion
#define ICON_Preheat10 ICON_CustomPreheat #define ICON_Reboot ICON_ResetEEPROM
#define ICON_ProbeDeploy ICON_SetEndTemp #define ICON_Runout ICON_MaxAccE
#define ICON_ProbeMargin ICON_PrintSize #define ICON_Scolor ICON_MaxSpeed
#define ICON_ProbeOffsetX ICON_StepX #define ICON_SetBaudRate ICON_Setspeed
#define ICON_ProbeOffsetY ICON_StepY #define ICON_SetCustomPreheat ICON_SetEndTemp
#define ICON_ProbeOffsetZ ICON_StepZ #define ICON_SetPreheat1 ICON_SetPLAPreheat
#define ICON_ProbeSet ICON_SetEndTemp #define ICON_SetPreheat2 ICON_SetABSPreheat
#define ICON_ProbeStow ICON_SetEndTemp #define ICON_SetPreheat3 ICON_SetCustomPreheat
#define ICON_ProbeTest ICON_SetEndTemp #define ICON_SetPreheat4 ICON_SetCustomPreheat
#define ICON_ProbeZSpeed ICON_MaxSpeedZ #define ICON_SetPreheat5 ICON_SetCustomPreheat
#define ICON_Pwrlossr ICON_Motion #define ICON_SetPreheat6 ICON_SetCustomPreheat
#define ICON_Reboot ICON_ResumeEEPROM #define ICON_SetPreheat7 ICON_SetCustomPreheat
#define ICON_Runout ICON_MaxAccE #define ICON_SetPreheat8 ICON_SetCustomPreheat
#define ICON_Scolor ICON_MaxSpeed #define ICON_SetPreheat9 ICON_SetCustomPreheat
#define ICON_SetBaudRate ICON_Setspeed #define ICON_SetPreheat10 ICON_SetCustomPreheat
#define ICON_SetCustomPreheat ICON_SetEndTemp #define ICON_ShapingX ICON_MoveX
#define ICON_SetPreheat1 ICON_SetPLAPreheat #define ICON_ShapingY ICON_MoveY
#define ICON_SetPreheat2 ICON_SetABSPreheat #define ICON_Sound ICON_Cool
#define ICON_SetPreheat3 ICON_SetCustomPreheat #define ICON_TMCSet ICON_PrintSize
#define ICON_SetPreheat4 ICON_SetCustomPreheat #define ICON_TMCXSet ICON_MoveX
#define ICON_SetPreheat5 ICON_SetCustomPreheat #define ICON_TMCYSet ICON_MoveY
#define ICON_SetPreheat6 ICON_SetCustomPreheat #define ICON_TMCZSet ICON_MoveZ
#define ICON_SetPreheat7 ICON_SetCustomPreheat #define ICON_TMCESet ICON_Extruder
#define ICON_SetPreheat8 ICON_SetCustomPreheat #define ICON_UBLActive ICON_HotendTemp
#define ICON_SetPreheat9 ICON_SetCustomPreheat #define ICON_UBLSlot ICON_ResetEEPROM
#define ICON_SetPreheat10 ICON_SetCustomPreheat #define ICON_UBLMeshSave ICON_WriteEEPROM
#define ICON_ShapingX ICON_MoveX #define ICON_UBLMeshLoad ICON_ReadEEPROM
#define ICON_ShapingY ICON_MoveY #define ICON_UBLTiltGrid ICON_PrintSize
#define ICON_Sound ICON_Cool #define ICON_UBLSmartFill ICON_StockConfiguration
#define ICON_TMCSet ICON_PrintSize #define ICON_ZAfterHome ICON_SetEndTemp
#define ICON_TMCXSet ICON_MoveX
#define ICON_TMCYSet ICON_MoveY
#define ICON_TMCZSet ICON_MoveZ
#define ICON_TMCESet ICON_Extruder
#define ICON_UBLActive ICON_HotendTemp
#define ICON_UBLActive ICON_HotendTemp
#define ICON_UBLSlot ICON_ResumeEEPROM
#define ICON_UBLMeshSave ICON_WriteEEPROM
#define ICON_UBLMeshLoad ICON_ReadEEPROM
#define ICON_UBLTiltGrid ICON_PrintSize
#define ICON_UBLSmartFill ICON_StockConfiguration
#define ICON_ZAfterHome ICON_SetEndTemp
#define ICON_CaseLight ICON_Motion #define ICON_CaseLight ICON_Motion
#define ICON_LedControl ICON_Motion #define ICON_LedControl ICON_Motion
// MPC // MPC
#define ICON_MPCNozzle ICON_SetEndTemp #define ICON_MPCNozzle ICON_SetEndTemp
#define ICON_MPCValue ICON_Contact #define ICON_MPCValue ICON_Contact
#define ICON_MPCHeater ICON_Temperature #define ICON_MPCHeater ICON_Temperature
#define ICON_MPCHeatCap ICON_SetBedTemp #define ICON_MPCHeatCap ICON_SetBedTemp
#define ICON_MPCFan ICON_FanSpeed #define ICON_MPCFan ICON_FanSpeed
// Buttons // Buttons
#define BTN_Continue 85 #define BTN_Continue 85

View file

@ -113,8 +113,7 @@ class DWIN_ICO_File():
# Seek file position, read length bytes, and write to new output file. # Seek file position, read length bytes, and write to new output file.
print('%02d: offset: 0x%06x len: 0x%04x width: %d height: %d' % print('%02d: offset: 0x%06x len: 0x%04x width: %d height: %d' %
(count, entry.offset, entry.length, entry.width, entry.height)) (count, entry.offset, entry.length, entry.width, entry.height))
outfilename = os.path.join(outDir, outfilename = os.path.join(outDir, '%03d-ICON_%s.jpg' % (count, _iconNames7[count]))
'%03d-%s.jpg' % (count, _iconNames[count]))
with open(outfilename, 'wb') as outfile: with open(outfilename, 'wb') as outfile:
infile.seek(entry.offset) infile.seek(entry.offset)
blob = infile.read(entry.length) blob = infile.read(entry.length)
@ -246,112 +245,97 @@ class Entry():
0, 0, 0, 0, 0) 0, 0, 0, 0, 0)
return rawdata return rawdata
_iconNames = { _iconNames7 = {
0 : 'ICON_LOGO', 0 : "LOGO_Creality",
1 : 'ICON_Print_0', 1 : "Print_0",
2 : 'ICON_Print_1', 2 : "Print_1",
3 : 'ICON_Prepare_0', 3 : "Prepare_0",
4 : 'ICON_Prepare_1', 4 : "Prepare_1",
5 : 'ICON_Control_0', 5 : "Control_0",
6 : 'ICON_Control_1', 6 : "Control_1",
7 : 'ICON_Leveling_0', 7 : "Leveling_0",
8 : 'ICON_Leveling_1', 8 : "Leveling_1",
9 : 'ICON_HotendTemp', 9 : "HotendTemp",
10 : 'ICON_BedTemp', 10 : "BedTemp",
11 : 'ICON_Speed', 11 : "Speed",
12 : 'ICON_Zoffset', 12 : "Zoffset",
13 : 'ICON_Back', 13 : "Back",
14 : 'ICON_File', 14 : "File",
15 : 'ICON_PrintTime', 15 : "PrintTime",
16 : 'ICON_RemainTime', 16 : "RemainTime",
17 : 'ICON_Setup_0', 17 : "Setup_0",
18 : 'ICON_Setup_1', 18 : "Setup_1",
19 : 'ICON_Pause_0', 19 : "Pause_0",
20 : 'ICON_Pause_1', 20 : "Pause_1",
21 : 'ICON_Continue_0', 21 : "Continue_0",
22 : 'ICON_Continue_1', 22 : "Continue_1",
23 : 'ICON_Stop_0', 23 : "Stop_0",
24 : 'ICON_Stop_1', 24 : "Stop_1",
25 : 'ICON_Bar', 25 : "Bar",
26 : 'ICON_More', 26 : "More",
27 : 'ICON_Axis', 27 : "Axis",
28 : 'ICON_CloseMotor', 28 : "CloseMotor",
29 : 'ICON_Homing', 29 : "Homing",
30 : 'ICON_SetHome', 30 : "SetHome",
31 : 'ICON_PLAPreheat', 31 : "PLAPreheat",
32 : 'ICON_ABSPreheat', 32 : "ABSPreheat",
33 : 'ICON_Cool', 33 : "Cool",
34 : 'ICON_Language', 34 : "Language",
35 : 'ICON_MoveX', 35 : "MoveX",
36 : 'ICON_MoveY', 36 : "MoveY",
37 : 'ICON_MoveZ', 37 : "MoveZ",
38 : 'ICON_Extruder', 38 : "Extruder",
# no 39 # Skip 39
40 : 'ICON_Temperature', 40 : "Temperature",
41 : 'ICON_Motion', 41 : "Motion",
42 : 'ICON_WriteEEPROM', 42 : "WriteEEPROM",
43 : 'ICON_ReadEEPROM', 43 : "ReadEEPROM",
44 : 'ICON_ResumeEEPROM', 44 : "ResetEEPROM",
45 : 'ICON_Info', 45 : "Info",
46 : 'ICON_SetEndTemp', 46 : "SetEndTemp",
47 : 'ICON_SetBedTemp', 47 : "SetBedTemp",
48 : 'ICON_FanSpeed', 48 : "FanSpeed",
49 : 'ICON_SetPLAPreheat', 49 : "SetPLAPreheat",
50 : 'ICON_SetABSPreheat', 50 : "SetABSPreheat",
51 : 'ICON_MaxSpeed', 51 : "MaxSpeed",
52 : 'ICON_MaxAccelerated', 52 : "MaxAccelerated",
53 : 'ICON_MaxJerk', 53 : "MaxJerk",
54 : 'ICON_Step', 54 : "Step",
55 : 'ICON_PrintSize', 55 : "PrintSize",
56 : 'ICON_Version', 56 : "Version",
57 : 'ICON_Contact', 57 : "Contact",
58 : 'ICON_StockConfiguraton', 58 : "StockConfiguraton",
59 : 'ICON_MaxSpeedX', 59 : "MaxSpeedX",
60 : 'ICON_MaxSpeedY', 60 : "MaxSpeedY",
61 : 'ICON_MaxSpeedZ', 61 : "MaxSpeedZ",
62 : 'ICON_MaxSpeedE', 62 : "MaxSpeedE",
63 : 'ICON_MaxAccX', 63 : "MaxAccX",
64 : 'ICON_MaxAccY', 64 : "MaxAccY",
65 : 'ICON_MaxAccZ', 65 : "MaxAccZ",
66 : 'ICON_MaxAccE', 66 : "MaxAccE",
67 : 'ICON_MaxSpeedJerkX', 67 : "MaxSpeedJerkX",
68 : 'ICON_MaxSpeedJerkY', 68 : "MaxSpeedJerkY",
69 : 'ICON_MaxSpeedJerkZ', 69 : "MaxSpeedJerkZ",
70 : 'ICON_MaxSpeedJerkE', 70 : "MaxSpeedJerkE",
71 : 'ICON_StepX', 71 : "StepX",
72 : 'ICON_StepY', 72 : "StepY",
73 : 'ICON_StepZ', 73 : "StepZ",
74 : 'ICON_StepE', 74 : "StepE",
75 : 'ICON_Setspeed', 75 : "Setspeed",
76 : 'ICON_SetZOffset', 76 : "SetZOffset",
77 : 'ICON_Rectangle', 77 : "Rectangle",
78 : 'ICON_BLTouch', 78 : "BLTouch",
79 : 'ICON_TempTooLow', 79 : "TempTooLow",
80 : 'ICON_AutoLeveling', 80 : "AutoLeveling",
81 : 'ICON_TempTooHigh', 81 : "TempTooHigh",
82 : 'ICON_NoTips_C', 82 : "NoTips_C",
83 : 'ICON_NoTips_E', 83 : "NoTips_E",
84 : 'ICON_Continue_C', 84 : "Continue_C",
85 : 'ICON_Continue_E', 85 : "Continue_E",
86 : 'ICON_Cancel_C', 86 : "Cancel_C",
87 : 'ICON_Cancel_E', 87 : "Cancel_E",
88 : 'ICON_Confirm_C', 88 : "Confirm_C",
89 : 'ICON_Confirm_E', 89 : "Confirm_E",
90 : 'ICON_Info_0', 90 : "Info_0",
91 : 'ICON_Info_1', 91 : "Info_1"
93 : 'ICON_Printer_0',
#94 : 'ICON_Printer_1',
200 : 'ICON_Checkbox_F',
201 : 'ICON_Checkbox_T',
202 : 'ICON_Fade',
203 : 'ICON_Mesh',
204 : 'ICON_Tilt',
205 : 'ICON_Brightness',
206 : 'ICON_Probe',
249 : 'ICON_AxisD',
250 : 'ICON_AxisBR',
251 : 'ICON_AxisTR',
252 : 'ICON_AxisBL',
253 : 'ICON_AxisTL',
254 : 'ICON_AxisC'
} }

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 8 KiB

After

Width:  |  Height:  |  Size: 8 KiB

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Some files were not shown because too many files have changed in this diff Show more