mirror of
https://github.com/zlgopen/awtk.git
synced 2025-05-08 19:44:45 +08:00
format code
This commit is contained in:
parent
11f766e7ff
commit
2887c9c606
@ -30,7 +30,6 @@ static widget_t* window_anim_widget = NULL;
|
||||
static ret_t install_one(void* ctx, const void* iter);
|
||||
static void open_window(const char* name, widget_t* to_close);
|
||||
|
||||
|
||||
static ret_t timer_open_open_overlay(const timer_info_t* timer) {
|
||||
open_window("top", NULL);
|
||||
return RET_REMOVE;
|
||||
@ -60,9 +59,10 @@ static void open_window(const char* name, widget_t* to_close) {
|
||||
widget_set_prop_bool(win, WIDGET_PROP_ALWAYS_ON_TOP, always_on_top);
|
||||
} else if (tk_str_eq(name, "dialog1")) {
|
||||
bool_t highlight = widget_get_prop_bool(highlight_widget, WIDGET_PROP_VALUE, FALSE);
|
||||
bool_t timer_open_overlay = widget_get_prop_bool(timer_open_overlay_widget, WIDGET_PROP_VALUE, FALSE);
|
||||
bool_t timer_open_overlay =
|
||||
widget_get_prop_bool(timer_open_overlay_widget, WIDGET_PROP_VALUE, FALSE);
|
||||
bool_t window_anim = widget_get_prop_bool(window_anim_widget, WIDGET_PROP_VALUE, FALSE);
|
||||
|
||||
|
||||
if (timer_open_overlay) {
|
||||
timer_add(timer_open_open_overlay, NULL, 1000);
|
||||
}
|
||||
@ -129,7 +129,6 @@ static ret_t install_one(void* ctx, const void* iter) {
|
||||
} else if (tk_str_eq(name, "close")) {
|
||||
widget_on(widget, EVT_CLICK, on_close, win);
|
||||
}
|
||||
|
||||
}
|
||||
return RET_OK;
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ uint32_t tk_mem_speed_test(void* buffer, uint32_t length, uint32_t* pmemcpy_spee
|
||||
|
||||
#ifdef WITH_G2D
|
||||
image_g2d_benchmark();
|
||||
#endif/*WITH_G2D*/
|
||||
#endif /*WITH_G2D*/
|
||||
|
||||
return total_cost;
|
||||
}
|
||||
@ -648,7 +648,7 @@ static ret_t on_clone_view(void* ctx, event_t* e) {
|
||||
static ret_t on_remove_tab_by_index(void* ctx, event_t* e) {
|
||||
char buff[MAX_PATH] = {0};
|
||||
widget_t* iter = WIDGET(e->target);
|
||||
widget_t* win = widget_get_window(iter);
|
||||
widget_t* win = widget_get_window(iter);
|
||||
widget_t* edit = widget_lookup(win, "remove_tab_index", TRUE);
|
||||
widget_t* tab_button_group = widget_lookup_by_type(win, WIDGET_TYPE_TAB_BUTTON_GROUP, FALSE);
|
||||
|
||||
@ -1155,8 +1155,7 @@ static ret_t install_one(void* ctx, const void* iter) {
|
||||
}
|
||||
} else if (tk_str_eq(name, "remove_tab_by_index")) {
|
||||
widget_on(widget, EVT_CLICK, on_remove_tab_by_index, widget);
|
||||
}
|
||||
else if (tk_str_eq(name, "remove_self")) {
|
||||
} else if (tk_str_eq(name, "remove_self")) {
|
||||
widget_on(widget, EVT_CLICK, on_remove_self, widget);
|
||||
} else if (tk_str_eq(name, "remove_view")) {
|
||||
widget_on(widget, EVT_CLICK, on_remove_view, widget);
|
||||
|
@ -163,7 +163,7 @@ static ret_t bitmap_platform_create(bitmap_t* bitmap) {
|
||||
bitmap_t* bitmap_create_ex(uint32_t w, uint32_t h, uint32_t line_length, bitmap_format_t format) {
|
||||
bitmap_t* bitmap = TKMEM_ZALLOC(bitmap_t);
|
||||
return_value_if_fail(bitmap != NULL, NULL);
|
||||
|
||||
|
||||
bitmap_init_ex(bitmap, w, h, line_length, format, NULL);
|
||||
bitmap->should_free_handle = TRUE;
|
||||
|
||||
@ -624,7 +624,7 @@ ret_t bitmap_init_ex(bitmap_t* bitmap, uint32_t w, uint32_t h, uint32_t line_len
|
||||
if (bitmap->buffer != NULL) {
|
||||
bitmap_platform_create(bitmap);
|
||||
}
|
||||
|
||||
|
||||
return bitmap->buffer != NULL ? RET_OK : RET_OOM;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,6 @@ BEGIN_C_DECLS
|
||||
|
||||
typedef ret_t (*bitmap_destroy_t)(bitmap_t* bitmap);
|
||||
|
||||
|
||||
/**
|
||||
* @class bitmap_t
|
||||
* @order -9
|
||||
|
@ -278,7 +278,8 @@ ret_t canvas_set_global_alpha(canvas_t* c, uint8_t alpha) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static float_t canvas_standard_font_size_to_local_size(canvas_t* c, const char* font_name, font_size_t px) {
|
||||
static float_t canvas_standard_font_size_to_local_size(canvas_t* c, const char* font_name,
|
||||
font_size_t px) {
|
||||
font_t* font = NULL;
|
||||
font_vmetrics_t vmetrics;
|
||||
float_t local_size = 0.0f;
|
||||
@ -291,7 +292,7 @@ static float_t canvas_standard_font_size_to_local_size(canvas_t* c, const char*
|
||||
|
||||
vmetrics = font_get_vmetrics(font, px);
|
||||
font_height = (float_t)(vmetrics.font_ascender - vmetrics.font_descender);
|
||||
local_size = ((float_t)(px * font_height) / (float_t)vmetrics.units_per_em);
|
||||
local_size = ((float_t)(px * font_height) / (float_t)vmetrics.units_per_em);
|
||||
|
||||
return local_size;
|
||||
}
|
||||
|
@ -130,8 +130,8 @@ static const key_type_value_t keys_type_name_value[] = {
|
||||
{"SLASH", 0, TK_KEY_SLASH},
|
||||
{"RIGHTPAREN", 0, TK_KEY_RIGHTPAREN},
|
||||
{"LEFTBRACKET", 0, TK_KEY_LEFTBRACKET},
|
||||
{"ASTERISK", 0, TK_KEY_ASTERISK},
|
||||
#ifndef AWTK_WEB /*web上key冲突,去掉一些不常用的键*/
|
||||
{"ASTERISK", 0, TK_KEY_ASTERISK},
|
||||
#ifndef AWTK_WEB /*web上key冲突,去掉一些不常用的键*/
|
||||
{"PERCENT", 0, TK_KEY_PERCENT},
|
||||
{"AMPERSAND", 0, TK_KEY_AMPERSAND},
|
||||
{"QUOTE", 0, TK_KEY_QUOTE},
|
||||
@ -141,7 +141,7 @@ static const key_type_value_t keys_type_name_value[] = {
|
||||
{"EXCLAIM", 0, TK_KEY_EXCLAIM},
|
||||
{"HASH", 0, TK_KEY_HASH},
|
||||
{"DOLLAR", 0, TK_KEY_DOLLAR},
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
{"0", 0, TK_KEY_0},
|
||||
{"1", 0, TK_KEY_1},
|
||||
{"2", 0, TK_KEY_2},
|
||||
|
@ -41,7 +41,7 @@ static void key_long_press_info_destroy(key_long_press_info_t* info) {
|
||||
}
|
||||
|
||||
key_long_press_info_t* input_device_status_find_key_long_press_info(input_device_status_t* ids,
|
||||
uint32_t key) {
|
||||
uint32_t key) {
|
||||
uint32_t i = 0;
|
||||
darray_t* arr = NULL;
|
||||
return_value_if_fail(ids != NULL, NULL);
|
||||
|
@ -167,7 +167,6 @@ ret_t input_device_status_deinit(input_device_status_t* ids);
|
||||
|
||||
/*public for test*/
|
||||
|
||||
|
||||
typedef struct _key_long_press_info_t {
|
||||
uint32_t key;
|
||||
uint32_t time;
|
||||
@ -182,7 +181,7 @@ typedef struct _key_long_press_info_t {
|
||||
* @return {key_long_press_info_t*} 返回按键的长按信息。
|
||||
*/
|
||||
key_long_press_info_t* input_device_status_find_key_long_press_info(input_device_status_t* ids,
|
||||
uint32_t key);
|
||||
uint32_t key);
|
||||
|
||||
/* private */
|
||||
ret_t input_device_status_abort_keys_and_mouse(input_device_status_t* ids);
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
|
||||
#else
|
||||
#else
|
||||
#include <SDL.h>
|
||||
#include <SDL_opengl.h>
|
||||
#include <SDL_opengl_glext.h>
|
||||
@ -35,6 +35,5 @@ static inline void opengl_init(void) {
|
||||
|
||||
return;
|
||||
}
|
||||
#endif/*WITH_GPU_GL*/
|
||||
#endif/*AWTK_OPENGL_H*/
|
||||
|
||||
#endif /*WITH_GPU_GL*/
|
||||
#endif /*AWTK_OPENGL_H*/
|
||||
|
@ -44,14 +44,12 @@ typedef struct _pixel_rgb565_t {
|
||||
#define pixel_rgb565_a(p) 0xff
|
||||
#define pixel_rgb565_format BITMAP_FMT_RGB565
|
||||
#define pixel_rgb565_to_rgba(p) \
|
||||
{ (uint8_t)(p.r << 3), (uint8_t)(p.g << 2), (uint8_t)(p.b << 3), 0xff }
|
||||
{(uint8_t)(p.r << 3), (uint8_t)(p.g << 2), (uint8_t)(p.b << 3), 0xff}
|
||||
|
||||
#define pixel_rgb565_from_rgb(r, g, b) \
|
||||
{ r >> 3, g >> 2, b >> 3 }
|
||||
#define pixel_rgb565_from_rgb(r, g, b) {r >> 3, g >> 2, b >> 3}
|
||||
|
||||
#if WITH_LCD_CLEAR_ALPHA
|
||||
#define pixel_rgb565_from_rgba(r, g, b, a) \
|
||||
{ (r * a) >> 11, (g * a) >> 10, (b * a) >> 11 }
|
||||
#define pixel_rgb565_from_rgba(r, g, b, a) {(r * a) >> 11, (g * a) >> 10, (b * a) >> 11}
|
||||
#else
|
||||
#define pixel_rgb565_from_rgba(r, g, b, a) pixel_rgb565_from_rgb(r, g, b)
|
||||
#endif
|
||||
@ -81,15 +79,12 @@ typedef struct _pixel_bgr565_t {
|
||||
#define pixel_bgr565_BPP 2
|
||||
#define pixel_bgr565_a(p) 0xff
|
||||
#define pixel_bgr565_format BITMAP_FMT_BGR565
|
||||
#define pixel_bgr565_to_rgba(p) \
|
||||
{ p.r << 3, p.g << 2, p.b << 3, 0xff }
|
||||
#define pixel_bgr565_to_rgba(p) {p.r << 3, p.g << 2, p.b << 3, 0xff}
|
||||
|
||||
#define pixel_bgr565_from_rgb(r, g, b) \
|
||||
{ b >> 3, g >> 2, r >> 3 }
|
||||
#define pixel_bgr565_from_rgb(r, g, b) {b >> 3, g >> 2, r >> 3}
|
||||
|
||||
#if WITH_LCD_CLEAR_ALPHA
|
||||
#define pixel_bgr565_from_rgba(r, g, b, a) \
|
||||
{ (b * a) >> 11, (g * a) >> 10, (r * a) >> 11 }
|
||||
#define pixel_bgr565_from_rgba(r, g, b, a) {(b * a) >> 11, (g * a) >> 10, (r * a) >> 11}
|
||||
#else
|
||||
#define pixel_bgr565_from_rgba(r, g, b, a) pixel_bgr565_from_rgb(r, g, b)
|
||||
#endif
|
||||
@ -129,15 +124,12 @@ typedef struct _pixel_rgb888_t {
|
||||
#define pixel_rgb888_BPP 3
|
||||
#define pixel_rgb888_a(p) 0xff
|
||||
#define pixel_rgb888_format BITMAP_FMT_RGB888
|
||||
#define pixel_rgb888_to_rgba(p) \
|
||||
{ p.r, p.g, p.b, 0xff }
|
||||
#define pixel_rgb888_to_rgba(p) {p.r, p.g, p.b, 0xff}
|
||||
|
||||
#define pixel_rgb888_from_rgb(r, g, b) \
|
||||
{ r, g, b }
|
||||
#define pixel_rgb888_from_rgb(r, g, b) {r, g, b}
|
||||
|
||||
#if WITH_LCD_CLEAR_ALPHA
|
||||
#define pixel_rgb888_from_rgba(r, g, b, a) \
|
||||
{ (r * a) >> 8, (g * a) >> 8, (b * a) >> 8 }
|
||||
#define pixel_rgb888_from_rgba(r, g, b, a) {(r * a) >> 8, (g * a) >> 8, (b * a) >> 8}
|
||||
#else
|
||||
#define pixel_rgb888_from_rgba(r, g, b, a) pixel_rgb888_from_rgb(r, g, b)
|
||||
#endif
|
||||
@ -168,14 +160,11 @@ typedef struct _pixel_bgr888_t {
|
||||
#define pixel_bgr888_BPP 3
|
||||
#define pixel_bgr888_a(p) 0xff
|
||||
#define pixel_bgr888_format BITMAP_FMT_BGR888
|
||||
#define pixel_bgr888_to_rgba(p) \
|
||||
{ p.r, p.g, p.b, 0xff }
|
||||
#define pixel_bgr888_to_rgba(p) {p.r, p.g, p.b, 0xff}
|
||||
|
||||
#define pixel_bgr888_from_rgb(r, g, b) \
|
||||
{ b, g, r }
|
||||
#define pixel_bgr888_from_rgb(r, g, b) {b, g, r}
|
||||
#if WITH_LCD_CLEAR_ALPHA
|
||||
#define pixel_bgr888_from_rgba(r, g, b, a) \
|
||||
{ (b * a) >> 8, (g * a) >> 8, (r * a) >> 8 }
|
||||
#define pixel_bgr888_from_rgba(r, g, b, a) {(b * a) >> 8, (g * a) >> 8, (r * a) >> 8}
|
||||
#else
|
||||
#define pixel_bgr888_from_rgba(r, g, b, a) pixel_bgr888_from_rgb(r, g, b);
|
||||
#endif
|
||||
@ -207,12 +196,9 @@ typedef struct _pixel_rgba8888_t {
|
||||
#define pixel_rgba8888_BPP 4
|
||||
#define pixel_rgba8888_a(p) p.a
|
||||
#define pixel_rgba8888_format BITMAP_FMT_RGBA8888
|
||||
#define pixel_rgba8888_to_rgba(p) \
|
||||
{ p.r, p.g, p.b, p.a }
|
||||
#define pixel_rgba8888_from_rgba(r, g, b, a) \
|
||||
{ r, g, b, a }
|
||||
#define pixel_rgba8888_from_rgb(r, g, b) \
|
||||
{ r, g, b, 0xff }
|
||||
#define pixel_rgba8888_to_rgba(p) {p.r, p.g, p.b, p.a}
|
||||
#define pixel_rgba8888_from_rgba(r, g, b, a) {r, g, b, a}
|
||||
#define pixel_rgba8888_from_rgb(r, g, b) {r, g, b, 0xff}
|
||||
static inline void pixel_rgba8888_blend_rgba_dark(void* pixel, uint8_t a) {
|
||||
uint8_t* p = (uint8_t*)pixel;
|
||||
|
||||
@ -265,12 +251,9 @@ typedef struct _pixel_abgr8888_t {
|
||||
#define pixel_abgr8888_BPP 4
|
||||
#define pixel_abgr8888_a(p) p.a
|
||||
#define pixel_abgr8888_format BITMAP_FMT_ABGR8888
|
||||
#define pixel_abgr8888_to_rgba(p) \
|
||||
{ p.r, p.g, p.b, p.a }
|
||||
#define pixel_abgr8888_from_rgb(r, g, b) \
|
||||
{ 0xff, b, g, r }
|
||||
#define pixel_abgr8888_from_rgba(r, g, b, a) \
|
||||
{ a, b, g, r }
|
||||
#define pixel_abgr8888_to_rgba(p) {p.r, p.g, p.b, p.a}
|
||||
#define pixel_abgr8888_from_rgb(r, g, b) {0xff, b, g, r}
|
||||
#define pixel_abgr8888_from_rgba(r, g, b, a) {a, b, g, r}
|
||||
static inline void pixel_abgr8888_blend_rgba_dark(void* pixel, uint8_t a) {
|
||||
uint8_t* p = (uint8_t*)pixel;
|
||||
|
||||
@ -323,12 +306,9 @@ typedef struct _pixel_bgra8888_t {
|
||||
#define pixel_bgra8888_BPP 4
|
||||
#define pixel_bgra8888_a(p) p.a
|
||||
#define pixel_bgra8888_format BITMAP_FMT_BGRA8888
|
||||
#define pixel_bgra8888_to_rgba(p) \
|
||||
{ p.r, p.g, p.b, p.a }
|
||||
#define pixel_bgra8888_from_rgba(r, g, b, a) \
|
||||
{ b, g, r, a }
|
||||
#define pixel_bgra8888_from_rgb(r, g, b) \
|
||||
{ b, g, r, 0xff }
|
||||
#define pixel_bgra8888_to_rgba(p) {p.r, p.g, p.b, p.a}
|
||||
#define pixel_bgra8888_from_rgba(r, g, b, a) {b, g, r, a}
|
||||
#define pixel_bgra8888_from_rgb(r, g, b) {b, g, r, 0xff}
|
||||
static inline void pixel_bgra8888_blend_rgba_dark(void* pixel, uint8_t a) {
|
||||
uint8_t* p = (uint8_t*)pixel;
|
||||
|
||||
@ -381,12 +361,9 @@ typedef struct _pixel_argb8888_t {
|
||||
#define pixel_argb8888_BPP 4
|
||||
#define pixel_argb8888_a(p) p.a
|
||||
#define pixel_argb8888_format BITMAP_FMT_ARGB8888
|
||||
#define pixel_argb8888_to_rgba(p) \
|
||||
{ p.r, p.g, p.b, p.a }
|
||||
#define pixel_argb8888_from_rgba(r, g, b, a) \
|
||||
{ a, r, g, b }
|
||||
#define pixel_argb8888_from_rgb(r, g, b) \
|
||||
{ 0xff, r, g, b }
|
||||
#define pixel_argb8888_to_rgba(p) {p.r, p.g, p.b, p.a}
|
||||
#define pixel_argb8888_from_rgba(r, g, b, a) {a, r, g, b}
|
||||
#define pixel_argb8888_from_rgb(r, g, b) {0xff, r, g, b}
|
||||
static inline void pixel_argb8888_blend_rgba_dark(void* pixel, uint8_t a) {
|
||||
uint8_t* p = (uint8_t*)pixel;
|
||||
|
||||
@ -434,10 +411,9 @@ typedef uint8_t pixel_gray_t;
|
||||
#define pixel_gray_BPP 1
|
||||
#define pixel_gray_a(p) 0xff
|
||||
#define pixel_gray_format BITMAP_FMT_GRAY
|
||||
#define pixel_gray_to_rgba(p) \
|
||||
{ p * 0.2989, p * 0.5870, p * 0.1140, 0xff }
|
||||
#define pixel_gray_from_rgba(r, g, b, a) (((r)*30 + (g)*59 + (b)*11) / 100)
|
||||
#define pixel_gray_from_rgb(r, g, b) (((r)*30 + (g)*59 + (b)*11) / 100)
|
||||
#define pixel_gray_to_rgba(p) {p * 0.2989, p * 0.5870, p * 0.1140, 0xff}
|
||||
#define pixel_gray_from_rgba(r, g, b, a) (((r) * 30 + (g) * 59 + (b) * 11) / 100)
|
||||
#define pixel_gray_from_rgb(r, g, b) (((r) * 30 + (g) * 59 + (b) * 11) / 100)
|
||||
|
||||
#define color_to_mono(c) (((c).rgba.r))
|
||||
#define color_from_mono(p) color_init(p, 0, 0, 0xff)
|
||||
|
@ -9,4 +9,4 @@
|
||||
#define rgb_to_bgr565(r, g, b) ((((r) >> 3) << 11) | (((g) >> 2) << 5) | ((b) >> 3))
|
||||
#define rgb_to_rgb565(r, g, b) ((((b) >> 3) << 11) | (((g) >> 2) << 5) | ((r) >> 3))
|
||||
#define rgb_to_image8888(r, g, b) rgba_to_image8888(r, g, b, (uint8_t)0xff)
|
||||
#define rgb_to_gray(r, g, b) (((r)*30 + (g)*59 + (b)*11) / 100)
|
||||
#define rgb_to_gray(r, g, b) (((r) * 30 + (g) * 59 + (b) * 11) / 100)
|
||||
|
@ -190,11 +190,11 @@ static uint32_t to_icon_at(const char* value) {
|
||||
return ICON_AT_RIGHT;
|
||||
} else if (strstr(value, "top")) {
|
||||
return ICON_AT_TOP;
|
||||
} else if (strstr(value, "bottom")) {
|
||||
} else if (strstr(value, "bottom")) {
|
||||
return ICON_AT_BOTTOM;
|
||||
}
|
||||
|
||||
return ICON_AT_LEFT;
|
||||
return ICON_AT_LEFT;
|
||||
}
|
||||
|
||||
ret_t style_normalize_value(const char* name, const char* value, value_t* out) {
|
||||
|
@ -536,7 +536,8 @@ static row_info_t* text_edit_layout_line(text_edit_t* text_edit, uint32_t row_nu
|
||||
|
||||
/* 用于layout指定位置的text文本 */
|
||||
static ret_t text_edit_layout_fragment(text_edit_t* text_edit, uint32_t start, uint32_t end,
|
||||
row_info_t* row_tmp, uint32_t* line_index, uint32_t* row_num) {
|
||||
row_info_t* row_tmp, uint32_t* line_index,
|
||||
uint32_t* row_num) {
|
||||
uint32_t i;
|
||||
uint32_t x = 0;
|
||||
uint32_t offset0 = start;
|
||||
@ -574,7 +575,7 @@ static ret_t text_edit_layout_fragment(text_edit_t* text_edit, uint32_t start, u
|
||||
while (row->info.size > row->line_num) {
|
||||
row->info.destroy(darray_pop(&row->info));
|
||||
}
|
||||
if (i != end -1) {
|
||||
if (i != end - 1) {
|
||||
row = row_tmp + *row_num;
|
||||
row->line_num = 1;
|
||||
}
|
||||
@ -624,8 +625,9 @@ static ret_t text_edit_layout_fragment(text_edit_t* text_edit, uint32_t start, u
|
||||
}
|
||||
|
||||
/* 用于前移或者后移某部分行数据 */
|
||||
static ret_t text_edit_row_transfer(text_edit_t* text_edit, uint32_t start, uint32_t interval, bool_t forward,
|
||||
uint32_t change_num, bool_t overwrite, uint32_t rm_row_num) {
|
||||
static ret_t text_edit_row_transfer(text_edit_t* text_edit, uint32_t start, uint32_t interval,
|
||||
bool_t forward, uint32_t change_num, bool_t overwrite,
|
||||
uint32_t rm_row_num) {
|
||||
uint32_t i, j;
|
||||
DECL_IMPL(text_edit);
|
||||
row_info_t* row;
|
||||
@ -674,8 +676,9 @@ static ret_t text_edit_row_transfer(text_edit_t* text_edit, uint32_t start, uint
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t offset, uint32_t insert_length,
|
||||
const wchar_t* wtext, bool_t overwrite, uint32_t rm_num) {
|
||||
ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t offset,
|
||||
uint32_t insert_length, const wchar_t* wtext,
|
||||
bool_t overwrite, uint32_t rm_num) {
|
||||
uint32_t i, j;
|
||||
uint32_t row_num = 0;
|
||||
uint32_t row_num_tmp = 0;
|
||||
@ -717,7 +720,7 @@ ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t of
|
||||
text_edit_layout(text_edit);
|
||||
wstr_reset(&s);
|
||||
return RET_OK;
|
||||
}
|
||||
}
|
||||
|
||||
/* overwrite模式的处理 */
|
||||
if (overwrite && rm_num > 0) {
|
||||
@ -783,7 +786,8 @@ ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t of
|
||||
break;
|
||||
}
|
||||
}
|
||||
text_edit_layout_fragment(text_edit, rm_num, rm_line_offset, impl->rows->row, &line_index, &row_num_tmp);
|
||||
text_edit_layout_fragment(text_edit, rm_num, rm_line_offset, impl->rows->row, &line_index,
|
||||
&row_num_tmp);
|
||||
if (row_num_tmp == 0) {
|
||||
i = 0;
|
||||
} else {
|
||||
@ -820,7 +824,7 @@ ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t of
|
||||
if (!(last_char == STB_TEXTEDIT_NEWLINE || last_char == STB_TEXTEDIT_NEWLINER)) {
|
||||
row_num--;
|
||||
if (insert_row_num > 0 && (*(s.str + insert_length - 1) == STB_TEXTEDIT_NEWLINE ||
|
||||
*(s.str + insert_length - 1) == STB_TEXTEDIT_NEWLINER)) {
|
||||
*(s.str + insert_length - 1) == STB_TEXTEDIT_NEWLINER)) {
|
||||
insert_row_num--;
|
||||
layout_row_num--;
|
||||
}
|
||||
@ -829,7 +833,7 @@ ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t of
|
||||
insert_row_num = 1;
|
||||
layout_row_num = 1;
|
||||
} else if (!(*(s.str + insert_length - 1) == STB_TEXTEDIT_NEWLINE ||
|
||||
*(s.str + insert_length - 1) == STB_TEXTEDIT_NEWLINER)) {
|
||||
*(s.str + insert_length - 1) == STB_TEXTEDIT_NEWLINER)) {
|
||||
insert_row_num++;
|
||||
}
|
||||
layout_row_num = insert_row_num;
|
||||
@ -854,8 +858,10 @@ ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t of
|
||||
darray_push(&row_tmp[i].info, TKMEM_ZALLOC(line_info_t));
|
||||
}
|
||||
|
||||
text_edit_layout_fragment(text_edit, offset0, insert_line_offset, row_tmp, &line_index, &row_num_tmp);
|
||||
text_edit_row_transfer(text_edit, row_num, insert_row_num, FALSE, insert_length, overwrite, rm_row_num);
|
||||
text_edit_layout_fragment(text_edit, offset0, insert_line_offset, row_tmp, &line_index,
|
||||
&row_num_tmp);
|
||||
text_edit_row_transfer(text_edit, row_num, insert_row_num, FALSE, insert_length, overwrite,
|
||||
rm_row_num);
|
||||
|
||||
row = impl->rows->row + row_num;
|
||||
if (row_num < impl->rows->capacity) {
|
||||
@ -1358,7 +1364,7 @@ static int text_edit_insert(STB_TEXTEDIT_STRING* str, int pos, STB_TEXTEDIT_CHAR
|
||||
#define STB_TEXTEDIT_STRINGLEN(str) ((str)->widget->text.size)
|
||||
#define STB_TEXTEDIT_LAYOUTROW text_edit_layout_for_stb
|
||||
#define STB_TEXTEDIT_GETWIDTH(str, n, i) text_edit_get_char_width(str, n, i)
|
||||
#define STB_TEXTEDIT_KEYTOTEXT(key) (((key)&KEYDOWN_BIT) ? 0 : ((uint16_t)key))
|
||||
#define STB_TEXTEDIT_KEYTOTEXT(key) (((key) & KEYDOWN_BIT) ? 0 : ((uint16_t)key))
|
||||
#define STB_TEXTEDIT_GETCHAR(str, i) (((str)->widget->text).str[i])
|
||||
#define STB_TEXTEDIT_IS_SPACE(ch) iswspace(ch)
|
||||
#define STB_TEXTEDIT_DELETECHARS text_edit_remove
|
||||
@ -1826,9 +1832,9 @@ ret_t text_edit_key_down(text_edit_t* text_edit, key_event_t* evt) {
|
||||
case TK_KEY_KP_8:
|
||||
case TK_KEY_KP_9:
|
||||
return RET_OK;
|
||||
#ifndef AWTK_WEB
|
||||
#ifndef AWTK_WEB
|
||||
case TK_KEY_KP_ENTER:
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
case TK_KEY_RETURN: {
|
||||
key = STB_TEXTEDIT_NEWLINE;
|
||||
break;
|
||||
@ -1929,11 +1935,11 @@ ret_t text_edit_key_down(text_edit_t* text_edit, key_event_t* evt) {
|
||||
case TK_KEY_F10:
|
||||
case TK_KEY_F11:
|
||||
case TK_KEY_F12:
|
||||
#ifndef AWTK_WEB
|
||||
#ifndef AWTK_WEB
|
||||
case TK_KEY_LSHIFT:
|
||||
case TK_KEY_LALT:
|
||||
case TK_KEY_LCTRL:
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
case TK_KEY_RSHIFT:
|
||||
case TK_KEY_RCTRL:
|
||||
case TK_KEY_RALT:
|
||||
|
@ -379,8 +379,9 @@ ret_t text_edit_layout(text_edit_t* text_edit);
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t offset, uint32_t insert_length,
|
||||
const wchar_t* wtext, bool_t overwrite, uint32_t rm_num);
|
||||
ret_t text_edit_muti_line_insert_text_layout(text_edit_t* text_edit, uint32_t offset,
|
||||
uint32_t insert_length, const wchar_t* wtext,
|
||||
bool_t overwrite, uint32_t rm_num);
|
||||
|
||||
/**
|
||||
* @method text_edit_set_offset
|
||||
|
@ -83,7 +83,7 @@ ret_t theme_destroy(theme_t* theme) {
|
||||
asset_info_unref(theme->info);
|
||||
theme->info = NULL;
|
||||
}
|
||||
|
||||
|
||||
if (theme->theme_destroy != NULL) {
|
||||
theme->theme_destroy(theme);
|
||||
} else {
|
||||
|
@ -277,11 +277,11 @@ ret_t vgcanvas_set_text_align(vgcanvas_t* vg, const char* text_align) {
|
||||
ret_t vgcanvas_set_text_baseline(vgcanvas_t* vg, const char* text_baseline) {
|
||||
return_value_if_fail(vg != NULL && vg->vt->set_text_baseline != NULL && text_baseline != NULL,
|
||||
RET_BAD_PARAMS);
|
||||
#ifndef AWTK_WEB
|
||||
#ifndef AWTK_WEB
|
||||
if (tk_str_eq(vg->text_baseline, text_baseline)) {
|
||||
return RET_OK;
|
||||
}
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
|
||||
vg->text_baseline = tk_str_copy(vg->text_baseline, text_baseline);
|
||||
|
||||
@ -652,4 +652,3 @@ ret_t vgcanvas_draw_circle(vgcanvas_t* vg, double x, double y, double r, color_t
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
|
@ -1245,7 +1245,7 @@ static widget_t* widget_lookup_by_type_all(widget_t* widget, const char* type) {
|
||||
WIDGET_FOR_EACH_CHILD_BEGIN(widget, iter, i)
|
||||
if (iter == NULL) {
|
||||
continue;
|
||||
} else if(tk_str_eq(iter->vt->type, type)) {
|
||||
} else if (tk_str_eq(iter->vt->type, type)) {
|
||||
return iter;
|
||||
} else {
|
||||
widget_t* ret = widget_lookup_by_type_all(iter, type);
|
||||
@ -1496,7 +1496,7 @@ ret_t widget_calc_icon_text_rect(const rect_t* ir, int32_t font_size, float_t te
|
||||
*r_icon = rect_init(ir->x + w / 2, ir->y + icon_h / 2, img_w, img_h);
|
||||
break;
|
||||
}
|
||||
case ICON_AT_RIGHT:
|
||||
case ICON_AT_RIGHT:
|
||||
case ICON_AT_RIGHT_TOP:
|
||||
case ICON_AT_RIGHT_BOTTOM: {
|
||||
uint32_t w = img_w_r;
|
||||
@ -1507,7 +1507,7 @@ ret_t widget_calc_icon_text_rect(const rect_t* ir, int32_t font_size, float_t te
|
||||
if (icon_at == ICON_AT_RIGHT_TOP || icon_at == ICON_AT_RIGHT_BOTTOM) {
|
||||
r_icon->w = img_w_r;
|
||||
r_icon->h = img_h_r;
|
||||
r_icon->x = ir->x + ir->w - img_w_r;
|
||||
r_icon->x = ir->x + ir->w - img_w_r;
|
||||
r_icon->y = icon_at == ICON_AT_RIGHT_TOP ? 0 : (ir->h - img_h_r);
|
||||
r_text->w = ir->w - img_w_r - spacer;
|
||||
}
|
||||
@ -4173,10 +4173,10 @@ static ret_t widget_ensure_visible_in_scroll_view(widget_t* scroll_view, widget_
|
||||
if (widget_get_prop(scroll_view, WIDGET_PROP_VIRTUAL_W, &v) == RET_OK) {
|
||||
ox = tk_min(ox, value_uint32(&v) - scroll_view->w);
|
||||
}
|
||||
if ( widget_get_prop(scroll_view, WIDGET_PROP_VIRTUAL_H, &v) == RET_OK) {
|
||||
if (widget_get_prop(scroll_view, WIDGET_PROP_VIRTUAL_H, &v) == RET_OK) {
|
||||
oy = tk_min(oy, value_uint32(&v) - scroll_view->h);
|
||||
}
|
||||
|
||||
|
||||
if (ox != old_ox) {
|
||||
widget_set_prop_int(scroll_view, WIDGET_PROP_XOFFSET, ox);
|
||||
}
|
||||
|
@ -104,7 +104,6 @@ typedef struct _window_manager_t {
|
||||
* 全局事情分发器。
|
||||
*/
|
||||
emitter_t* global_emitter;
|
||||
|
||||
|
||||
/*private*/
|
||||
bool_t show_fps;
|
||||
|
@ -256,14 +256,14 @@ ret_t image_g2d_benchmark(void) {
|
||||
bitmap_t* img_rgb565 = bitmap_create_ex(w, h, w * 4, BITMAP_FMT_BGR565);
|
||||
bitmap_t* img_rgb565_src = bitmap_create_ex(w, h, w * 4, BITMAP_FMT_BGR565);
|
||||
uint64_t start = time_now_us();
|
||||
uint32_t cost = 0;
|
||||
uint32_t cost = 0;
|
||||
for (i = 0; i < n; i++) {
|
||||
soft_fill_rect(img_rgba8888, &r, c);
|
||||
soft_fill_rect(img_rgb565, &r, c);
|
||||
}
|
||||
cost = time_now_us() - start;
|
||||
log_debug("soft_fill_rect cost=%u\n", cost);
|
||||
|
||||
|
||||
start = time_now_us();
|
||||
for (i = 0; i < n; i++) {
|
||||
g2d_fill_rect(img_rgba8888, &r, c);
|
||||
@ -271,21 +271,21 @@ ret_t image_g2d_benchmark(void) {
|
||||
}
|
||||
cost = time_now_us() - start;
|
||||
log_debug("g2d_fill_rect cost=%u\n", cost);
|
||||
|
||||
|
||||
start = time_now_us();
|
||||
for (i = 0; i < n; i++) {
|
||||
soft_copy_image(img_rgb565, img_rgb565_src, &r, 0, 0);
|
||||
}
|
||||
cost = time_now_us() - start;
|
||||
log_debug("soft_copy_image cost=%u\n", cost);
|
||||
|
||||
|
||||
start = time_now_us();
|
||||
for (i = 0; i < n; i++) {
|
||||
g2d_copy_image(img_rgb565, img_rgb565_src, &r, 0, 0);
|
||||
}
|
||||
cost = time_now_us() - start;
|
||||
log_debug("g2d_copy_image cost=%u\n", cost);
|
||||
|
||||
|
||||
start = time_now_us();
|
||||
for (i = 0; i < n; i++) {
|
||||
rectf_t rf = {0, 0, w, h};
|
||||
@ -293,14 +293,14 @@ ret_t image_g2d_benchmark(void) {
|
||||
}
|
||||
cost = time_now_us() - start;
|
||||
log_debug("soft_blend_image cost=%u\n", cost);
|
||||
|
||||
|
||||
start = time_now_us();
|
||||
for (i = 0; i < n; i++) {
|
||||
g2d_blend_image(img_rgba8888, img_rgba8888_src, &r, &r, 0xff);
|
||||
}
|
||||
cost = time_now_us() - start;
|
||||
log_debug("g2d_blend_image cost=%u\n", cost);
|
||||
|
||||
|
||||
bitmap_destroy(img_rgba8888);
|
||||
bitmap_destroy(img_rgba8888_src);
|
||||
bitmap_destroy(img_rgb565);
|
||||
@ -309,6 +309,6 @@ ret_t image_g2d_benchmark(void) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
#endif/*WITH_G2D*/
|
||||
#endif /*WITH_G2D*/
|
||||
|
||||
#endif/*ndef AWTK_WEB*/
|
||||
#endif /*ndef AWTK_WEB*/
|
||||
|
@ -122,7 +122,6 @@ ret_t image_rotate_ex(bitmap_t* dst, bitmap_t* src, const rect_t* src_r, xy_t dx
|
||||
ret_t image_rotate_blend(bitmap_t* dst, bitmap_t* src, const rectf_t* dst_r, const rectf_t* src_r,
|
||||
uint8_t global_alpha, lcd_orientation_t o);
|
||||
|
||||
|
||||
ret_t image_g2d_benchmark(void);
|
||||
#endif
|
||||
|
||||
|
@ -154,7 +154,7 @@ ret_t g2d_rotate_image(bitmap_t* fb, bitmap_t* img, const rect_t* src, lcd_orien
|
||||
}
|
||||
|
||||
ret_t g2d_blend_image_rotate(bitmap_t* dst, bitmap_t* src, const rectf_t* dst_r,
|
||||
const rectf_t* src_r, uint8_t alpha, lcd_orientation_t o) {
|
||||
const rectf_t* src_r, uint8_t alpha, lcd_orientation_t o) {
|
||||
return RET_NOT_IMPL;
|
||||
}
|
||||
|
||||
@ -173,8 +173,8 @@ ret_t g2d_blend_image(bitmap_t* fb, bitmap_t* img, const rect_t* dst, const rect
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t g2d_rotate_image_ex(bitmap_t* dst, bitmap_t* src, const rect_t* src_r, xy_t dx,
|
||||
xy_t dy, lcd_orientation_t o) {
|
||||
ret_t g2d_rotate_image_ex(bitmap_t* dst, bitmap_t* src, const rect_t* src_r, xy_t dx, xy_t dy,
|
||||
lcd_orientation_t o) {
|
||||
return RET_NOT_IMPL;
|
||||
}
|
||||
|
||||
|
@ -44,8 +44,7 @@
|
||||
#define DMA2D_WORKING ((DMA2D->CR & DMA2D_CR_START))
|
||||
#define DMA2D_WAIT \
|
||||
do { \
|
||||
while (DMA2D_WORKING) \
|
||||
; \
|
||||
while (DMA2D_WORKING); \
|
||||
DMA2D->IFCR = DMA2D_IFSR_CTCIF; \
|
||||
} while (0);
|
||||
|
||||
|
@ -85,7 +85,7 @@ static ret_t encoding_convert_impl(encoding_name_t from, const char* from_str, u
|
||||
if (iconv(icv, (const char**)pin, &inlen, pout, &outlen) < 0) {
|
||||
#else
|
||||
if (iconv(icv, (char**)pin, &inlen, pout, &outlen) < 0) {
|
||||
#endif/*WIN32*/
|
||||
#endif /*WIN32*/
|
||||
ret = RET_FAIL;
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ typedef uint32_t uint32;
|
||||
#define lengthof(array) (sizeof(array) / sizeof((array)[0]))
|
||||
|
||||
#define HIGHBIT (0x80)
|
||||
#define IS_HIGHBIT_SET(ch) ((unsigned char)(ch)&HIGHBIT)
|
||||
#define IS_HIGHBIT_SET(ch) ((unsigned char)(ch) & HIGHBIT)
|
||||
|
||||
/*
|
||||
* The pg_wchar type
|
||||
|
@ -198,7 +198,8 @@ tk_object_t* debugger_get_callstack(debugger_t* debugger) {
|
||||
return debugger->vt->get_callstack(debugger);
|
||||
}
|
||||
|
||||
tk_object_t* debugger_get_callstack_ex(debugger_t* debugger, uint32_t start, uint32_t levels, uint64_t thread_id) {
|
||||
tk_object_t* debugger_get_callstack_ex(debugger_t* debugger, uint32_t start, uint32_t levels,
|
||||
uint64_t thread_id) {
|
||||
return_value_if_fail(debugger != NULL && debugger->vt != NULL, NULL);
|
||||
return_value_if_fail(debugger->vt->get_callstack_ex != NULL, NULL);
|
||||
|
||||
|
@ -77,7 +77,8 @@ typedef tk_object_t* (*debugger_get_local_t)(debugger_t* debugger, uint32_t fram
|
||||
typedef tk_object_t* (*debugger_get_self_t)(debugger_t* debugger);
|
||||
typedef tk_object_t* (*debugger_get_global_t)(debugger_t* debugger);
|
||||
typedef tk_object_t* (*debugger_get_callstack_t)(debugger_t* debugger);
|
||||
typedef tk_object_t* (*debugger_get_callstack_ex_t)(debugger_t* debugger, uint32_t start, uint32_t levels, uint64_t thread_id);
|
||||
typedef tk_object_t* (*debugger_get_callstack_ex_t)(debugger_t* debugger, uint32_t start,
|
||||
uint32_t levels, uint64_t thread_id);
|
||||
typedef ret_t (*debugger_clear_break_points_t)(debugger_t* debugger);
|
||||
typedef ret_t (*debugger_set_break_point_t)(debugger_t* debugger, uint32_t line);
|
||||
typedef ret_t (*debugger_remove_break_point_t)(debugger_t* debugger, uint32_t line);
|
||||
@ -378,7 +379,8 @@ tk_object_t* debugger_get_callstack(debugger_t* debugger);
|
||||
*
|
||||
* @return {tk_object_t*} 返回堆栈信息。
|
||||
*/
|
||||
tk_object_t* debugger_get_callstack_ex(debugger_t* debugger, uint32_t start, uint32_t levels, uint64_t thread_id);
|
||||
tk_object_t* debugger_get_callstack_ex(debugger_t* debugger, uint32_t start, uint32_t levels,
|
||||
uint64_t thread_id);
|
||||
|
||||
/**
|
||||
* @method debugger_clear_break_points
|
||||
|
@ -72,7 +72,8 @@ static ret_t debugger_client_dispatch_message(debugger_t* debugger, debugger_res
|
||||
line = tk_object_get_prop_int(obj, STR_DEBUGGER_EVENT_PROP_LINE, 0);
|
||||
file_path = tk_object_get_prop_str(obj, STR_DEBUGGER_EVENT_PROP_FILE_PATH);
|
||||
debugger_set_state(debugger, DEBUGGER_PROGRAM_STATE_PAUSED);
|
||||
emitter_dispatch(EMITTER(debugger), debugger_breaked_event_init_ex(&event, line, file_path, NULL));
|
||||
emitter_dispatch(EMITTER(debugger),
|
||||
debugger_breaked_event_init_ex(&event, line, file_path, NULL));
|
||||
TK_OBJECT_UNREF(obj);
|
||||
break;
|
||||
}
|
||||
|
@ -93,9 +93,9 @@
|
||||
#define LLDB_KEY_ST_FIRST_CODE_BREAKPOINTS "stFirstCodeBreakPoints"
|
||||
#define LLDB_KEY_STOPFORDESTROYORDETACH "StopForDestroyOrDetach"
|
||||
|
||||
#define LLDB_CALLSTCK_DEFAULT_STARTFRAME 0
|
||||
#define LLDB_CALLSTCK_DEFAULT_STARTFRAME 0
|
||||
// 获取全部层数
|
||||
#define LLDB_CALLSTCK_DEFAULT_LEVELS 0
|
||||
#define LLDB_CALLSTCK_DEFAULT_LEVELS 0
|
||||
|
||||
#define VARREF_LOCALS (int64_t)1
|
||||
#define VARREF_GLOBALS (int64_t)2
|
||||
@ -108,8 +108,9 @@ static ret_t debugger_lldb_simple_command(debugger_t* debugger, const char* cmd)
|
||||
static ret_t debugger_lldb_disconnect(debugger_t* debugger, bool_t terminate_debuggee);
|
||||
static tk_object_t* debugger_lldb_get_callstack_impl(debugger_t* debugger, uint32_t start_frame,
|
||||
uint32_t levels);
|
||||
static tk_object_t* debugger_lldb_get_callstack_for_tid_impl(debugger_t* debugger, uint32_t start_frame,
|
||||
uint32_t levels, int64_t thread_id);
|
||||
static tk_object_t* debugger_lldb_get_callstack_for_tid_impl(debugger_t* debugger,
|
||||
uint32_t start_frame, uint32_t levels,
|
||||
int64_t thread_id);
|
||||
static tk_object_t* object_find_variable_value(tk_object_t* obj, const char* name,
|
||||
const char* full_name);
|
||||
|
||||
@ -142,7 +143,8 @@ static ret_t debugger_lldb_load_init_commands(debugger_lldb_t* lldb, conf_node_t
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t debugger_lldb_load_st_first_code_breakpoints(debugger_lldb_t* lldb, conf_node_t* node) {
|
||||
static ret_t debugger_lldb_load_st_first_code_breakpoints(debugger_lldb_t* lldb,
|
||||
conf_node_t* node) {
|
||||
conf_node_t* iter = conf_node_get_first_child(node);
|
||||
object_array_clear_props(lldb->st_first_code_breakpoints);
|
||||
|
||||
@ -239,7 +241,8 @@ static uint64_t debugger_lldb_get_current_thread_id(debugger_t* debugger) {
|
||||
return thread_id;
|
||||
}
|
||||
|
||||
static ret_t debugger_lldb_set_current_thread_id_ex(debugger_t* debugger, uint64_t thread_id, bool_t force) {
|
||||
static ret_t debugger_lldb_set_current_thread_id_ex(debugger_t* debugger, uint64_t thread_id,
|
||||
bool_t force) {
|
||||
ret_t ret = RET_OK;
|
||||
bool_t swith = FALSE;
|
||||
debugger_lldb_t* lldb = DEBUGGER_LLDB(debugger);
|
||||
@ -253,7 +256,8 @@ static ret_t debugger_lldb_set_current_thread_id_ex(debugger_t* debugger, uint64
|
||||
debugger_unlock(debugger);
|
||||
}
|
||||
if (swith) {
|
||||
lldb->callstack = debugger_lldb_get_callstack_impl(debugger, LLDB_CALLSTCK_DEFAULT_STARTFRAME, LLDB_CALLSTCK_DEFAULT_LEVELS);
|
||||
lldb->callstack = debugger_lldb_get_callstack_impl(debugger, LLDB_CALLSTCK_DEFAULT_STARTFRAME,
|
||||
LLDB_CALLSTCK_DEFAULT_LEVELS);
|
||||
debugger_set_state(debugger, DEBUGGER_PROGRAM_STATE_PAUSED);
|
||||
debugger_set_current_frame(debugger, 0);
|
||||
}
|
||||
@ -264,7 +268,9 @@ static ret_t debugger_lldb_set_current_thread_id(debugger_t* debugger, uint64_t
|
||||
return debugger_lldb_set_current_thread_id_ex(debugger, thread_id, FALSE);
|
||||
}
|
||||
|
||||
static tk_object_t* debugger_lldb_get_callstack_for_tid_obj(debugger_t* debugger, uint32_t start, uint32_t levels, int64_t tid, bool_t no_cache) {
|
||||
static tk_object_t* debugger_lldb_get_callstack_for_tid_obj(debugger_t* debugger, uint32_t start,
|
||||
uint32_t levels, int64_t tid,
|
||||
bool_t no_cache) {
|
||||
debugger_lldb_t* lldb = DEBUGGER_LLDB(debugger);
|
||||
|
||||
if (no_cache) {
|
||||
@ -280,7 +286,8 @@ static tk_object_t* debugger_lldb_get_callstack_obj(debugger_t* debugger) {
|
||||
uint64_t thread_id = 0;
|
||||
return_value_if_fail(debugger != NULL, NULL);
|
||||
thread_id = debugger_lldb_get_current_thread_id(debugger);
|
||||
return debugger_lldb_get_callstack_for_tid_obj(debugger, LLDB_CALLSTCK_DEFAULT_STARTFRAME, LLDB_CALLSTCK_DEFAULT_LEVELS, thread_id, FALSE);
|
||||
return debugger_lldb_get_callstack_for_tid_obj(debugger, LLDB_CALLSTCK_DEFAULT_STARTFRAME,
|
||||
LLDB_CALLSTCK_DEFAULT_LEVELS, thread_id, FALSE);
|
||||
}
|
||||
|
||||
static const char* debugger_lldb_get_source_path(debugger_t* debugger, uint32_t frame_index) {
|
||||
@ -349,9 +356,10 @@ static ret_t debugger_lldb_emit(debugger_t* debugger, tk_object_t* resp) {
|
||||
file_path = debugger_lldb_get_source_path(debugger, debugger->current_frame_index);
|
||||
/*LLDB 行号从1开始*/
|
||||
line = lldb->current_frame_line - 1;
|
||||
emitter_dispatch(EMITTER(debugger), debugger_breaked_event_init_ex(&event, line, file_path, frame_name));
|
||||
emitter_dispatch(EMITTER(debugger),
|
||||
debugger_breaked_event_init_ex(&event, line, file_path, frame_name));
|
||||
|
||||
log_debug("threadId = %"PRIu64" stopped\n", (uint64_t)stop_thread_id);
|
||||
log_debug("threadId = %" PRIu64 " stopped\n", (uint64_t)stop_thread_id);
|
||||
}
|
||||
} else if (tk_str_eq(event, LLDB_EVENT_OUTPUT)) {
|
||||
uint32_t line = 0;
|
||||
@ -586,7 +594,8 @@ static ret_t debugger_lldb_init(debugger_t* debugger) {
|
||||
|
||||
debugger_set_state(debugger, DEBUGGER_PROGRAM_STATE_NONE);
|
||||
if (debugger_lldb_write_req(debugger, req) == RET_OK) {
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_INITIALIZE, LLDB_REQUEST_TIMEOUT);
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_INITIALIZE,
|
||||
LLDB_REQUEST_TIMEOUT);
|
||||
}
|
||||
lldb->init_commands = object_array_create();
|
||||
lldb->st_first_code_breakpoints = object_array_create();
|
||||
@ -624,7 +633,8 @@ static ret_t debugger_lldb_disconnect(debugger_t* debugger, bool_t terminate_deb
|
||||
return_value_if_fail(req != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (debugger_lldb_write_req(debugger, req) == RET_OK) {
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_DISCONNECT, LLDB_REQUEST_TIMEOUT);
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_DISCONNECT,
|
||||
LLDB_REQUEST_TIMEOUT);
|
||||
}
|
||||
|
||||
TK_OBJECT_UNREF(req);
|
||||
@ -671,7 +681,8 @@ static tk_object_t* debugger_lldb_create_launch_req(debugger_t* debugger, const
|
||||
}
|
||||
|
||||
if (lldb->st_first_code_breakpoints != NULL) {
|
||||
tk_object_set_prop_object(arguments, LLDB_KEY_ST_FIRST_CODE_BREAKPOINTS, lldb->st_first_code_breakpoints);
|
||||
tk_object_set_prop_object(arguments, LLDB_KEY_ST_FIRST_CODE_BREAKPOINTS,
|
||||
lldb->st_first_code_breakpoints);
|
||||
}
|
||||
|
||||
TK_OBJECT_UNREF(args);
|
||||
@ -739,7 +750,7 @@ static tk_object_t* debugger_lldb_create_attach_req(debugger_t* debugger, const
|
||||
object_array_t* target_create_commands = OBJECT_ARRAY(lldb->target_create_commands);
|
||||
attach_commands = object_array_create();
|
||||
return_value_if_fail(attach_commands != NULL, NULL);
|
||||
|
||||
|
||||
object_array_push(attach_commands, value_set_str(&v, cmds));
|
||||
for (i = 0; i < target_create_commands->size; i++) {
|
||||
object_array_push(attach_commands, target_create_commands->props + i);
|
||||
@ -758,7 +769,8 @@ static tk_object_t* debugger_lldb_create_attach_req(debugger_t* debugger, const
|
||||
tk_object_set_prop_object(arguments, LLDB_KEY_INIT_COMMANDS, lldb->init_commands);
|
||||
}
|
||||
if (lldb->st_first_code_breakpoints != NULL) {
|
||||
tk_object_set_prop_object(arguments, LLDB_KEY_ST_FIRST_CODE_BREAKPOINTS, lldb->st_first_code_breakpoints);
|
||||
tk_object_set_prop_object(arguments, LLDB_KEY_ST_FIRST_CODE_BREAKPOINTS,
|
||||
lldb->st_first_code_breakpoints);
|
||||
}
|
||||
tk_object_set_prop_bool(arguments, LLDB_KEY_STOPFORDESTROYORDETACH, FALSE);
|
||||
|
||||
@ -865,7 +877,8 @@ static ret_t debugger_lldb_on_source_break_point(void* ctx, const void* data) {
|
||||
return_value_if_fail(req != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (debugger_lldb_write_req(debugger, req) == RET_OK) {
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_SET_BREAK_POINTS, LLDB_REQUEST_TIMEOUT);
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_SET_BREAK_POINTS,
|
||||
LLDB_REQUEST_TIMEOUT);
|
||||
}
|
||||
|
||||
TK_OBJECT_UNREF(req);
|
||||
@ -937,7 +950,8 @@ static ret_t debugger_lldb_update_func_break_points(debugger_t* debugger) {
|
||||
}
|
||||
|
||||
static tk_object_t* debugger_lldb_create_get_callstack_req(debugger_t* debugger,
|
||||
uint32_t start_frame, uint32_t levels, int64_t thread_id ) {
|
||||
uint32_t start_frame, uint32_t levels,
|
||||
int64_t thread_id) {
|
||||
tk_object_t* req = NULL;
|
||||
tk_object_t* arguments = NULL;
|
||||
|
||||
@ -958,8 +972,9 @@ static tk_object_t* debugger_lldb_create_get_callstack_req(debugger_t* debugger,
|
||||
return req;
|
||||
}
|
||||
|
||||
static tk_object_t* debugger_lldb_get_callstack_for_tid_impl(debugger_t* debugger, uint32_t start_frame,
|
||||
uint32_t levels, int64_t thread_id) {
|
||||
static tk_object_t* debugger_lldb_get_callstack_for_tid_impl(debugger_t* debugger,
|
||||
uint32_t start_frame, uint32_t levels,
|
||||
int64_t thread_id) {
|
||||
tk_object_t* req = NULL;
|
||||
tk_object_t* resp = NULL;
|
||||
return_value_if_fail(debugger != NULL, NULL);
|
||||
@ -967,7 +982,8 @@ static tk_object_t* debugger_lldb_get_callstack_for_tid_impl(debugger_t* debugge
|
||||
return_value_if_fail(req != NULL, NULL);
|
||||
|
||||
if (debugger_lldb_write_req(debugger, req) == RET_OK) {
|
||||
resp = debugger_lldb_dispatch_until_get_resp(debugger, LLDB_CMD_STACK_TRACE, LLDB_REQUEST_TIMEOUT);
|
||||
resp =
|
||||
debugger_lldb_dispatch_until_get_resp(debugger, LLDB_CMD_STACK_TRACE, LLDB_REQUEST_TIMEOUT);
|
||||
}
|
||||
|
||||
TK_OBJECT_UNREF(req);
|
||||
@ -1016,7 +1032,8 @@ get_value:
|
||||
return_value_if_fail(req != NULL, NULL);
|
||||
|
||||
if (debugger_lldb_write_req(debugger, req) == RET_OK) {
|
||||
resp = debugger_lldb_dispatch_until_get_resp(debugger, LLDB_CMD_VARIABLES, LLDB_REQUEST_TIMEOUT);
|
||||
resp =
|
||||
debugger_lldb_dispatch_until_get_resp(debugger, LLDB_CMD_VARIABLES, LLDB_REQUEST_TIMEOUT);
|
||||
}
|
||||
|
||||
TK_OBJECT_UNREF(req);
|
||||
@ -1090,7 +1107,8 @@ static ret_t debugger_lldb_scopes_command(debugger_t* debugger, uint32_t frame_i
|
||||
return_value_if_fail(req != NULL, ret);
|
||||
|
||||
if (debugger_lldb_write_req(debugger, req) == RET_OK) {
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_SCOPES, LLDB_REQUEST_TIMEOUT);
|
||||
ret = debugger_lldb_dispatch_until_get_resp_simple(debugger, LLDB_CMD_SCOPES,
|
||||
LLDB_REQUEST_TIMEOUT);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@ -1349,7 +1367,9 @@ static tk_object_t* debugger_lldb_get_global(debugger_t* debugger) {
|
||||
return debugger_lldb_get_variables_impl(debugger, VARREF_GLOBALS, 0, 0);
|
||||
}
|
||||
|
||||
static tk_object_t* debugger_lldb_get_callstack_ex_impl(debugger_t* debugger, uint32_t start, uint32_t levels, uint64_t thread_id, bool_t no_cache) {
|
||||
static tk_object_t* debugger_lldb_get_callstack_ex_impl(debugger_t* debugger, uint32_t start,
|
||||
uint32_t levels, uint64_t thread_id,
|
||||
bool_t no_cache) {
|
||||
int32_t i = 0;
|
||||
int32_t n = 0;
|
||||
uint32_t num = 0;
|
||||
@ -1393,7 +1413,8 @@ static tk_object_t* debugger_lldb_get_callstack_ex_impl(debugger_t* debugger, ui
|
||||
return ret_obj;
|
||||
}
|
||||
|
||||
static tk_object_t* debugger_lldb_get_callstack_ex(debugger_t* debugger, uint32_t start, uint32_t levels, uint64_t thread_id) {
|
||||
static tk_object_t* debugger_lldb_get_callstack_ex(debugger_t* debugger, uint32_t start,
|
||||
uint32_t levels, uint64_t thread_id) {
|
||||
return debugger_lldb_get_callstack_ex_impl(debugger, start, levels, thread_id, TRUE);
|
||||
}
|
||||
|
||||
@ -1401,7 +1422,8 @@ static tk_object_t* debugger_lldb_get_callstack(debugger_t* debugger) {
|
||||
uint64_t thread_id = 0;
|
||||
return_value_if_fail(debugger != NULL, NULL);
|
||||
thread_id = debugger_lldb_get_current_thread_id(debugger);
|
||||
return debugger_lldb_get_callstack_ex_impl(debugger, LLDB_CALLSTCK_DEFAULT_STARTFRAME, LLDB_CALLSTCK_DEFAULT_LEVELS, thread_id, FALSE);
|
||||
return debugger_lldb_get_callstack_ex_impl(debugger, LLDB_CALLSTCK_DEFAULT_STARTFRAME,
|
||||
LLDB_CALLSTCK_DEFAULT_LEVELS, thread_id, FALSE);
|
||||
}
|
||||
|
||||
static ret_t debugger_lldb_update_break_points(debugger_t* debugger) {
|
||||
|
@ -99,7 +99,7 @@ debugger_t* debugger_lldb_create_ex(const char* host, uint32_t port, uint32_t ti
|
||||
|
||||
#define STR_SCHEMA_PID "pid://"
|
||||
#define STR_SCHEMA_WASM "wasm://"
|
||||
#define STR_LLDB_CONFIG STR_SCHEMA_WASM"config"
|
||||
#define STR_LLDB_CONFIG STR_SCHEMA_WASM "config"
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
|
@ -141,7 +141,6 @@
|
||||
* @return {const char*}
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @method SDL_CreateWindow
|
||||
* @annotation ["global"]
|
||||
@ -166,7 +165,6 @@
|
||||
* @return {int}
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @method SDL_GL_GetDrawableSize
|
||||
* @annotation ["global"]
|
||||
@ -180,39 +178,38 @@
|
||||
*/
|
||||
|
||||
SDL_GL_DeleteContext
|
||||
/**
|
||||
/**
|
||||
* @method SDL_GL_DeleteContext
|
||||
* @annotation ["global"]
|
||||
* @return {int}
|
||||
*/
|
||||
|
||||
/**
|
||||
/**
|
||||
* @method SDL_GL_SwapWindow
|
||||
* @annotation ["global"]
|
||||
* @return {int}
|
||||
*/
|
||||
|
||||
/**
|
||||
/**
|
||||
* @method SDL_GL_SetSwapInterval
|
||||
* @annotation ["global"]
|
||||
* @return {int}
|
||||
*/
|
||||
|
||||
/**
|
||||
/**
|
||||
* @method SDL_GetWindowPosition
|
||||
* @annotation ["global"]
|
||||
* @return {int}
|
||||
*/
|
||||
|
||||
/**
|
||||
/**
|
||||
* @method SDL_GetWindowSize
|
||||
* @annotation ["global"]
|
||||
* @return {int}
|
||||
*/
|
||||
|
||||
/**
|
||||
/**
|
||||
* @method SDL_GetWindowWMInfo
|
||||
* @annotation ["global"]
|
||||
* @return {int}
|
||||
*/
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
#if defined(WITH_SDL) && (!defined(LINUX_FB) && !defined(ANDROID) && !defined(IOS))
|
||||
#define WITH_NATIVE_FILE_DIALOG 1
|
||||
#endif /*WITH_SDL*/
|
||||
#endif/*WITHOUT_NATIVE_FILE_DIALOG*/
|
||||
#endif /*WITHOUT_NATIVE_FILE_DIALOG*/
|
||||
|
||||
#ifdef WITH_NATIVE_FILE_DIALOG
|
||||
#include "../3rd/nativefiledialog/src/include/nfd.h"
|
||||
|
@ -177,7 +177,7 @@ static ret_t candidates_relayout_children(widget_t* widget) {
|
||||
average_child_w += (candidates_calc_child_width(c, children[i]) + child_margin * 2);
|
||||
}
|
||||
average_child_w = tk_roundi((float_t)average_child_w / truly_num);
|
||||
spacer = tk_roundi(( (float_t)widget->w / (float_t)candidates->visible_num ));
|
||||
spacer = tk_roundi(((float_t)widget->w / (float_t)candidates->visible_num));
|
||||
if (spacer < (average_child_w + margin)) {
|
||||
spacer = 0;
|
||||
} else {
|
||||
@ -196,7 +196,8 @@ static ret_t candidates_relayout_children(widget_t* widget) {
|
||||
if (c->font != NULL) {
|
||||
font_get_glyph(c->font, *(iter->text.str), font_size, &g);
|
||||
}
|
||||
if ((c->font != NULL && iter->text.size && g.data != NULL) || (c->font == NULL && iter->text.size)) {
|
||||
if ((c->font != NULL && iter->text.size && g.data != NULL) ||
|
||||
(c->font == NULL && iter->text.size)) {
|
||||
widget_set_enable(iter, TRUE);
|
||||
widget_set_visible(iter, TRUE, FALSE);
|
||||
} else {
|
||||
|
@ -742,7 +742,8 @@ static ret_t mledit_on_event(widget_t* widget, event_t* e) {
|
||||
}
|
||||
|
||||
if (mledit->readonly) {
|
||||
if (is_control && (key == TK_KEY_C || key == TK_KEY_c || key == TK_KEY_A || key == TK_KEY_a)) {
|
||||
if (is_control &&
|
||||
(key == TK_KEY_C || key == TK_KEY_c || key == TK_KEY_A || key == TK_KEY_a)) {
|
||||
log_debug("copy\n");
|
||||
} else {
|
||||
break;
|
||||
@ -772,11 +773,11 @@ static ret_t mledit_on_event(widget_t* widget, event_t* e) {
|
||||
if (mledit->readonly) {
|
||||
break;
|
||||
}
|
||||
#ifndef AWTK_WEB
|
||||
#ifndef AWTK_WEB
|
||||
if (!widget->focused) {
|
||||
break;
|
||||
}
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
|
||||
if (state.preedit) {
|
||||
text_edit_preedit_clear(mledit->model);
|
||||
|
@ -85,10 +85,10 @@ static ret_t hscroll_label_do_paint_self(widget_t* widget, canvas_t* c, uint32_t
|
||||
r = rect_init(left_margin - hscroll_label->xoffset, 0, w, widget->h);
|
||||
widget_draw_text_in_rect(widget, c, text->str, text->size, &r, FALSE);
|
||||
|
||||
|
||||
if (hscroll_label->stop_at_begin) {
|
||||
int32_t range = hscroll_label_get_range(widget, FALSE);
|
||||
int32_t offset = hscroll_label->xoffset - range - hscroll_label_get_loop_end_and_begin_distance(widget);
|
||||
int32_t offset =
|
||||
hscroll_label->xoffset - range - hscroll_label_get_loop_end_and_begin_distance(widget);
|
||||
if (offset > 0) {
|
||||
r = rect_init(w - offset + left_margin, 0, w, widget->h);
|
||||
widget_draw_text_in_rect(widget, c, text->str, text->size, &r, FALSE);
|
||||
@ -479,7 +479,8 @@ ret_t hscroll_label_start(widget_t* widget) {
|
||||
if (hscroll_label->delay == 0) {
|
||||
hscroll_label->timer_id = widget_add_timer(widget, hscroll_label_on_timer, 16);
|
||||
} else {
|
||||
hscroll_label->timer_id = widget_add_timer(widget, hscroll_label_delay_on_timer, hscroll_label->delay);
|
||||
hscroll_label->timer_id =
|
||||
widget_add_timer(widget, hscroll_label_delay_on_timer, hscroll_label->delay);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -380,8 +380,8 @@ static int32_t children_layouter_list_view_for_list_view_get_scroll_view_w(list_
|
||||
if (list_view->floating_scroll_bar) {
|
||||
scroll_view_w = scroll_view->w;
|
||||
} else if (scroll_bar == NULL || scroll_bar_is_mobile(scroll_bar) ||
|
||||
(!scroll_bar_is_mobile(scroll_bar) && list_view->auto_hide_scroll_bar &&
|
||||
scroll_view->h >= virtual_h)) {
|
||||
(!scroll_bar_is_mobile(scroll_bar) && list_view->auto_hide_scroll_bar &&
|
||||
scroll_view->h >= virtual_h)) {
|
||||
scroll_view_w = list_view->widget.w;
|
||||
} else {
|
||||
scroll_view_w = list_view->widget.w - scroll_bar->w;
|
||||
|
@ -33,7 +33,7 @@
|
||||
#define tk_iostream_serial_wait_for_data(a, b) RET_NOT_IMPL
|
||||
#define tk_iostream_serial_create(a) NULL
|
||||
#define tk_iostream_serial_config(a, b, c, d, e, f)
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
|
||||
static ret_t serial_widget_apply_props(widget_t* widget);
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
#define ntohl(n) n
|
||||
#define htons(n) n
|
||||
#define ntohs(n) n
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
|
||||
static ret_t func_is_little_endian(fscript_t* fscript, fscript_args_t* args, value_t* result) {
|
||||
FSCRIPT_FUNC_CHECK(args->size == 0, RET_BAD_PARAMS);
|
||||
|
@ -30,7 +30,8 @@ BEGIN_C_DECLS
|
||||
*/
|
||||
ret_t fscript_ext_init(void);
|
||||
|
||||
#if defined(LINUX) || defined(WINDOWS) || defined(MACOS) || defined(ANDROID) || defined(IOS) || defined(AWTK_WEB)
|
||||
#if defined(LINUX) || defined(WINDOWS) || defined(MACOS) || defined(ANDROID) || defined(IOS) || \
|
||||
defined(AWTK_WEB)
|
||||
#define WITH_FSCRIPT_EXT 1
|
||||
|
||||
#define FSCRIPT_WITH_CRC 1
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
static ret_t func_iostream_serial_create(fscript_t* fscript, fscript_args_t* args,
|
||||
value_t* result) {
|
||||
#ifndef AWTK_WEB
|
||||
#ifndef AWTK_WEB
|
||||
int baudrate = 115200;
|
||||
tk_object_t* obj = NULL;
|
||||
const char* devname = NULL;
|
||||
|
@ -138,7 +138,7 @@ const char* self_layouter_menu_to_string(self_layouter_t* layouter) {
|
||||
str_append_more(str, ",y=", value, NULL);
|
||||
}
|
||||
|
||||
switch(layout->w_attr) {
|
||||
switch (layout->w_attr) {
|
||||
case W_ATTR_UNDEF: {
|
||||
*value = '\0';
|
||||
break;
|
||||
@ -271,7 +271,7 @@ ret_t self_layouter_menu_set_param(self_layouter_t* layouter, const char* name,
|
||||
} else if (y[0] == 'b') {
|
||||
layout->y_attr = Y_ATTR_BOTTOM;
|
||||
} else if (y[0] == 't') {
|
||||
layout->y_attr = X_ATTR_DEFAULT;
|
||||
layout->y_attr = X_ATTR_DEFAULT;
|
||||
} else {
|
||||
if (tk_isdigit(*y)) {
|
||||
layout->y_attr = tk_atoi(y);
|
||||
|
@ -42,8 +42,7 @@ void sleep_ms(uint32_t ms) {
|
||||
void sleep_us(uint32_t us) {
|
||||
/*FIXME: implement this function*/
|
||||
|
||||
while(us > 0) {
|
||||
while (us > 0) {
|
||||
us--;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -246,7 +246,7 @@ void sleep_ms(uint32_t ms) {
|
||||
|
||||
void sleep_us(uint32_t us) {
|
||||
#ifdef WIN32
|
||||
Sleep(us/1000);
|
||||
Sleep(us / 1000);
|
||||
#else
|
||||
usleep(us);
|
||||
#endif
|
||||
|
@ -140,8 +140,8 @@ static ret_t svg_path_parser_parse(svg_path_parser_t* parser) {
|
||||
} while (tk_sscanf(s, "%f %n", &y, &n) == 1);
|
||||
|
||||
/* curveto (C, c) (6 arguments) */
|
||||
} else if (tk_sscanf(s, " %1[Cc] %f %f %f %f %f %f %n", command, &x1, &y1, &x2, &y2, &x, &y, &n) ==
|
||||
7) {
|
||||
} else if (tk_sscanf(s, " %1[Cc] %f %f %f %f %f %f %n", command, &x1, &y1, &x2, &y2, &x, &y,
|
||||
&n) == 7) {
|
||||
svg_path_curve_to_t path;
|
||||
|
||||
do {
|
||||
@ -249,7 +249,7 @@ static ret_t svg_path_parser_parse(svg_path_parser_t* parser) {
|
||||
|
||||
/* elliptical arc (A, a) (7 arguments) */
|
||||
} else if (tk_sscanf(s, " %1[Aa] %f %f %f %f %f %f %f %n", command, &rx, &ry, &rotation,
|
||||
&large_arc, &sweep, &x, &y, &n) == 8) {
|
||||
&large_arc, &sweep, &x, &y, &n) == 8) {
|
||||
svg_path_curve_to_t path;
|
||||
|
||||
do {
|
||||
@ -274,8 +274,8 @@ static ret_t svg_path_parser_parse(svg_path_parser_t* parser) {
|
||||
last_x = to.x;
|
||||
last_y = to.y;
|
||||
s += n;
|
||||
} while (tk_sscanf(s, "%f %f %f %f %f %f %f %n", &rx, &ry, &rotation, &large_arc, &sweep, &x, &y,
|
||||
&n) == 7);
|
||||
} while (tk_sscanf(s, "%f %f %f %f %f %f %f %n", &rx, &ry, &rotation, &large_arc, &sweep, &x,
|
||||
&y, &n) == 7);
|
||||
|
||||
} else {
|
||||
log_error("parse failed at \"%s\"\n", s);
|
||||
|
@ -65,8 +65,7 @@ static const cmd_arg_desc_t* cmd_args_find(cmd_args_t* args, const char* name) {
|
||||
return iter;
|
||||
}
|
||||
} else {
|
||||
if (tk_str_eq(name, iter->name) ||
|
||||
tk_str_eq(name, iter->short_name)) {
|
||||
if (tk_str_eq(name, iter->name) || tk_str_eq(name, iter->short_name)) {
|
||||
return iter;
|
||||
}
|
||||
}
|
||||
|
@ -79,4 +79,3 @@ bool_t data_reader_can_read(const char* url) {
|
||||
data_reader_destroy(reader);
|
||||
return can;
|
||||
}
|
||||
|
||||
|
@ -136,7 +136,7 @@ uint64_t event_source_manager_get_wakeup_time(event_source_manager_t* manager) {
|
||||
}
|
||||
|
||||
ret_t event_source_manager_set_min_sleep_time_us(event_source_manager_t* manager,
|
||||
uint32_t sleep_time) {
|
||||
uint32_t sleep_time) {
|
||||
return_value_if_fail(manager != NULL, RET_BAD_PARAMS);
|
||||
|
||||
manager->min_sleep_time = sleep_time;
|
||||
|
@ -157,7 +157,8 @@ ret_t event_source_manager_set_min_sleep_time(event_source_manager_t* manager, u
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*
|
||||
*/
|
||||
ret_t event_source_manager_set_min_sleep_time_us(event_source_manager_t* manager, uint32_t sleep_time);
|
||||
ret_t event_source_manager_set_min_sleep_time_us(event_source_manager_t* manager,
|
||||
uint32_t sleep_time);
|
||||
|
||||
/**
|
||||
* @method event_source_manager_destroy
|
||||
|
@ -2701,8 +2701,9 @@ static ret_t func_iformat(fscript_t* fscript, fscript_args_t* args, value_t* res
|
||||
format = value_str(args->args);
|
||||
FSCRIPT_FUNC_CHECK(format != NULL, RET_BAD_PARAMS);
|
||||
|
||||
|
||||
tk_snprintf(str->str, str->capacity > FSCRIPT_STR_CAPACITY ? FSCRIPT_STR_CAPACITY - 1 : str->capacity - 1, format, value_int(args->args + 1));
|
||||
tk_snprintf(str->str,
|
||||
str->capacity > FSCRIPT_STR_CAPACITY ? FSCRIPT_STR_CAPACITY - 1 : str->capacity - 1,
|
||||
format, value_int(args->args + 1));
|
||||
value_dup_str(result, str->str);
|
||||
|
||||
return RET_OK;
|
||||
|
@ -140,7 +140,6 @@ int32_t named_value_compare(named_value_t* nv, const named_value_t* other) {
|
||||
return tk_str_cmp(nv->name, other->name);
|
||||
}
|
||||
|
||||
|
||||
int32_t named_value_icompare(named_value_t* nv, const named_value_t* other) {
|
||||
return_value_if_fail(nv != NULL && other != NULL, -1);
|
||||
|
||||
|
@ -114,7 +114,7 @@ int tk_socket_get_port(int sock) {
|
||||
struct sockaddr_in serv_addr;
|
||||
socklen_t serv_addr_len = sizeof(serv_addr);
|
||||
|
||||
if (getsockname(sock, (struct sockaddr *)&serv_addr, &serv_addr_len) >= 0) {
|
||||
if (getsockname(sock, (struct sockaddr*)&serv_addr, &serv_addr_len) >= 0) {
|
||||
return ntohs(serv_addr.sin_port);
|
||||
}
|
||||
return -1;
|
||||
@ -145,7 +145,7 @@ int tk_tcp_listen(int port) {
|
||||
struct sockaddr_in serv_addr;
|
||||
socklen_t serv_addr_len = sizeof(serv_addr);
|
||||
|
||||
if (getsockname(sock, (struct sockaddr *)&serv_addr, &serv_addr_len) >= 0) {
|
||||
if (getsockname(sock, (struct sockaddr*)&serv_addr, &serv_addr_len) >= 0) {
|
||||
log_debug("port is 0, system auto allocted port is %d\n", ntohs(serv_addr.sin_port));
|
||||
}
|
||||
}
|
||||
|
@ -1146,10 +1146,10 @@ ret_t str_append_format_padding(str_t* str, uint32_t size, const char* format, .
|
||||
va_start(va, format);
|
||||
ret = tk_vsnprintf(str->str + str->size, size, format, va);
|
||||
va_end(va);
|
||||
|
||||
|
||||
return_value_if_fail(ret >= 0, RET_BAD_PARAMS);
|
||||
str->size += ret;
|
||||
|
||||
|
||||
if (str->size < (old_size + size)) {
|
||||
uint32_t n = (old_size + size) - str->size;
|
||||
str_append_n_chars(str, ' ', n);
|
||||
|
@ -426,8 +426,8 @@ typedef enum _ret_t {
|
||||
#define tk_min(a, b) ((a) < (b) ? (a) : (b))
|
||||
#define tk_abs(a) ((a) < (0) ? (-(a)) : (a))
|
||||
#define tk_max(a, b) ((a) > (b) ? (a) : (b))
|
||||
#define tk_roundi(a) (int32_t)(((a) >= 0) ? ((a) + 0.5f) : ((a)-0.5f))
|
||||
#define tk_roundi64(a) (int64_t)(((a) >= 0) ? ((a) + 0.5f) : ((a)-0.5f))
|
||||
#define tk_roundi(a) (int32_t)(((a) >= 0) ? ((a) + 0.5f) : ((a) - 0.5f))
|
||||
#define tk_roundi64(a) (int64_t)(((a) >= 0) ? ((a) + 0.5f) : ((a) - 0.5f))
|
||||
#define tk_clamp(a, mn, mx) ((a) < (mn) ? (mn) : ((a) > (mx) ? (mx) : (a)))
|
||||
#define tk_clampi(a, mn, mx) (int32_t)((a) < (mn) ? (mn) : ((a) > (mx) ? (mx) : (a)))
|
||||
#define tk_swap(a, b, type) \
|
||||
@ -504,8 +504,8 @@ int __cppcheck__strncmp(const char* s1, const char* s2, size_t n);
|
||||
#define TK_LOCALE_MAGIC "$locale$"
|
||||
#define TK_OBJECT_PROP_NAME_MAX_LEN 64u
|
||||
|
||||
#define TK_D2R(d) (((d)*M_PI) / 180)
|
||||
#define TK_R2D(r) (((r)*180) / M_PI)
|
||||
#define TK_D2R(d) (((d) * M_PI) / 180)
|
||||
#define TK_R2D(r) (((r) * 180) / M_PI)
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define TK_CONST_DATA_ALIGN(v) __declspec(align(8)) v
|
||||
@ -543,7 +543,7 @@ typedef struct _event_source_manager_t event_source_manager_t;
|
||||
#define TK_ROUND_TO4(size) ((((size) + 3) >> 2) << 2)
|
||||
#define TK_ROUND_TO8(size) ((((size) + 7) >> 3) << 3)
|
||||
#define TK_ROUND_TO_MACH(size) ((sizeof(void*) == 4) ? TK_ROUND_TO4(size) : TK_ROUND_TO8(size))
|
||||
#define TK_ROUND_TO(size, round_size) ((((size) + (round_size)-1) / (round_size)) * (round_size))
|
||||
#define TK_ROUND_TO(size, round_size) ((((size) + (round_size) - 1) / (round_size)) * (round_size))
|
||||
|
||||
#define TK_SET_BIT(v, n) ((v) |= 1UL << (n))
|
||||
#define TK_CLEAR_BIT(v, n) ((v) &= ~(1UL << (n)))
|
||||
|
@ -64,9 +64,9 @@
|
||||
(Result) |= ((Chars)[(Count)] & 0x3f); \
|
||||
}
|
||||
|
||||
#define UNICODE_VALID(Char) \
|
||||
((Char) < 0x110000 && (((Char)&0xFFFFF800) != 0xD800) && ((Char) < 0xFDD0 || (Char) > 0xFDEF) && \
|
||||
((Char)&0xFFFE) != 0xFFFE)
|
||||
#define UNICODE_VALID(Char) \
|
||||
((Char) < 0x110000 && (((Char) & 0xFFFFF800) != 0xD800) && \
|
||||
((Char) < 0xFDD0 || (Char) > 0xFDEF) && ((Char) & 0xFFFE) != 0xFFFE)
|
||||
static const char utf8_skip_data[256] = {
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
@ -138,7 +138,7 @@ static int unichar_to_utf8(uint32_t c, char* outbuf) {
|
||||
return len;
|
||||
}
|
||||
|
||||
#define SURROGATE_VALUE(h, l) (((h)-0xd800) * 0x400 + (l)-0xdc00 + 0x10000)
|
||||
#define SURROGATE_VALUE(h, l) (((h) - 0xd800) * 0x400 + (l) - 0xdc00 + 0x10000)
|
||||
|
||||
static char* utf16_to_utf8(const wchar_t* str, int32_t len, char* utf8, int out_len) {
|
||||
/* This function and g_utf16_to_ucs4 are almost exactly identical - The lines
|
||||
|
@ -2608,7 +2608,8 @@ ret_t tk_mergesort(void* base, size_t nmemb, size_t size, tk_compare_t cmp) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
const char* tk_strs_bsearch(const char** strs, uint32_t nr, const char* str, bool_t case_sensitive) {
|
||||
const char* tk_strs_bsearch(const char** strs, uint32_t nr, const char* str,
|
||||
bool_t case_sensitive) {
|
||||
int32_t low = 0;
|
||||
int32_t mid = 0;
|
||||
int32_t high = 0;
|
||||
@ -2618,12 +2619,12 @@ const char* tk_strs_bsearch(const char** strs, uint32_t nr, const char* str, boo
|
||||
return_value_if_fail(strs != NULL && str != NULL, NULL);
|
||||
|
||||
if (nr == 0) {
|
||||
return NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
high = nr - 1;
|
||||
while (low <= high) {
|
||||
mid = low + ((high - low) >> 1);
|
||||
mid = low + ((high - low) >> 1);
|
||||
iter = strs[mid];
|
||||
|
||||
result = cmp(iter, str);
|
||||
@ -2634,7 +2635,7 @@ const char* tk_strs_bsearch(const char** strs, uint32_t nr, const char* str, boo
|
||||
low = mid + 1;
|
||||
} else {
|
||||
high = mid - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
@ -20,7 +20,7 @@ BEGIN_C_DECLS
|
||||
|
||||
#ifndef PRIu32
|
||||
#define PRIu32 "u"
|
||||
#endif/*PRIu32*/
|
||||
#endif /*PRIu32*/
|
||||
|
||||
#ifdef WITH_EASTL
|
||||
#include <wchar.h>
|
||||
|
@ -220,7 +220,8 @@ ret_t ubjson_writer_write_uint64(ubjson_writer_t* writer, uint64_t value) {
|
||||
ret_t ubjson_writer_write_pointer(ubjson_writer_t* writer, void* value) {
|
||||
uint64_t adrr;
|
||||
return_value_if_fail(writer != NULL, RET_BAD_PARAMS);
|
||||
return_value_if_fail(ubjson_writer_write_marker(writer, UBJSON_MARKER_POINTER) == RET_OK, RET_OOM);
|
||||
return_value_if_fail(ubjson_writer_write_marker(writer, UBJSON_MARKER_POINTER) == RET_OK,
|
||||
RET_OOM);
|
||||
adrr = uint64_to_big_endian(tk_pointer_to_long(value));
|
||||
return_value_if_fail(ubjson_writer_write_data(writer, &adrr, sizeof(adrr)) == RET_OK, RET_OOM);
|
||||
|
||||
|
@ -38,8 +38,8 @@ typedef struct _vgcanvas_nanovg_t {
|
||||
|
||||
static ret_t vgcanvas_nanovg_fbo_to_bitmap(vgcanvas_t* vgcanvas, framebuffer_object_t* fbo,
|
||||
bitmap_t* img, const rect_t* r) {
|
||||
return RET_OK;
|
||||
}
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
#include "texture.inc"
|
||||
#include "vgcanvas_nanovg_bgfx.inc"
|
||||
|
@ -22,4 +22,3 @@
|
||||
#define VGCANVAS_CREATE_GL vgcanvas_create
|
||||
|
||||
#include "vgcanvas_nanovg_gl_common.inc"
|
||||
|
||||
|
@ -44,7 +44,7 @@ BEGIN_C_DECLS
|
||||
* @return {vgcanvas_t*} 返回vgcanvas对象。
|
||||
*/
|
||||
vgcanvas_t* vgcanvas_create_gl2(uint32_t w, uint32_t h, uint32_t stride, bitmap_format_t format,
|
||||
void* win);
|
||||
void* win);
|
||||
|
||||
/**
|
||||
* @method vgcanvas_create_gl3
|
||||
@ -59,9 +59,8 @@ vgcanvas_t* vgcanvas_create_gl2(uint32_t w, uint32_t h, uint32_t stride, bitmap_
|
||||
* @return {vgcanvas_t*} 返回vgcanvas对象。
|
||||
*/
|
||||
vgcanvas_t* vgcanvas_create_gl3(uint32_t w, uint32_t h, uint32_t stride, bitmap_format_t format,
|
||||
void* win);
|
||||
void* win);
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_VG_NANOVG_GL_H*/
|
||||
|
||||
|
@ -29,9 +29,9 @@
|
||||
#if !defined(WITH_GPU)
|
||||
#include "base/vgcanvas.h"
|
||||
vgcanvas_t* VGCANVAS_CREATE_GL(uint32_t w, uint32_t h, uint32_t stride, bitmap_format_t format,
|
||||
void* win) {
|
||||
return NULL;
|
||||
}
|
||||
void* win) {
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
#include "vgcanvas_nanovg_gl_common.inc"
|
||||
#endif/*WIN32*/
|
||||
#endif /*WIN32*/
|
||||
|
@ -29,10 +29,9 @@
|
||||
#if !defined(WITH_GPU)
|
||||
#include "base/vgcanvas.h"
|
||||
vgcanvas_t* VGCANVAS_CREATE_GL(uint32_t w, uint32_t h, uint32_t stride, bitmap_format_t format,
|
||||
void* win) {
|
||||
return NULL;
|
||||
}
|
||||
void* win) {
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
#include "vgcanvas_nanovg_gl_common.inc"
|
||||
#endif/*WIN32*/
|
||||
|
||||
#endif /*WIN32*/
|
||||
|
@ -278,7 +278,7 @@ static ret_t vgcanvas_nanovg_plus_destroy(vgcanvas_t* vgcanvas) {
|
||||
}
|
||||
|
||||
ret_t vgcanvas_asset_manager_nanovg_plus_font_destroy(void* vg, const char* font_name,
|
||||
void* specific) {
|
||||
void* specific) {
|
||||
int32_t id = tk_pointer_to_int(specific);
|
||||
vgcanvas_nanovg_plus_t* canvas = (vgcanvas_nanovg_plus_t*)vg;
|
||||
if (canvas != NULL && canvas->vg != NULL && id >= 0) {
|
||||
@ -321,7 +321,7 @@ vgcanvas_t* vgcanvas_create(uint32_t w, uint32_t h, uint32_t stride, bitmap_form
|
||||
nanovg->base.ratio = info.ratio;
|
||||
|
||||
vgcanvas_nanovg_plus_init((vgcanvas_t*)nanovg);
|
||||
|
||||
|
||||
opengl_init();
|
||||
|
||||
nanovg->vg = nvgp_create(NVGP_MODE_GPU, w, h);
|
||||
|
@ -3,6 +3,7 @@
|
||||
/* internal */
|
||||
ret_t vgcanvas_nanovg_plus_init(vgcanvas_t* vgcanvas);
|
||||
const vgcanvas_vtable_t* vgcanvas_nanovg_plus_get_vt();
|
||||
ret_t vgcanvas_asset_manager_nanovg_plus_font_destroy(void* vg, const char* font_name, void* specific);
|
||||
ret_t vgcanvas_asset_manager_nanovg_plus_font_destroy(void* vg, const char* font_name,
|
||||
void* specific);
|
||||
ret_t vgcanvas_asset_manager_nanovg_plus_bitmap_destroy(void* vg, void* specific);
|
||||
#endif
|
||||
|
@ -164,7 +164,7 @@ static ret_t check_button_get_prop(widget_t* widget, const char* name, value_t*
|
||||
} else if (tk_str_eq(name, CHECK_BUTTON_PROP_INDETERMINATE)) {
|
||||
value_set_bool(v, check_button->indeterminate);
|
||||
return RET_OK;
|
||||
}
|
||||
}
|
||||
|
||||
return RET_NOT_FOUND;
|
||||
}
|
||||
|
@ -916,11 +916,11 @@ ret_t edit_on_event(widget_t* widget, event_t* e) {
|
||||
if (edit->readonly) {
|
||||
break;
|
||||
}
|
||||
#ifndef AWTK_WEB
|
||||
#ifndef AWTK_WEB
|
||||
if (!widget->focused) {
|
||||
break;
|
||||
}
|
||||
#endif/*AWTK_WEB*/
|
||||
#endif /*AWTK_WEB*/
|
||||
if (state.preedit) {
|
||||
text_edit_preedit_clear(edit->model);
|
||||
}
|
||||
|
@ -56,7 +56,8 @@ static ret_t pages_on_idle_set_target_focused(const idle_info_t* idle) {
|
||||
pages = PAGES(idle->ctx);
|
||||
ENSURE(pages);
|
||||
|
||||
if (pages->widget.focused || info->keyboard_type == KEYBOARD_3KEYS || info->keyboard_type == KEYBOARD_5KEYS) {
|
||||
if (pages->widget.focused || info->keyboard_type == KEYBOARD_3KEYS ||
|
||||
info->keyboard_type == KEYBOARD_5KEYS) {
|
||||
default_focused_child_set_target_focused(&(pages->str_target), WIDGET(pages));
|
||||
}
|
||||
|
||||
|
@ -208,7 +208,6 @@ ret_t tab_button_set_value(widget_t* widget, bool_t value) {
|
||||
int32_t index = tab_button_page_index_of(widget);
|
||||
return_value_if_fail(index >= 0, RET_BAD_PARAMS);
|
||||
if (tab_button->load_ui == NULL) {
|
||||
|
||||
widget_set_value(pages, index);
|
||||
} else if (tab_button->ui == NULL && !widget->loading) {
|
||||
tab_button_load_ui(tab_button, pages);
|
||||
@ -343,7 +342,8 @@ static ret_t tab_button_init(widget_t* widget) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static const char* s_tab_button_clone_properties[] = {WIDGET_PROP_VALUE, WIDGET_PROP_MAX_W, WIDGET_PROP_ELLIPSES, NULL};
|
||||
static const char* s_tab_button_clone_properties[] = {WIDGET_PROP_VALUE, WIDGET_PROP_MAX_W,
|
||||
WIDGET_PROP_ELLIPSES, NULL};
|
||||
TK_DECL_VTABLE(tab_button) = {.size = sizeof(tab_button_t),
|
||||
.type = WIDGET_TYPE_TAB_BUTTON,
|
||||
.space_key_to_activate = TRUE,
|
||||
|
@ -25,14 +25,13 @@
|
||||
|
||||
#define TK_TAB_BUTTON_DRAG_THRESHOLD 5
|
||||
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_WHELL 1 << 0
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_DRAGGED 1 << 1
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_ALL 0xFFFFFFFF
|
||||
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_WHELL_STRING "wheel"
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_DRAGGED_STRING "dragged"
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_ALL_STRING "all"
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_WHELL 1 << 0
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_DRAGGED 1 << 1
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_ALL 0xFFFFFFFF
|
||||
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_WHELL_STRING "wheel"
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_DRAGGED_STRING "dragged"
|
||||
#define TAB_BUTTON_GROUP_SCROLLABLE_MODE_ALL_STRING "all"
|
||||
|
||||
static ret_t tab_button_group_on_layout_children_non_compact(widget_t* widget) {
|
||||
int32_t x = 0;
|
||||
@ -123,7 +122,8 @@ static ret_t tab_button_group_on_layout_children_compact(widget_t* widget) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t tab_button_group_set_active_in_viewport_on_layout(tab_button_group_t* tab_button_group, bool_t active_in_viewport) {
|
||||
static ret_t tab_button_group_set_active_in_viewport_on_layout(tab_button_group_t* tab_button_group,
|
||||
bool_t active_in_viewport) {
|
||||
return_value_if_fail(tab_button_group != NULL, RET_BAD_PARAMS);
|
||||
tab_button_group->is_active_in_viewport = active_in_viewport;
|
||||
return RET_OK;
|
||||
@ -291,7 +291,8 @@ static ret_t tab_button_group_on_pointer_move(widget_t* widget, pointer_event_t*
|
||||
xy_t yy = p.y - iter->y;
|
||||
if (widget_is_point_in(iter, xx, yy, TRUE)) {
|
||||
if (iter != tab_button_group->dragged) {
|
||||
if (!(tab_button_group->last_iter_rect != NULL && rect_contains(tab_button_group->last_iter_rect, p.x, p.y))) {
|
||||
if (!(tab_button_group->last_iter_rect != NULL &&
|
||||
rect_contains(tab_button_group->last_iter_rect, p.x, p.y))) {
|
||||
tab_button_group_last_iter_rect_destroy(tab_button_group);
|
||||
tab_button_group->last_iter_rect = rect_create(iter->x, iter->y, iter->w, iter->h);
|
||||
tab_button_group_set_active_in_viewport_on_layout(tab_button_group, TRUE);
|
||||
@ -313,7 +314,8 @@ static ret_t tab_button_group_on_pointer_move(widget_t* widget, pointer_event_t*
|
||||
widget_layout(widget);
|
||||
}
|
||||
} else {
|
||||
if (p.x >= TK_TAB_BUTTON_DRAG_THRESHOLD + widget->w && tab_button_group->last_pointer_x < e->x) {
|
||||
if (p.x >= TK_TAB_BUTTON_DRAG_THRESHOLD + widget->w &&
|
||||
tab_button_group->last_pointer_x < e->x) {
|
||||
int32_t index = widget_index_of(tab_button_group->dragged);
|
||||
int32_t count = widget_count_children(widget);
|
||||
tab_button_group_set_active_in_viewport_on_layout(tab_button_group, TRUE);
|
||||
@ -342,7 +344,7 @@ static ret_t tab_button_group_on_event(widget_t* widget, event_t* e) {
|
||||
break;
|
||||
}
|
||||
case EVT_WHEEL: {
|
||||
if (tab_button_group->scrollable && tab_button_group->compact &&
|
||||
if (tab_button_group->scrollable && tab_button_group->compact &&
|
||||
(tab_button_group->scrollable_mode_flags & TAB_BUTTON_GROUP_SCROLLABLE_MODE_WHELL)) {
|
||||
wheel_event_t* evt = (wheel_event_t*)e;
|
||||
int32_t xoffset = tab_button_group->hscrollable->xoffset;
|
||||
@ -386,12 +388,13 @@ static ret_t tab_button_group_on_event(widget_t* widget, event_t* e) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (tab_button_group->scrollable && tab_button_group->compact && !tab_button_group->drag_child &&
|
||||
if (tab_button_group->scrollable && tab_button_group->compact && !tab_button_group->drag_child &&
|
||||
(tab_button_group->scrollable_mode_flags & TAB_BUTTON_GROUP_SCROLLABLE_MODE_DRAGGED)) {
|
||||
int32_t xoffset = tab_button_group->hscrollable->xoffset;
|
||||
ret_t ret = hscrollable_on_event(tab_button_group->hscrollable, e);
|
||||
if (tab_button_group->is_active_in_viewport) {
|
||||
tab_button_group_set_active_in_viewport_on_layout(tab_button_group, xoffset == tab_button_group->hscrollable->xoffset);
|
||||
tab_button_group_set_active_in_viewport_on_layout(
|
||||
tab_button_group, xoffset == tab_button_group->hscrollable->xoffset);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -428,7 +431,8 @@ ret_t tab_button_group_set_drag_child(widget_t* widget, bool_t drag_child) {
|
||||
ret_t tab_button_group_remove_index(widget_t* widget, uint32_t index) {
|
||||
widget_t* pages = NULL;
|
||||
tab_button_group_t* tab_button_group = TAB_BUTTON_GROUP(widget);
|
||||
return_value_if_fail(tab_button_group != NULL && index < widget_count_children(widget), RET_BAD_PARAMS);
|
||||
return_value_if_fail(tab_button_group != NULL && index < widget_count_children(widget),
|
||||
RET_BAD_PARAMS);
|
||||
|
||||
pages = widget_lookup_by_type(widget->parent, WIDGET_TYPE_PAGES, TRUE);
|
||||
|
||||
|
@ -186,8 +186,8 @@ widget_t* tab_button_group_cast(widget_t* widget);
|
||||
/*public for subclass and runtime type check*/
|
||||
TK_EXTERN_VTABLE(tab_button_group);
|
||||
|
||||
#define TAB_BUTTON_GROUP_PROP_DRAG_CHILD "drag_child"
|
||||
#define TAB_BUTTON_GROUP_PROP_SCROLLABLE_MODE "scrollable_mode"
|
||||
#define TAB_BUTTON_GROUP_PROP_DRAG_CHILD "drag_child"
|
||||
#define TAB_BUTTON_GROUP_PROP_SCROLLABLE_MODE "scrollable_mode"
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
|
@ -36,7 +36,8 @@
|
||||
#include "base/dialog_highlighter_factory.h"
|
||||
#include "window_manager/window_manager_default.h"
|
||||
|
||||
#define WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID "not_opened_but_close_window_idle_id"
|
||||
#define WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID \
|
||||
"not_opened_but_close_window_idle_id"
|
||||
|
||||
static ret_t window_manager_animate_done(widget_t* widget);
|
||||
static ret_t window_manager_default_update_fps(widget_t* widget);
|
||||
@ -788,10 +789,12 @@ static ret_t window_manager_default_close_window(widget_t* widget, widget_t* win
|
||||
return_value_if_fail(widget_is_window(window), RET_BAD_PARAMS);
|
||||
|
||||
if (!window_is_opened(window)) {
|
||||
uint32_t idle_id = widget_get_prop_int(window, WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID, TK_INVALID_ID);
|
||||
uint32_t idle_id = widget_get_prop_int(
|
||||
window, WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID, TK_INVALID_ID);
|
||||
if (idle_id == 0) {
|
||||
idle_id = widget_add_idle(window, window_manager_default_on_idle_check_and_close_window);
|
||||
widget_set_prop_int(window, WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID, idle_id);
|
||||
widget_set_prop_int(window, WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID,
|
||||
idle_id);
|
||||
}
|
||||
return RET_OK;
|
||||
}
|
||||
@ -844,16 +847,16 @@ static ret_t window_manager_default_close_window(widget_t* widget, widget_t* win
|
||||
window_manager_dispatch_window_event(prev_win, EVT_WINDOW_TO_FOREGROUND);
|
||||
|
||||
WIDGET_FOR_EACH_CHILD_BEGIN_R(widget, iter, i)
|
||||
if (widget_is_normal_window(iter)) {
|
||||
if (widget_is_normal_window(iter)) {
|
||||
break;
|
||||
}
|
||||
if (widget_is_support_highlighter(iter)) {
|
||||
curr_highlight = widget_get_prop_str(iter, WIDGET_PROP_HIGHLIGHT, NULL);
|
||||
if (curr_highlight != NULL && *curr_highlight != '\0') {
|
||||
widget_highlighter = iter;
|
||||
break;
|
||||
}
|
||||
if (widget_is_support_highlighter(iter)) {
|
||||
curr_highlight = widget_get_prop_str(iter, WIDGET_PROP_HIGHLIGHT, NULL);
|
||||
if (curr_highlight != NULL && *curr_highlight != '\0') {
|
||||
widget_highlighter = iter;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
WIDGET_FOR_EACH_CHILD_END();
|
||||
if (is_create) {
|
||||
wm->curr_win = widget_highlighter;
|
||||
@ -974,7 +977,8 @@ static ret_t window_manager_paint_normal(widget_t* widget, canvas_t* c) {
|
||||
|
||||
fps_inc(&(wm->fps));
|
||||
if (WINDOW_MANAGER(wm)->show_fps) {
|
||||
rect_t fps_rect = rect_init(WINDOW_MANAGER(wm)->fps_position.x, WINDOW_MANAGER(wm)->fps_position.y, 60, 30);
|
||||
rect_t fps_rect =
|
||||
rect_init(WINDOW_MANAGER(wm)->fps_position.x, WINDOW_MANAGER(wm)->fps_position.y, 60, 30);
|
||||
window_manager_default_invalidate(widget, &fps_rect);
|
||||
}
|
||||
#ifdef FRAGMENT_FRAME_BUFFER_SIZE
|
||||
@ -1122,7 +1126,9 @@ static ret_t window_manager_animate_done(widget_t* widget) {
|
||||
window_animator_destroy(wm->animator);
|
||||
curr_win_is_keyboard = widget_is_keyboard(curr_win);
|
||||
curr_win_is_normal_window = widget_is_normal_window(curr_win);
|
||||
close_window_when_open_animate = widget_get_prop_int(curr_win, WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID, TK_INVALID_ID) != TK_INVALID_ID;
|
||||
close_window_when_open_animate =
|
||||
widget_get_prop_int(curr_win, WINDOW_MANAGER_DEFAULT_NOT_OPENED_BUT_CLOSE_WINDOW_IDLE_ID,
|
||||
TK_INVALID_ID) != TK_INVALID_ID;
|
||||
|
||||
wm->animator = NULL;
|
||||
wm->animating = FALSE;
|
||||
@ -1220,7 +1226,8 @@ static ret_t window_manager_default_update_fps(widget_t* widget) {
|
||||
window_manager_default_t* wm = WINDOW_MANAGER_DEFAULT(widget);
|
||||
|
||||
c = native_window_get_canvas(wm->native_window);
|
||||
canvas_set_fps_ex(c, WINDOW_MANAGER(wm)->show_fps, fps_get(&(wm->fps)), wm->window_manager.fps_position.x, wm->window_manager.fps_position.y);
|
||||
canvas_set_fps_ex(c, WINDOW_MANAGER(wm)->show_fps, fps_get(&(wm->fps)),
|
||||
wm->window_manager.fps_position.x, wm->window_manager.fps_position.y);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
@ -335,8 +335,7 @@ static void xml_parser_parse_start_tag(XmlParser* parser) {
|
||||
xml_builder_on_end(parser->builder, tag_name);
|
||||
}
|
||||
|
||||
for (; *parser->read_ptr != '>' && *parser->read_ptr != '\0'; parser->read_ptr++)
|
||||
;
|
||||
for (; *parser->read_ptr != '>' && *parser->read_ptr != '\0'; parser->read_ptr++);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -443,8 +442,7 @@ static void xml_parser_parse_pi(XmlParser* parser) {
|
||||
tag_name = parser->buffer + tk_pointer_to_int(tag_name);
|
||||
xml_builder_on_pi(parser->builder, tag_name, (const char**)parser->attrs);
|
||||
|
||||
for (; *parser->read_ptr != '>' && *parser->read_ptr != '\0'; parser->read_ptr++)
|
||||
;
|
||||
for (; *parser->read_ptr != '>' && *parser->read_ptr != '\0'; parser->read_ptr++);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ TEST(AppConf, reset) {
|
||||
|
||||
ASSERT_STREQ(app_conf_get_str("name", NULL), "test");
|
||||
ASSERT_EQ(app_conf_get_int("age", 0), 100);
|
||||
|
||||
|
||||
ASSERT_EQ(app_conf_set_str("name", "awtk"), RET_OK);
|
||||
ASSERT_EQ(app_conf_set_int("age", 200), RET_OK);
|
||||
|
||||
|
@ -23,8 +23,7 @@ static void write_data_func(pixel_t pixel) {
|
||||
typedef uint16_t pixel_t;
|
||||
#define LCD_FORMAT BITMAP_FMT_BGR565
|
||||
#define pixel_from_rgb(r, g, b) ((((r) >> 3) << 11) | (((g) >> 2) << 5) | ((b) >> 3))
|
||||
#define pixel_to_rgba(p) \
|
||||
{ (0xff & ((p >> 11) << 3)), (0xff & ((p >> 5) << 2)), (0xff & (p << 3)) }
|
||||
#define pixel_to_rgba(p) {(0xff & ((p >> 11) << 3)), (0xff & ((p >> 5) << 2)), (0xff & (p << 3))}
|
||||
|
||||
#include "base/pixel.h"
|
||||
#include "base/bitmap.h"
|
||||
|
@ -259,7 +259,7 @@ TEST(InputDeviceStatus, long_press) {
|
||||
info = input_device_status_find_key_long_press_info(ids, TK_KEY_0);
|
||||
ASSERT_EQ(info->key, TK_KEY_0);
|
||||
ASSERT_EQ(info->time, 2000);
|
||||
|
||||
|
||||
ASSERT_EQ(input_device_status_set_key_long_press_time(ids, TK_KEY_1, 3000), RET_OK);
|
||||
info = input_device_status_find_key_long_press_info(ids, TK_KEY_1);
|
||||
ASSERT_EQ(info->key, TK_KEY_1);
|
||||
|
@ -238,6 +238,6 @@ TEST(Tokenizer, str) {
|
||||
TEST(Tokenizer, null) {
|
||||
tokenizer_t tokenizer;
|
||||
tokenizer_t* t = tokenizer_init(&tokenizer, NULL, 0, NULL);
|
||||
ASSERT_EQ(t == NULL, TRUE);
|
||||
ASSERT_EQ(t == NULL, TRUE);
|
||||
tokenizer_deinit(t);
|
||||
}
|
||||
|
@ -1975,15 +1975,15 @@ TEST(Utils, atob) {
|
||||
}
|
||||
|
||||
TEST(Utils, tk_strs_bsearch) {
|
||||
const char* strs[] = {"abc1", "abc2", "abc3", "abc4", "abc5", "b","c", "d"};
|
||||
const char* strs[] = {"abc1", "abc2", "abc3", "abc4", "abc5", "b", "c", "d"};
|
||||
ASSERT_EQ(tk_strs_bsearch(strs, 0, "Abc1", TRUE), (char*)NULL);
|
||||
ASSERT_EQ(tk_strs_bsearch(strs, 0, "Abc1", FALSE), (char*)NULL);
|
||||
|
||||
|
||||
ASSERT_EQ(tk_strs_bsearch(strs, 1, "Abc1", TRUE), (char*)NULL);
|
||||
ASSERT_STREQ(tk_strs_bsearch(strs, 1, "Abc1", FALSE), "abc1");
|
||||
|
||||
for(uint32_t i = 1; i < ARRAY_SIZE(strs); i++) {
|
||||
for(uint32_t j = 0; j < ARRAY_SIZE(strs); j++) {
|
||||
|
||||
for (uint32_t i = 1; i < ARRAY_SIZE(strs); i++) {
|
||||
for (uint32_t j = 0; j < ARRAY_SIZE(strs); j++) {
|
||||
if (j >= i) {
|
||||
ASSERT_EQ(tk_strs_bsearch(strs, i, strs[j], TRUE), (char*)NULL);
|
||||
} else {
|
||||
|
@ -1784,6 +1784,6 @@ TEST(Widget, widget_set_text_with_double) {
|
||||
ASSERT_EQ(wstr_eq(&(b->text), L"12.30"), TRUE);
|
||||
ASSERT_EQ(widget_set_text_with_double(b, "%2.4lfkg", 12.3), RET_OK);
|
||||
ASSERT_EQ(wstr_eq(&(b->text), L"12.3000kg"), TRUE);
|
||||
|
||||
|
||||
widget_destroy(w);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ TEST(WStr, shrink) {
|
||||
wstr_append(&s, L"abc123");
|
||||
ASSERT_EQ(wstr_shrink(&s, 3), RET_OK);
|
||||
ASSERT_EQ(wcs_cmp(s.str, L"abc"), 0);
|
||||
|
||||
|
||||
ASSERT_EQ(wstr_shrink(&s, 30), RET_OK);
|
||||
ASSERT_EQ(wcs_cmp(s.str, L"abc"), 0);
|
||||
|
||||
@ -580,7 +580,7 @@ TEST(WStr, append_utf8) {
|
||||
ASSERT_EQ(wstr_append_utf8(s, "abc"), RET_OK);
|
||||
ASSERT_EQ(wstr_eq(s, L"123abc"), TRUE);
|
||||
|
||||
#ifndef WIN32
|
||||
#ifndef WIN32
|
||||
ASSERT_EQ(wstr_append_utf8(s, "中国"), RET_OK);
|
||||
ASSERT_EQ(wstr_eq(s, L"123abc中国"), TRUE);
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user