提交 cdd01a25 编写于 作者: C chaos.proton@gmail.com

bring back commit 2079

I over written that commit accidentally, bring it back.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2093 bbd45198-f89e-11dd-88c7-29a3b14d5316
上级 db064602
...@@ -64,47 +64,47 @@ void rtgui_system_image_init(void) ...@@ -64,47 +64,47 @@ void rtgui_system_image_init(void)
#endif #endif
} }
static struct rtgui_image_engine* rtgui_image_get_engine_by_filename(const char* fn) static struct rtgui_image_engine* rtgui_image_get_engine(const char* type)
{ {
struct rtgui_list_node *node; struct rtgui_list_node *node;
struct rtgui_image_engine *engine; struct rtgui_image_engine *engine;
const char* ext;
ext = fn + rt_strlen(fn);
while (ext != fn)
{
if (*ext == '.') { ext ++; break; }
ext --;
}
if (ext == fn) return RT_NULL; /* no ext */
rtgui_list_foreach(node, &_rtgui_system_image_list) rtgui_list_foreach(node, &_rtgui_system_image_list)
{ {
engine = rtgui_list_entry(node, struct rtgui_image_engine, list); engine = rtgui_list_entry(node, struct rtgui_image_engine, list);
if (strncasecmp(engine->name, ext, strlen(engine->name)) == 0)
if (strncasecmp(engine->name, type, strlen(engine->name)) ==0)
return engine; return engine;
} }
return RT_NULL; return RT_NULL;
} }
static struct rtgui_image_engine* rtgui_image_get_engine(const char* type) #if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
static struct rtgui_image_engine* rtgui_image_get_engine_by_filename(const char* fn)
{ {
struct rtgui_list_node *node; struct rtgui_list_node *node;
struct rtgui_image_engine *engine; struct rtgui_image_engine *engine;
const char* ext;
ext = fn + rt_strlen(fn);
while (ext != fn)
{
if (*ext == '.') { ext ++; break; }
ext --;
}
if (ext == fn) return RT_NULL; /* no ext */
rtgui_list_foreach(node, &_rtgui_system_image_list) rtgui_list_foreach(node, &_rtgui_system_image_list)
{ {
engine = rtgui_list_entry(node, struct rtgui_image_engine, list); engine = rtgui_list_entry(node, struct rtgui_image_engine, list);
if (strncasecmp(engine->name, ext, strlen(engine->name)) == 0)
if (strncasecmp(engine->name, type, strlen(engine->name)) ==0)
return engine; return engine;
} }
return RT_NULL; return RT_NULL;
} }
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
struct rtgui_image* rtgui_image_create_from_file(const char* type, const char* filename, rt_bool_t load) struct rtgui_image* rtgui_image_create_from_file(const char* type, const char* filename, rt_bool_t load)
{ {
struct rtgui_filerw* filerw; struct rtgui_filerw* filerw;
......
...@@ -59,7 +59,7 @@ struct rtgui_list_view ...@@ -59,7 +59,7 @@ struct rtgui_list_view
/* the number of item in a page */ /* the number of item in a page */
rt_uint16_t page_items; rt_uint16_t page_items;
/* current item */ /* current item */
rt_uint16_t current_item; rt_int16_t current_item;
/* icon layout */ /* icon layout */
rt_uint8_t row_items, col_items; rt_uint8_t row_items, col_items;
......
...@@ -96,7 +96,7 @@ static void rtgui_list_view_onicondraw(struct rtgui_list_view* view, struct rtgu ...@@ -96,7 +96,7 @@ static void rtgui_list_view_onicondraw(struct rtgui_list_view* view, struct rtgu
} }
} }
static void rtgui_list_view_update_icon(struct rtgui_list_view* view, rt_uint16_t old_item) static void rtgui_list_view_update_icon(struct rtgui_list_view* view, rt_int16_t old_item)
{ {
struct rtgui_rect rect, item_rect, drawing_rect; struct rtgui_rect rect, item_rect, drawing_rect;
rt_ubase_t c, r; /* col and row index */ rt_ubase_t c, r; /* col and row index */
...@@ -230,7 +230,7 @@ static void rtgui_list_view_onlistdraw(struct rtgui_list_view* view, struct rtgu ...@@ -230,7 +230,7 @@ static void rtgui_list_view_onlistdraw(struct rtgui_list_view* view, struct rtgu
} }
} }
void rtgui_list_view_update_list(struct rtgui_list_view* view, rt_uint16_t old_item) void rtgui_list_view_update_list(struct rtgui_list_view* view, rt_int16_t old_item)
{ {
struct rtgui_dc* dc; struct rtgui_dc* dc;
const struct rtgui_list_item* item; const struct rtgui_list_item* item;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册