Explorar o código

feat: setting font once before drawing

Roman Shchekin %!s(int64=2) %!d(string=hai) anos
pai
achega
0bb751f906
Modificáronse 1 ficheiros con 6 adicións e 3 borrados
  1. 6 3
      views/hex_viewer_startscreen.c

+ 6 - 3
views/hex_viewer_startscreen.c

@@ -69,6 +69,9 @@ void hex_viewer_startscreen_draw(Canvas* canvas, HexViewerStartscreenModel* mode
         uint32_t row_iters = model->file_read_bytes / HEX_VIEWER_BYTES_PER_LINE;
         if(model->file_read_bytes % HEX_VIEWER_BYTES_PER_LINE != 0) row_iters += 1;
 
+        // For the rest of drawing.
+        canvas_set_font(canvas, FontKeyboard);
+
         for(uint32_t i = 0; i < row_iters; ++i) {
             uint32_t bytes_left_per_row = model->file_read_bytes - i * HEX_VIEWER_BYTES_PER_LINE;
             bytes_left_per_row = MIN(bytes_left_per_row, HEX_VIEWER_BYTES_PER_LINE);
@@ -79,13 +82,13 @@ void hex_viewer_startscreen_draw(Canvas* canvas, HexViewerStartscreenModel* mode
                 for(uint32_t j = 0; j < bytes_left_per_row; ++j)
                     if(!isprint((int)temp_buf[j])) temp_buf[j] = '.';
 
-                canvas_set_font(canvas, FontKeyboard);
+                //canvas_set_font(canvas, FontKeyboard);
                 canvas_draw_str(canvas, LEFT_OFFSET, TOP_OFFSET + i * ROW_HEIGHT, temp_buf);
             } else {
                 uint32_t addr = model->file_offset + i * HEX_VIEWER_BYTES_PER_LINE;
                 snprintf(temp_buf, 32, "%04lX", addr);
 
-                canvas_set_font(canvas, FontKeyboard);
+                //canvas_set_font(canvas, FontKeyboard);
                 canvas_draw_str(canvas, LEFT_OFFSET, TOP_OFFSET + i * ROW_HEIGHT, temp_buf);
             }
 
@@ -93,7 +96,7 @@ void hex_viewer_startscreen_draw(Canvas* canvas, HexViewerStartscreenModel* mode
             for(uint32_t j = 0; j < bytes_left_per_row; ++j)
                 p += snprintf(p, 32, "%02X ", model->file_bytes[i][j]);
 
-            canvas_set_font(canvas, FontKeyboard);
+            //canvas_set_font(canvas, FontKeyboard);
             canvas_draw_str(canvas, LEFT_OFFSET + 41, TOP_OFFSET + i * ROW_HEIGHT, temp_buf);
         }