MX 1 год назад
Родитель
Сommit
041e17ffcc

+ 1 - 1
base_pack/metronome/application.fam

@@ -12,6 +12,6 @@ App(
     stack_size=2 * 1024,
     order=20,
     fap_author="@panki27 & @xMasterX",
-    fap_version="1.1",
+    fap_version="1.2",
     fap_description="Metronome app",
 )

+ 4 - 5
base_pack/metronome/gui_extensions.c

@@ -7,7 +7,7 @@ void elements_button_top_left(Canvas* canvas, const char* str) {
     const uint8_t button_height = 12;
     const uint8_t vertical_offset = 3;
     const uint8_t horizontal_offset = 3;
-    const uint8_t string_width = canvas_string_width(canvas, str);
+    uint16_t string_width = canvas_string_width(canvas, str);
     const Icon* icon = &I_ButtonUp_7x4;
     const uint8_t icon_h_offset = 3;
     const uint8_t icon_width_with_offset = icon->width + icon_h_offset;
@@ -23,7 +23,7 @@ void elements_button_top_left(Canvas* canvas, const char* str) {
     canvas_draw_line(canvas, x + button_width + 2, y - button_height, x + button_width + 2, y - 3);
 
     canvas_invert_color(canvas);
-    canvas_draw_icon(canvas, x + horizontal_offset, y - icon_v_offset, &I_ButtonUp_7x4);
+    canvas_draw_icon(canvas, x + horizontal_offset, y - icon_v_offset, icon);
     canvas_draw_str(
         canvas, x + horizontal_offset + icon_width_with_offset, y - vertical_offset, str);
     canvas_invert_color(canvas);
@@ -33,7 +33,7 @@ void elements_button_top_right(Canvas* canvas, const char* str) {
     const uint8_t button_height = 12;
     const uint8_t vertical_offset = 3;
     const uint8_t horizontal_offset = 3;
-    const uint8_t string_width = canvas_string_width(canvas, str);
+    uint16_t string_width = canvas_string_width(canvas, str);
     const Icon* icon = &I_ButtonUp_7x4;
     const uint8_t icon_h_offset = 3;
     const uint8_t icon_width_with_offset = icon->width + icon_h_offset;
@@ -50,7 +50,6 @@ void elements_button_top_right(Canvas* canvas, const char* str) {
 
     canvas_invert_color(canvas);
     canvas_draw_str(canvas, x - button_width + horizontal_offset, y - vertical_offset, str);
-    canvas_draw_icon(
-        canvas, x - horizontal_offset - icon->width, y - icon_v_offset, &I_ButtonUp_7x4);
+    canvas_draw_icon(canvas, x - horizontal_offset - icon->width, y - icon_v_offset, icon);
     canvas_invert_color(canvas);
 }

+ 6 - 4
base_pack/metronome/metronome.c

@@ -123,8 +123,12 @@ static void render_callback(Canvas* const canvas, void* ctx) {
     elements_button_top_right(canvas, "Hold");
 
     // draw progress bar
-    elements_progress_bar(
-        canvas, 8, 36, 112, (float)metronome_state->current_beat / metronome_state->beats_per_bar);
+    float current_progress = (float)metronome_state->current_beat / metronome_state->beats_per_bar;
+    if(!((current_progress >= 0.0f) && (current_progress <= 1.0f))) {
+        current_progress = 0.1f;
+    }
+
+    elements_progress_bar(canvas, 8, 36, 112, current_progress);
 
     // cleanup
     furi_string_free(tempStr);
@@ -300,7 +304,6 @@ int32_t metronome_app() {
         FuriStatus event_status = furi_message_queue_get(event_queue, &event, 100);
 
         furi_mutex_acquire(metronome_state->mutex, FuriWaitForever);
-
         if(event_status == FuriStatusOk) {
             if(event.type == EventTypeKey) {
                 if(event.input.type == InputTypeShort) {
@@ -379,7 +382,6 @@ int32_t metronome_app() {
                 }
             }
         }
-
         furi_mutex_release(metronome_state->mutex);
         view_port_update(view_port);
     }