diff --git a/demos/assets.c b/demos/assets.c index 047f0a897..f6e49b5dd 100644 --- a/demos/assets.c +++ b/demos/assets.c @@ -281,7 +281,7 @@ #include "assets/inc/images/3.data" #include "assets/inc/images/arrow_left_n.data" #include "assets/inc/images/edit_clear_p.data" -#endif/*WITH_STB_IMAGE*/ +#endif /*WITH_STB_IMAGE*/ #ifdef WITH_VGCANVAS #include "assets/inc/images/pointer_4.bsvg" #include "assets/inc/images/pointer_2.bsvg" @@ -294,17 +294,17 @@ #include "assets/inc/images/pointer_red.bsvg" #include "assets/inc/images/pointer_big.bsvg" #include "assets/inc/images/girl.bsvg" -#endif/*WITH_VGCANVAS*/ +#endif /*WITH_VGCANVAS*/ #ifdef WITH_STB_FONT #ifdef WITH_MINI_FONT #include "assets/inc/fonts/default.mini.res" -#else/*WITH_MINI_FONT*/ +#else /*WITH_MINI_FONT*/ #include "assets/inc/fonts/default.res" -#endif/*WITH_MINI_FONT*/ -#else/*WITH_STB_FONT*/ +#endif /*WITH_MINI_FONT*/ +#else /*WITH_STB_FONT*/ #include "assets/inc/fonts/default.data" -#endif/*WITH_STB_FONT*/ -#endif/*WITH_FS_RES*/ +#endif /*WITH_STB_FONT*/ +#endif /*WITH_FS_RES*/ ret_t assets_init(void) { assets_manager_t* rm = assets_manager(); @@ -508,7 +508,7 @@ ret_t assets_init(void) { assets_manager_add(rm, image_pointer_red); assets_manager_add(rm, image_pointer_big); assets_manager_add(rm, image_girl); -#endif/*WITH_VGCANVAS*/ +#endif /*WITH_VGCANVAS*/ #endif tk_init_assets(); diff --git a/docs/changes.md b/docs/changes.md index 2e0abc558..540b958a5 100644 --- a/docs/changes.md +++ b/docs/changes.md @@ -1,4 +1,9 @@ # 最新动态 +* 2018/11/21 + * 修改资源生成工具支持SVG。 + * 修改slide\_view,增加一个拖动阀值,由该阀值和速度共同决定是否切换页面。 + * 修改一些编译警告。 + * 2018/11/20 * 合并BUG #35的补丁。 * 合并BUG #25的补丁。 diff --git a/src/ext_widgets/slide_view/slide_view.c b/src/ext_widgets/slide_view/slide_view.c index 40f760088..3d027348e 100644 --- a/src/ext_widgets/slide_view/slide_view.c +++ b/src/ext_widgets/slide_view/slide_view.c @@ -97,7 +97,9 @@ ret_t slide_view_activate_next(slide_view_t* slide_view) { } static ret_t slide_view_on_paint_self(widget_t* widget, canvas_t* c) { - return widget_paint_helper(widget, c, NULL, NULL); + (void)widget; + (void)c; + return RET_OK; } static ret_t slide_view_on_pointer_down(slide_view_t* slide_view, pointer_event_t* e) { @@ -131,6 +133,8 @@ static ret_t slide_view_on_scroll_done(void* ctx, event_t* e) { return RET_OK; } +#define DRAG_THRESHOLD 30 + static ret_t slide_view_on_pointer_up(slide_view_t* slide_view, pointer_event_t* e) { uint32_t v_threshhold = 100; widget_t* widget = WIDGET(slide_view); @@ -151,6 +155,9 @@ static ret_t slide_view_on_pointer_up(slide_view_t* slide_view, pointer_event_t* } else if (yoffset < 0 && slide_view_get_next(slide_view) == NULL) { rollback = TRUE; } + if (tk_abs(yoffset) < DRAG_THRESHOLD) { + rollback = TRUE; + } if (!rollback) { yoffset_end = yoffset > 0 ? h : -h; @@ -169,6 +176,9 @@ static ret_t slide_view_on_pointer_up(slide_view_t* slide_view, pointer_event_t* } else if (xoffset < 0 && slide_view_get_next(slide_view) == NULL) { rollback = TRUE; } + if (tk_abs(xoffset) < DRAG_THRESHOLD) { + rollback = TRUE; + } if (!rollback) { xoffset_end = xoffset > 0 ? w : -w;