Explorar o código

Merge pull request #21 from yangfasheng/master

update font_hz_file.c
yangfasheng %!s(int64=7) %!d(string=hai) anos
pai
achega
1ecc330a36
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      src/font_hz_file.c

+ 3 - 1
src/font_hz_file.c

@@ -277,6 +277,7 @@ static void rtgui_hz_file_font_draw_text(struct rtgui_font *font, struct rtgui_d
 static void rtgui_hz_file_font_get_metrics(struct rtgui_font *font, const char *text, rtgui_rect_t *rect)
 {
     rt_uint8_t *str;
+    rt_uint32_t x2;
     struct rtgui_hz_file_font *hz_file_font = (struct rtgui_hz_file_font *)font->data;
     RT_ASSERT(hz_file_font != RT_NULL);
 
@@ -292,7 +293,8 @@ static void rtgui_hz_file_font_get_metrics(struct rtgui_font *font, const char *
 
     /* set metrics rect */
     rect->x1 = rect->y1 = 0;
-    rect->x2 = (rt_int16_t)(hz_file_font->font_size / 2 * rt_strlen((const char *)str));
+    x2 = hz_file_font->font_size / 2 * rt_strlen((const char *)str);
+    rect->x2 = (rt_int16_t)(x2 >= 0x7FFF ? 0x7FFF : x2);
     rect->y2 = hz_file_font->font_size;
 
     rt_free(str);