소스 검색

Top Left frame full rework

zinongli 11 달 전
부모
커밋
98fcdd1000

+ 5 - 0
api/metroflip/metroflip_api.h

@@ -218,6 +218,11 @@ extern const Icon I_Suica_VendingThankYou;
 extern const Icon I_Suica_YenKanji;
 extern const Icon I_Suica_YenSign;
 extern const Icon I_Suica_YurakuchoY;
+extern const Icon I_Suica_CardIcon;
+extern const Icon I_Suica_ShopIcon;
+extern const Icon I_Suica_VendingIcon;
+extern const Icon I_Suica_TrainIcon;
+extern const Icon I_Suica_UnknownIcon;
 
 /*******************/
 #ifdef __cplusplus

+ 6 - 1
api/metroflip/metroflip_api_table_i.h

@@ -155,4 +155,9 @@ static constexpr auto metroflip_api_table = sort(create_array_t<sym_entry>(
     API_VARIABLE(I_Suica_VendingThankYou, Icon),
     API_VARIABLE(I_Suica_YenKanji, Icon),
     API_VARIABLE(I_Suica_YenSign, Icon),
-    API_VARIABLE(I_Suica_YurakuchoY, Icon)));
+    API_VARIABLE(I_Suica_YurakuchoY, Icon),
+    API_VARIABLE(I_Suica_CardIcon, Icon),
+    API_VARIABLE(I_Suica_ShopIcon, Icon),
+    API_VARIABLE(I_Suica_VendingIcon, Icon),
+    API_VARIABLE(I_Suica_TrainIcon, Icon),
+    API_VARIABLE(I_Suica_UnknownIcon, Icon)));

+ 28 - 18
api/suica/suica_drawings.h

@@ -73,18 +73,17 @@ static void suica_draw_train_page_1(
     }
 
     // Entry Text
-    if (history.entry_line.type == SuicaMobile) {
+    if(history.entry_line.type == SuicaMobile) {
         canvas_set_font(canvas, FontPrimary);
         canvas_draw_str(canvas, 28, 28, "Mobile Suica");
     } else {
         canvas_set_font(canvas, FontPrimary);
         canvas_draw_str(canvas, 26, 23, history.entry_line.long_name);
-    
+
         canvas_set_font(canvas, FontSecondary);
         canvas_draw_str(canvas, 2, 34, furi_string_get_cstr(history.entry_station.name));
     }
 
-
     if(!is_birthday) {
         // Exit logo
         switch(history.exit_line.type) {
@@ -846,9 +845,26 @@ static void suica_history_draw_callback(Canvas* canvas, void* model) {
     }
 
     // The the banner last so it is on top
-    // Main title
-    canvas_set_font(canvas, FontPrimary);
-    canvas_draw_str(canvas, 0, 8, "Suica");
+
+    // Draw Top Left Icons
+    canvas_draw_icon(canvas, 0, 0, &I_Suica_CardIcon);
+    switch(my_model->history.history_type) {
+    case SuicaHistoryTrain:
+        canvas_draw_icon(canvas, 20, 0, &I_Suica_TrainIcon);
+        break;
+    case SuicaHistoryHappyBirthday:
+        canvas_draw_icon(canvas, 20, 0, &I_Suica_TrainIcon);
+        break;
+    case SuicaHistoryVendingMachine:
+        canvas_draw_icon(canvas, 21, 0, &I_Suica_VendingIcon);
+        break;
+    case SuicaHistoryPosAndTaxi:
+        canvas_draw_icon(canvas, 19, 0, &I_Suica_ShopIcon);
+        break;
+    default:
+        canvas_draw_icon(canvas, 22, 0, &I_Suica_UnknownIcon);
+        break;
+    }
 
     // Date
     furi_string_printf(
@@ -859,10 +875,15 @@ static void suica_history_draw_callback(Canvas* canvas, void* model) {
         my_model->history.day);
     canvas_set_font(canvas, FontPrimary);
     canvas_draw_str(canvas, 37, 8, furi_string_get_cstr(buffer));
+    // Frame
+    canvas_draw_line(canvas, 33, 0, 33, 6);
+    canvas_draw_line(canvas, 36, 9, 33, 6);
+    canvas_draw_line(canvas, 92, 9, 36, 9);
+    canvas_draw_line(canvas, 93, 9, 96, 6);
+    canvas_draw_line(canvas, 96, 0, 96, 6);
 
     // Entry Num
     canvas_draw_box(canvas, 106, 0, 13, 9);
-
     furi_string_printf(buffer, "%02d", my_model->entry);
     canvas_set_font(canvas, FontKeyboard);
     canvas_set_color(canvas, ColorWhite);
@@ -920,17 +941,6 @@ static void suica_history_draw_callback(Canvas* canvas, void* model) {
 
     canvas_set_color(canvas, ColorBlack);
 
-    // Frame
-    canvas_draw_line(canvas, 0, 9, 26, 9);
-    canvas_draw_line(canvas, 27, 9, 29, 7);
-    canvas_draw_line(canvas, 29, 0, 29, 6);
-
-    canvas_draw_line(canvas, 33, 0, 33, 6);
-    canvas_draw_line(canvas, 36, 9, 33, 6);
-    canvas_draw_line(canvas, 92, 9, 36, 9);
-    canvas_draw_line(canvas, 93, 9, 96, 6);
-    canvas_draw_line(canvas, 96, 0, 96, 6);
-
     furi_string_free(buffer);
 }
 

BIN
images/.DS_Store


BIN
images/suica/Suica_CardIcon.png


BIN
images/suica/Suica_ShopIcon.png


BIN
images/suica/Suica_TrainIcon.png


BIN
images/suica/Suica_UnknownIcon.png


BIN
images/suica/Suica_VendingIcon.png