瀏覽代碼

Merge pull request #1082 from enkiller/add_gui_demo

[gui]修正不能正确获取图片数据长度的问题
Bernard Xiong 7 年之前
父節點
當前提交
aa65c75d8f
共有 2 個文件被更改,包括 9 次插入3 次删除
  1. 3 2
      components/gui/example/gui_demo.c
  2. 6 1
      components/gui/example/resources.c

+ 3 - 2
components/gui/example/gui_demo.c

@@ -9,7 +9,8 @@
 #include <rtgui/widgets/window.h>
 #include <rtgui/dc.h>
 
-extern const static unsigned char _picture_png[];
+extern const unsigned char _picture_png[];
+extern int _picture_png_length_get(void);
 
 static rt_bool_t show_demo(struct rtgui_win *win)
 {
@@ -40,7 +41,7 @@ static rt_bool_t show_demo(struct rtgui_win *win)
         rtgui_rect_t draw_rect;
         struct rtgui_image *img;
 
-        img = rtgui_image_create_from_mem("png", _picture_png, sizeof(_picture_png), RT_TRUE);
+        img = rtgui_image_create_from_mem("png", _picture_png, _picture_png_length_get(), RT_TRUE);
         if (img != RT_NULL)
         {
             draw_rect.x1 = rect.x2 / 2 + (rect.x2 / 2 - img->w) / 2;

+ 6 - 1
components/gui/example/resources.c

@@ -1,4 +1,4 @@
-const static unsigned char _picture_png[] = {
+const unsigned char _picture_png[] = {
     0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
     0x00,0x00,0x00,0xbe,0x00,0x00,0x00,0x4a,0x08,0x06,0x00,0x00,0x00,0x05,0x77,0xee,
     0x92,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,
@@ -1393,3 +1393,8 @@ const static unsigned char _picture_png[] = {
     0x1f,0x00,0x4b,0xa8,0x7e,0x3f,0xd2,0x12,0x11,0x79,0x00,0x00,0x00,0x00,0x49,0x45,
     0x4e,0x44,0xae,0x42,0x60,0x82,
 };
+
+int _picture_png_length_get(void)
+{
+    return sizeof(_picture_png);
+}