Browse Source

fix compile error in Preprocessor setting.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1136 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong 14 years ago
parent
commit
c6a2715902

+ 23 - 1
components/rtgui/common/font_bmp.c

@@ -71,8 +71,9 @@ void rtgui_bitmap_font_draw_char(struct rtgui_font_bitmap* font, struct rtgui_dc
 static void rtgui_bitmap_font_draw_text(struct rtgui_font* font, struct rtgui_dc* dc, const char* text, rt_ubase_t len, struct rtgui_rect* rect)
 {
 	rt_uint32_t length;
-	struct rtgui_font* hz_font;
 	struct rtgui_font_bitmap* bmp_font = (struct rtgui_font_bitmap*)(font->data);
+#ifdef RTGUI_USING_FONTHZ
+	struct rtgui_font* hz_font;
 
 	RT_ASSERT(bmp_font != RT_NULL);
 
@@ -109,6 +110,27 @@ static void rtgui_bitmap_font_draw_text(struct rtgui_font* font, struct rtgui_dc
 	}
 
 	rtgui_font_derefer(hz_font);
+#else
+	while ((rect->x1 < rect->x2) && len)
+	{
+		while (((rt_uint8_t)*(text + length) < 0x80) && *(text + length)) length ++;
+		if (length > 0)
+		{
+			len -= length;
+			while (length-- && rect->x1 < rect->x2)
+			{
+				rtgui_bitmap_font_draw_char(bmp_font, dc, *text, rect);
+
+				/* move x to next character */
+				if (bmp_font->char_width == RT_NULL)
+					rect->x1 += bmp_font->width;
+				else
+					rect->x1 += bmp_font->char_width[*text - bmp_font->first_char];
+				text ++;
+			}
+		}
+	}
+#endif
 }
 
 static void rtgui_bitmap_font_get_metrics(struct rtgui_font* font, const char* text, rtgui_rect_t* rect)

+ 1 - 1
examples/gui/demo_fnview.c

@@ -9,7 +9,7 @@
 #include <rtgui/widgets/button.h>
 #include <rtgui/widgets/filelist_view.h>
 
-#ifdef RT_USING_DFS
+#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
 /* 用于显示选择文件名的文本标签 */
 static rtgui_label_t* label;
 /* 触发文件列表视图的按钮回调函数 */

+ 1 - 1
examples/gui/demo_view_image.c

@@ -12,7 +12,7 @@
 static rtgui_image_t* image = RT_NULL;
 static rtgui_view_t* _view = RT_NULL;
 
-#ifdef RT_USING_DFS
+#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
 /* ´ò¿ª°´Å¥µÄ»Øµ÷º¯Êý */
 static void open_btn_onbutton(rtgui_widget_t* widget, struct rtgui_event* event)
 {

+ 3 - 0
examples/gui/demo_view_module.c

@@ -10,6 +10,7 @@
 #include <string.h>
 
 #ifdef RT_USING_MODULE
+#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
 static rtgui_view_t* _view = RT_NULL;
 
 /* ´ò¿ª°´Å¥µÄ»Øµ÷º¯Êý */
@@ -72,3 +73,5 @@ rtgui_view_t* demo_view_module(rtgui_workbench_t* workbench)
 	return _view;
 }
 #endif
+#endif
+

+ 4 - 2
examples/gui/demo_workbench.c

@@ -81,15 +81,17 @@ static void workbench_entry(void* parameter)
 	demo_view_listbox(workbench);
 	demo_view_slider(workbench);
 	demo_view_mywidget(workbench);
-#ifdef RT_USING_DFS
+#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
 	demo_view_image(workbench);
 #endif
 #ifdef RT_USING_MODULE	
+#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
 	demo_view_module(workbench);
+#endif
 #endif
 	demo_listview_view(workbench);
 	demo_listview_icon_view(workbench);
-#ifdef RT_USING_DFS
+#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
 	demo_fn_view(workbench);
 #endif