Refactored

This commit is contained in:
2021-03-20 16:07:46 +01:00
parent e451875d36
commit b53332acdd
47 changed files with 746 additions and 1604 deletions

View File

@@ -1,51 +1,40 @@
#include "frame_compare.h"
void UpdateCompareCanvasDraw(uint8_t mode, M5EPD_Canvas *update_canvas)
{
void UpdateCompareCanvasDraw(uint8_t mode, M5EPD_Canvas *update_canvas) {
update_canvas->fillCanvas(0);
for(int i = 0; i < 16; i++)
{
for(int i = 0; i < 16; i++) {
update_canvas->fillRect(i * 27, 0, 27, 50, i);
}
switch(mode)
{
case UPDATE_MODE_INIT :
{
switch(mode) {
case UPDATE_MODE_INIT : {
update_canvas->drawString("Display initialization", 8, 60);
break;
}
case UPDATE_MODE_DU :
{
case UPDATE_MODE_DU : {
update_canvas->drawString("Monochrome menu, text input ", 8, 60);
break;
}
case UPDATE_MODE_GC16 :
{
case UPDATE_MODE_GC16 : {
update_canvas->drawString("High quality images", 8, 60);
break;
}
case UPDATE_MODE_GL16 :
{
case UPDATE_MODE_GL16 : {
update_canvas->drawString("Text with white background", 8, 60);
break;
}
case UPDATE_MODE_GLR16:
{
case UPDATE_MODE_GLR16: {
update_canvas->drawString("Text with white background", 8, 60);
break;
}
case UPDATE_MODE_GLD16:
{
case UPDATE_MODE_GLD16: {
update_canvas->drawString("Graphics with white background", 8, 60);
break;
}
case UPDATE_MODE_DU4 :
{
case UPDATE_MODE_DU4 : {
update_canvas->drawString("Fast page flipping", 8, 60);
break;
}
case UPDATE_MODE_A2 :
{
case UPDATE_MODE_A2 : {
update_canvas->drawString("Anti-aliased text in menus", 8, 60);
break;
}
@@ -53,8 +42,7 @@ void UpdateCompareCanvasDraw(uint8_t mode, M5EPD_Canvas *update_canvas)
update_canvas->drawRect(0, 0, 432, 100, 15);
}
void key_update_mode_cb(epdgui_args_vector_t &args)
{
void key_update_mode_cb(epdgui_args_vector_t &args) {
EPDGUI_Button *btn = (EPDGUI_Button*)(args[0]);
M5EPD_Canvas *canvas = (M5EPD_Canvas*)(args[1]);
M5EPD_Canvas *canvas_time = (M5EPD_Canvas*)(args[2]);
@@ -70,14 +58,12 @@ void key_update_mode_cb(epdgui_args_vector_t &args)
canvas_time->pushCanvas(330, 925, UPDATE_MODE_GL16);
}
void key_update_reset_cb(epdgui_args_vector_t &args)
{
void key_update_reset_cb(epdgui_args_vector_t &args) {
M5.EPD.FillPartGram4bpp(104, 168, 432, 748, 0xFFFF);
M5.EPD.UpdateArea(104, 168, 432, 748, UPDATE_MODE_INIT);
}
Frame_Compare::Frame_Compare(void)
{
Frame_Compare::Frame_Compare(void) {
_frame_name = "Frame_Compare";
_canvas_time = new M5EPD_Canvas(&M5.EPD);
@@ -89,20 +75,15 @@ Frame_Compare::Frame_Compare(void)
_canvas_time->setTextDatum(CR_DATUM);
uint8_t language = GetLanguage();
if(language == LANGUAGE_JA)
{
if(language == LANGUAGE_JA) {
exitbtn("ホーム");
_canvas_title->drawString("比較", 270, 34);
_key_updatemode[UPDATE_MODE_INIT] = new EPDGUI_Button("リセット", 4, 88, 532, 60);
}
else if(language == LANGUAGE_ZH)
{
} else if(language == LANGUAGE_ZH) {
exitbtn("主页");
_canvas_title->drawString("比较", 270, 34);
_key_updatemode[UPDATE_MODE_INIT] = new EPDGUI_Button("全部重置", 4, 88, 532, 60);
}
else
{
} else {
exitbtn("Home");
_canvas_title->drawString("Compare", 270, 34);
_key_updatemode[UPDATE_MODE_INIT] = new EPDGUI_Button("Reset all", 4, 88, 532, 60);
@@ -110,8 +91,7 @@ Frame_Compare::Frame_Compare(void)
_key_updatemode[UPDATE_MODE_INIT]->Bind(EPDGUI_Button::EVENT_RELEASED, key_update_reset_cb);
for(int i = 1; i < 8; i++)
{
for(int i = 1; i < 8; i++) {
_key_updatemode[i] = new EPDGUI_Button(0, 168 + (i-1) * 108, 100, 100);
char buf[10];
sprintf(buf, "%d", i);
@@ -134,24 +114,18 @@ Frame_Compare::Frame_Compare(void)
_key_exit->Bind(EPDGUI_Button::EVENT_RELEASED, &Frame_Base::exit_cb);
}
Frame_Compare::~Frame_Compare(void)
{
for(int i = 0; i < 8; i++)
{
Frame_Compare::~Frame_Compare(void) {
for(int i = 0; i < 8; i++) {
delete _key_updatemode[i];
}
delete _canvas;
}
int Frame_Compare::run()
{
switch(_update_flag)
{
case 1:
{
int Frame_Compare::run() {
switch(_update_flag) {
case 1: {
_update_flag = 0;
for(int i = 1; i < 8; i++)
{
for(int i = 1; i < 8; i++) {
UpdateCompareCanvasDraw(i, _canvas);
_canvas->pushCanvas(104, 168 + (i-1) * 108, (m5epd_update_mode_t)i);
}
@@ -161,15 +135,13 @@ int Frame_Compare::run()
return 1;
}
int Frame_Compare::init(epdgui_args_vector_t &args)
{
int Frame_Compare::init(epdgui_args_vector_t &args) {
_is_run = 1;
_update_flag = 1;
M5.EPD.Clear();
_canvas_title->pushCanvas(0, 8, UPDATE_MODE_NONE);
EPDGUI_AddObject(_key_exit);
for(int i = 0; i < 8; i++)
{
for(int i = 0; i < 8; i++) {
EPDGUI_AddObject(_key_updatemode[i]);
}
EPDGUI_SetAutoUpdate(false);