diff --git a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/CMakeLists.txt b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/CMakeLists.txt index bed9dca2..b6b86b6f 100644 --- a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/CMakeLists.txt +++ b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/CMakeLists.txt @@ -1,6 +1,9 @@ cmake_minimum_required(VERSION 3.12) project(lvgl_runtime_v8.3) +# get_filename_component(EXPORTED_FUNCTIONS_FILE_PATH exported-functions.txt ABSOLUTE) +# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=@${EXPORTED_FUNCTIONS_FILE_PATH} -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") + # release set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 --no-entry") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=_malloc,_free -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") @@ -8,6 +11,7 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s D # debug: # set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -Wunused-const-variable -Wno-nested-anon-types -Wno-dollar-in-identifier-extension -O2 --no-entry -g") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wunused-const-variable -Wno-nested-anon-types -Wno-dollar-in-identifier-extension -O2 --no-entry -g") +## set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=${EXPORTED_FUNCTIONS} -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=_malloc,_free -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") # add_definitions(-DEMCC_DEBUG) include_directories(${PROJECT_SOURCE_DIR}) @@ -27,6 +31,7 @@ file(GLOB_RECURSE SOURCES ../common/src/*.c ) +#add_executable(lvgl_runtime_v8.3 ${SOURCES} ../stub_api.c) add_executable(lvgl_runtime_v8.3 ${SOURCES}) set(CMAKE_EXECUTABLE_SUFFIX ".html") diff --git a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/exported-functions.txt b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/exported-functions.txt new file mode 100644 index 00000000..e5af3dc0 --- /dev/null +++ b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/exported-functions.txt @@ -0,0 +1,1155 @@ +_free +_malloc +_lv_disp_get_scr_act +_lv_disp_get_scr_prev +_lv_disp_load_scr +_lv_scr_load_anim +_lv_disp_get_layer_top +_lv_disp_get_layer_sys +_lv_disp_set_theme +_lv_disp_get_theme +_lv_disp_set_bg_color +_lv_disp_set_bg_image +_lv_disp_set_bg_opa +_lv_disp_get_inactive_time +_lv_disp_trig_activity +_lv_disp_clean_dcache +_lv_disp_enable_invalidation +_lv_disp_is_invalidation_enabled +_lv_event_send +_lv_obj_event_base +_lv_event_get_target +_lv_event_get_current_target +_lv_event_get_code +_lv_event_get_param +_lv_event_get_user_data +_lv_event_stop_bubbling +_lv_event_stop_processing +_lv_event_register_id +_lv_obj_add_event_cb +_lv_obj_remove_event_cb +_lv_obj_remove_event_cb_with_user_data +_lv_obj_remove_event_dsc +_lv_obj_get_event_user_data +_lv_event_get_indev +_lv_event_get_draw_part_dsc +_lv_event_get_draw_ctx +_lv_event_get_old_size +_lv_event_get_key +_lv_event_get_scroll_anim +_lv_event_set_ext_draw_size +_lv_event_get_self_size_info +_lv_event_get_hit_test_info +_lv_event_get_cover_area +_lv_event_set_cover_res +_lv_group_create +_lv_group_del +_lv_group_set_default +_lv_group_get_default +_lv_group_add_obj +_lv_group_remove_obj +_lv_group_swap_obj +_lv_group_focus_obj +_lv_group_get_focused +_lv_group_set_editing +_lv_group_remove_all_objs +_lv_group_focus_next +_lv_group_focus_prev +_lv_group_focus_freeze +_lv_group_send_data +_lv_group_set_focus_cb +_lv_group_set_edge_cb +_lv_group_set_refocus_policy +_lv_group_set_wrap +_lv_group_get_focus_cb +_lv_group_get_edge_cb +_lv_group_get_editing +_lv_group_get_wrap +_lv_group_get_obj_count +_lv_indev_read_timer_cb +_lv_indev_enable +_lv_indev_get_act +_lv_indev_get_type +_lv_indev_reset +_lv_indev_reset_long_press +_lv_indev_set_cursor +_lv_indev_set_group +_lv_indev_set_button_points +_lv_indev_get_point +_lv_indev_get_gesture_dir +_lv_indev_get_key +_lv_indev_get_scroll_dir +_lv_indev_get_scroll_obj +_lv_indev_get_vect +_lv_indev_wait_release +_lv_indev_get_obj_act +_lv_indev_get_read_timer +_lv_indev_search_obj +_lv_indev_scroll_throw_predict +_lv_indev_scroll_get_snap_dist +_lv_is_initialized +_lv_init +_lv_deinit +_lv_obj_create +_lv_obj_add_flag +_lv_obj_has_state +_lv_obj_get_group +_lv_obj_clear_flag +_lv_obj_add_state +_lv_obj_clear_state +_lv_obj_has_flag +_lv_obj_has_flag_any +_lv_obj_get_state +_lv_obj_allocate_spec_attr +_lv_obj_check_type +_lv_obj_has_class +_lv_obj_get_class +_lv_obj_is_valid +_lv_obj_class_create_obj +_lv_obj_class_init_obj +_lv_obj_is_group_def +_lv_obj_is_editable +_lv_obj_init_draw_rect_dsc +_lv_obj_init_draw_label_dsc +_lv_obj_init_draw_img_dsc +_lv_obj_init_draw_line_dsc +_lv_obj_init_draw_arc_dsc +_lv_obj_calculate_ext_draw_size +_lv_obj_draw_dsc_init +_lv_obj_draw_part_check_type +_lv_obj_refresh_ext_draw_size +_lv_obj_set_pos +_lv_obj_set_x +_lv_obj_set_y +_lv_obj_refr_size +_lv_obj_invalidate +_lv_obj_get_content_coords +_lv_obj_get_width +_lv_obj_get_content_width +_lv_clamp_width +_lv_obj_get_height +_lv_obj_get_content_height +_lv_clamp_height +_lv_obj_area_is_visible +_lv_obj_get_coords +_lv_obj_set_size +_lv_obj_set_width +_lv_obj_set_height +_lv_obj_set_content_width +_lv_obj_set_content_height +_lv_obj_set_layout +_lv_obj_mark_layout_as_dirty +_lv_obj_is_layout_positioned +_lv_obj_update_layout +_lv_obj_refr_pos +_lv_layout_register +_lv_obj_set_align +_lv_obj_align +_lv_obj_align_to +_lv_obj_get_x +_lv_obj_get_x2 +_lv_obj_get_y +_lv_obj_get_y2 +_lv_obj_get_x_aligned +_lv_obj_get_y_aligned +_lv_obj_get_self_width +_lv_obj_get_self_height +_lv_obj_refresh_self_size +_lv_obj_move_to +_lv_obj_move_children_by +_lv_obj_transform_point +_lv_obj_get_transformed_area +_lv_obj_invalidate_area +_lv_obj_is_visible +_lv_obj_set_ext_click_area +_lv_obj_get_click_area +_lv_obj_hit_test +_lv_obj_set_scrollbar_mode +_lv_obj_set_scroll_dir +_lv_obj_set_scroll_snap_x +_lv_obj_set_scroll_snap_y +_lv_obj_get_scrollbar_mode +_lv_obj_get_scroll_dir +_lv_obj_get_scroll_snap_x +_lv_obj_get_scroll_snap_y +_lv_obj_get_scroll_x +_lv_obj_get_scroll_y +_lv_obj_get_scroll_top +_lv_obj_get_scroll_bottom +_lv_obj_get_scroll_left +_lv_obj_get_scroll_right +_lv_obj_get_scroll_end +_lv_obj_scroll_by_bounded +_lv_obj_scroll_by +_lv_obj_scroll_to +_lv_obj_scroll_to_x +_lv_obj_scroll_to_y +_lv_obj_scroll_to_view +_lv_obj_scroll_to_view_recursive +_lv_obj_is_scrolling +_lv_obj_update_snap +_lv_obj_get_scrollbar_area +_lv_obj_scrollbar_invalidate +_lv_obj_readjust_scroll +_lv_obj_add_style +_lv_obj_remove_style +_lv_obj_refresh_style +_lv_obj_get_style_prop +_lv_obj_style_get_selector_state +_lv_obj_style_get_selector_part +_lv_obj_report_style_change +_lv_obj_enable_style_refresh +_lv_obj_set_local_style_prop +_lv_obj_set_local_style_prop_meta +_lv_obj_get_local_style_prop +_lv_obj_remove_local_style_prop +_lv_obj_fade_in +_lv_obj_fade_out +_lv_obj_calculate_style_text_align +_lv_obj_get_style_opa_recursive +_lv_obj_set_style_width +_lv_obj_set_style_min_width +_lv_obj_set_style_max_width +_lv_obj_set_style_height +_lv_obj_set_style_min_height +_lv_obj_set_style_max_height +_lv_obj_set_style_x +_lv_obj_set_style_y +_lv_obj_set_style_align +_lv_obj_set_style_transform_width +_lv_obj_set_style_transform_height +_lv_obj_set_style_translate_x +_lv_obj_set_style_translate_y +_lv_obj_set_style_transform_zoom +_lv_obj_set_style_transform_angle +_lv_obj_set_style_transform_pivot_x +_lv_obj_set_style_transform_pivot_y +_lv_obj_set_style_pad_top +_lv_obj_set_style_pad_bottom +_lv_obj_set_style_pad_left +_lv_obj_set_style_pad_right +_lv_obj_set_style_pad_row +_lv_obj_set_style_pad_column +_lv_obj_set_style_bg_color +_lv_obj_set_style_bg_opa +_lv_obj_set_style_bg_grad_color +_lv_obj_set_style_bg_grad_dir +_lv_obj_set_style_bg_main_stop +_lv_obj_set_style_bg_grad_stop +_lv_obj_set_style_bg_grad +_lv_obj_set_style_bg_dither_mode +_lv_obj_set_style_bg_img_src +_lv_obj_set_style_bg_img_opa +_lv_obj_set_style_bg_img_recolor +_lv_obj_set_style_bg_img_recolor_opa +_lv_obj_set_style_bg_img_tiled +_lv_obj_set_style_border_color +_lv_obj_set_style_border_opa +_lv_obj_set_style_border_width +_lv_obj_set_style_border_side +_lv_obj_set_style_border_post +_lv_obj_set_style_outline_width +_lv_obj_set_style_outline_color +_lv_obj_set_style_outline_opa +_lv_obj_set_style_outline_pad +_lv_obj_set_style_shadow_width +_lv_obj_set_style_shadow_ofs_x +_lv_obj_set_style_shadow_ofs_y +_lv_obj_set_style_shadow_spread +_lv_obj_set_style_shadow_color +_lv_obj_set_style_shadow_opa +_lv_obj_set_style_img_opa +_lv_obj_set_style_img_recolor +_lv_obj_set_style_img_recolor_opa +_lv_obj_set_style_line_width +_lv_obj_set_style_line_dash_width +_lv_obj_set_style_line_dash_gap +_lv_obj_set_style_line_rounded +_lv_obj_set_style_line_color +_lv_obj_set_style_line_opa +_lv_obj_set_style_arc_width +_lv_obj_set_style_arc_rounded +_lv_obj_set_style_arc_color +_lv_obj_set_style_arc_opa +_lv_obj_set_style_arc_img_src +_lv_obj_set_style_text_color +_lv_obj_set_style_text_opa +_lv_obj_set_style_text_font +_lv_obj_set_style_text_letter_space +_lv_obj_set_style_text_line_space +_lv_obj_set_style_text_decor +_lv_obj_set_style_text_align +_lv_obj_set_style_radius +_lv_obj_set_style_clip_corner +_lv_obj_set_style_opa +_lv_obj_set_style_opa_layered +_lv_obj_set_style_color_filter_dsc +_lv_obj_set_style_color_filter_opa +_lv_obj_set_style_anim +_lv_obj_set_style_anim_time +_lv_obj_set_style_anim_speed +_lv_obj_set_style_transition +_lv_obj_set_style_blend_mode +_lv_obj_set_style_layout +_lv_obj_set_style_base_dir +_lv_obj_del +_lv_obj_get_parent +_lv_obj_get_disp +_lv_obj_clean +_lv_obj_get_child +_lv_obj_del_delayed +_lv_obj_del_anim_ready_cb +_lv_obj_del_async +_lv_obj_set_parent +_lv_obj_get_index +_lv_obj_get_child_cnt +_lv_obj_move_to_index +_lv_obj_swap +_lv_obj_get_screen +_lv_obj_tree_walk +_lv_refr_now +_lv_obj_redraw +_lv_theme_get_from_obj +_lv_theme_apply +_lv_theme_set_parent +_lv_theme_set_apply_cb +_lv_theme_get_font_small +_lv_theme_get_font_normal +_lv_theme_get_font_large +_lv_theme_get_color_primary +_lv_theme_get_color_secondary +_lv_draw_init +_lv_draw_wait_for_finish +_lv_draw_arc_dsc_init +_lv_draw_arc +_lv_draw_arc_get_area +_lv_draw_img_dsc_init +_lv_draw_img +_lv_img_cf_get_px_size +_lv_img_cf_is_chroma_keyed +_lv_img_cf_has_alpha +_lv_img_src_get_type +_lv_draw_img_decoded +_lv_draw_label_dsc_init +_lv_draw_label +_lv_draw_letter +_lv_draw_layer_create +_lv_draw_layer_adjust +_lv_draw_layer_blend +_lv_draw_layer_destroy +_lv_draw_line_dsc_init +_lv_draw_line +_lv_draw_mask_add +_lv_draw_mask_apply +_lv_draw_mask_apply_ids +_lv_draw_mask_remove_id +_lv_draw_mask_remove_custom +_lv_draw_mask_free_param +_lv_draw_mask_get_cnt +_lv_draw_mask_is_any +_lv_draw_mask_line_points_init +_lv_draw_mask_line_angle_init +_lv_draw_mask_angle_init +_lv_draw_mask_radius_init +_lv_draw_mask_fade_init +_lv_draw_mask_map_init +_lv_draw_mask_polygon_init +_lv_draw_rect_dsc_init +_lv_draw_rect +_lv_draw_transform +_lv_draw_polygon +_lv_draw_triangle +_lv_img_buf_get_px_color +_lv_img_buf_get_px_alpha +_lv_img_buf_set_px_alpha +_lv_img_buf_set_px_color +_lv_img_buf_set_palette +_lv_img_buf_alloc +_lv_img_buf_get_img_size +_lv_img_buf_free +_lv_img_cache_set_size +_lv_img_cache_invalidate_src +_lv_img_decoder_built_in_close +_lv_img_decoder_built_in_read_line +_lv_img_decoder_built_in_open +_lv_img_decoder_built_in_info +_lv_img_decoder_create +_lv_img_decoder_set_info_cb +_lv_img_decoder_set_open_cb +_lv_img_decoder_set_read_line_cb +_lv_img_decoder_set_close_cb +_lv_img_decoder_get_info +_lv_img_decoder_open +_lv_img_decoder_read_line +_lv_img_decoder_close +_lv_img_decoder_delete +_lv_draw_sw_init_ctx +_lv_draw_sw_buffer_copy +_lv_draw_sw_wait_for_finish +_lv_draw_sw_deinit_ctx +_lv_draw_sw_arc +_lv_draw_sw_blend +_lv_draw_sw_blend_basic +_lv_gradient_free_cache +_lv_gradient_set_cache_size +_lv_gradient_get +_lv_gradient_calculate +_lv_gradient_cleanup +_lv_draw_sw_img_decoded +_lv_draw_sw_layer_create +_lv_draw_sw_layer_adjust +_lv_draw_sw_layer_blend +_lv_draw_sw_layer_destroy +_lv_draw_sw_letter +_lv_draw_sw_line +_lv_draw_sw_polygon +_lv_draw_sw_rect +_lv_draw_sw_bg +_lv_draw_sw_transform +_lv_flex_init +_lv_obj_set_flex_flow +_lv_obj_set_style_flex_flow +_lv_obj_set_flex_align +_lv_obj_set_style_flex_main_place +_lv_obj_set_style_flex_cross_place +_lv_obj_set_style_flex_track_place +_lv_obj_set_flex_grow +_lv_obj_set_style_flex_grow +_lv_style_set_flex_flow +_lv_style_set_flex_main_place +_lv_style_set_flex_cross_place +_lv_style_set_flex_track_place +_lv_style_set_flex_grow +_lv_grid_init +_lv_obj_set_grid_dsc_array +_lv_obj_set_style_grid_column_dsc_array +_lv_obj_set_style_grid_row_dsc_array +_lv_obj_set_grid_align +_lv_obj_set_style_grid_column_align +_lv_obj_set_style_grid_row_align +_lv_obj_set_grid_cell +_lv_obj_set_style_grid_cell_column_pos +_lv_obj_set_style_grid_cell_row_pos +_lv_obj_set_style_grid_cell_x_align +_lv_obj_set_style_grid_cell_column_span +_lv_obj_set_style_grid_cell_row_span +_lv_obj_set_style_grid_cell_y_align +_lv_style_set_grid_row_dsc_array +_lv_style_set_grid_column_dsc_array +_lv_style_set_grid_row_align +_lv_style_set_grid_column_align +_lv_style_set_grid_cell_column_pos +_lv_style_set_grid_cell_column_span +_lv_style_set_grid_cell_row_pos +_lv_style_set_grid_cell_row_span +_lv_style_set_grid_cell_x_align +_lv_style_set_grid_cell_y_align +_lv_bmp_init +_lv_fs_stdio_init +_lv_gif_create +_lv_gif_set_src +_lv_gif_restart +_lv_png_init +_lv_qrcode_create +_lv_qrcode_update +_lv_qrcode_delete +_lv_split_jpeg_init +_lv_tiny_ttf_create_file_ex +_lv_tiny_ttf_set_size +_lv_tiny_ttf_create_file +_lv_tiny_ttf_create_data_ex +_lv_tiny_ttf_create_data +_lv_tiny_ttf_destroy +_lv_extra_init +_lv_fragment_create +_lv_fragment_del +_lv_fragment_del_obj +_lv_fragment_get_manager +_lv_fragment_get_container +_lv_fragment_get_parent +_lv_fragment_create_obj +_lv_fragment_recreate_obj +_lv_fragment_manager_create +_lv_fragment_manager_del +_lv_fragment_manager_create_obj +_lv_fragment_manager_del_obj +_lv_fragment_manager_add +_lv_fragment_manager_remove +_lv_fragment_manager_push +_lv_fragment_manager_pop +_lv_fragment_manager_get_top +_lv_fragment_manager_replace +_lv_fragment_manager_find_by_container +_lv_fragment_manager_send_event +_lv_fragment_manager_get_stack_size +_lv_fragment_manager_get_parent_fragment +_lv_gridnav_add +_lv_gridnav_remove +_lv_gridnav_set_focused +_lv_monkey_config_init +_lv_monkey_create +_lv_monkey_get_indev +_lv_monkey_set_enable +_lv_monkey_get_enable +_lv_monkey_set_user_data +_lv_monkey_get_user_data +_lv_monkey_del +_lv_msg_init +_lv_msg_subsribe +_lv_msg_subsribe_obj +_lv_msg_unsubscribe +_lv_msg_unsubscribe_obj +_lv_msg_send +_lv_msg_get_id +_lv_msg_get_payload +_lv_msg_get_user_data +_lv_event_get_msg +_lv_snapshot_buf_size_needed +_lv_snapshot_take_to_buf +_lv_snapshot_take +_lv_snapshot_free +_lv_theme_basic_is_inited +_lv_theme_basic_init +_lv_theme_default_init +_lv_theme_default_is_inited +_lv_theme_default_get +_lv_theme_mono_is_inited +_lv_theme_mono_init +_lv_animimg_create +_lv_animimg_set_src +_lv_animimg_start +_lv_animimg_set_duration +_lv_animimg_set_repeat_count +_lv_calendar_set_showed_date +_lv_calendar_create +_lv_calendar_set_day_names +_lv_calendar_set_today_date +_lv_calendar_set_highlighted_dates +_lv_calendar_get_btnmatrix +_lv_calendar_get_today_date +_lv_calendar_get_showed_date +_lv_calendar_get_highlighted_dates +_lv_calendar_get_highlighted_dates_num +_lv_calendar_get_pressed_date +_lv_calendar_header_arrow_create +_lv_calendar_header_dropdown_create +_lv_calendar_header_dropdown_set_year_list +_lv_chart_get_point_pos_by_id +_lv_chart_create +_lv_chart_set_type +_lv_chart_refresh +_lv_chart_set_point_count +_lv_chart_set_range +_lv_chart_set_update_mode +_lv_chart_set_div_line_count +_lv_chart_set_zoom_x +_lv_chart_set_zoom_y +_lv_chart_get_zoom_x +_lv_chart_get_zoom_y +_lv_chart_set_axis_tick +_lv_chart_get_type +_lv_chart_get_point_count +_lv_chart_get_x_start_point +_lv_chart_add_series +_lv_chart_remove_series +_lv_chart_hide_series +_lv_chart_set_series_color +_lv_chart_set_x_start_point +_lv_chart_get_series_next +_lv_chart_add_cursor +_lv_chart_set_cursor_pos +_lv_chart_set_cursor_point +_lv_chart_get_cursor_point +_lv_chart_set_all_value +_lv_chart_set_next_value +_lv_chart_set_next_value2 +_lv_chart_set_value_by_id +_lv_chart_set_value_by_id2 +_lv_chart_set_ext_y_array +_lv_chart_set_ext_x_array +_lv_chart_get_y_array +_lv_chart_get_x_array +_lv_chart_get_pressed_point +_lv_colorwheel_set_hsv +_lv_colorwheel_create +_lv_colorwheel_set_rgb +_lv_colorwheel_set_mode +_lv_colorwheel_set_mode_fixed +_lv_colorwheel_get_hsv +_lv_colorwheel_get_rgb +_lv_colorwheel_get_color_mode +_lv_colorwheel_get_color_mode_fixed +_lv_imgbtn_create +_lv_imgbtn_set_src +_lv_imgbtn_set_state +_lv_imgbtn_get_src_left +_lv_imgbtn_get_src_middle +_lv_imgbtn_get_src_right +_lv_keyboard_def_event_cb +_lv_keyboard_create +_lv_keyboard_set_textarea +_lv_keyboard_set_mode +_lv_keyboard_set_popovers +_lv_keyboard_set_map +_lv_keyboard_get_textarea +_lv_keyboard_get_mode +_lv_btnmatrix_get_popovers +_lv_led_create +_lv_led_set_color +_lv_led_set_brightness +_lv_led_on +_lv_led_off +_lv_led_toggle +_lv_led_get_brightness +_lv_list_create +_lv_list_add_text +_lv_list_add_btn +_lv_list_get_btn_text +_lv_menu_create +_lv_menu_page_create +_lv_menu_cont_create +_lv_menu_section_create +_lv_menu_separator_create +_lv_menu_set_page +_lv_menu_clear_history +_lv_menu_set_sidebar_page +_lv_menu_set_mode_header +_lv_menu_set_mode_root_back_btn +_lv_menu_set_load_page_event +_lv_menu_get_cur_main_page +_lv_menu_get_cur_sidebar_page +_lv_menu_get_main_header +_lv_menu_get_main_header_back_btn +_lv_menu_get_sidebar_header +_lv_menu_get_sidebar_header_back_btn +_lv_menu_back_btn_is_root +_lv_meter_create +_lv_meter_add_scale +_lv_meter_set_scale_ticks +_lv_meter_set_scale_major_ticks +_lv_meter_set_scale_range +_lv_meter_add_needle_line +_lv_meter_add_needle_img +_lv_meter_add_arc +_lv_meter_add_scale_lines +_lv_meter_set_indicator_value +_lv_meter_set_indicator_start_value +_lv_meter_set_indicator_end_value +_lv_msgbox_create +_lv_msgbox_get_title +_lv_msgbox_get_close_btn +_lv_msgbox_get_text +_lv_msgbox_get_content +_lv_msgbox_get_btns +_lv_msgbox_get_active_btn +_lv_msgbox_get_active_btn_text +_lv_msgbox_close +_lv_msgbox_close_async +_lv_spangroup_get_expand_width +_lv_spangroup_get_max_line_h +_lv_spangroup_get_expand_height +_lv_spangroup_create +_lv_spangroup_new_span +_lv_spangroup_del_span +_lv_span_set_text +_lv_span_set_text_static +_lv_spangroup_set_align +_lv_spangroup_set_overflow +_lv_spangroup_set_indent +_lv_spangroup_set_mode +_lv_spangroup_refr_mode +_lv_spangroup_set_lines +_lv_spangroup_get_child +_lv_spangroup_get_child_cnt +_lv_spangroup_get_align +_lv_spangroup_get_overflow +_lv_spangroup_get_indent +_lv_spangroup_get_mode +_lv_spangroup_get_lines +_lv_spinbox_step_prev +_lv_spinbox_increment +_lv_spinbox_decrement +_lv_spinbox_create +_lv_spinbox_set_value +_lv_spinbox_set_rollover +_lv_spinbox_set_digit_format +_lv_spinbox_set_step +_lv_spinbox_set_range +_lv_spinbox_set_cursor_pos +_lv_spinbox_set_digit_step_direction +_lv_spinbox_get_value +_lv_spinbox_get_step +_lv_spinbox_step_next +_lv_spinbox_get_rollover +_lv_spinner_create +_lv_tabview_set_act +_lv_tabview_create +_lv_tabview_add_tab +_lv_tabview_get_content +_lv_tabview_get_tab_btns +_lv_tabview_rename_tab +_lv_tabview_get_tab_act +_lv_tileview_create +_lv_tileview_add_tile +_lv_obj_set_tile +_lv_obj_set_tile_id +_lv_tileview_get_tile_act +_lv_win_create +_lv_win_add_title +_lv_win_get_header +_lv_win_add_btn +_lv_win_get_content +_lv_font_get_glyph_bitmap +_lv_font_get_glyph_dsc +_lv_font_get_glyph_width +_lv_font_get_bitmap_fmt_txt +_lv_font_get_glyph_dsc_fmt_txt +_lv_font_load +_lv_font_free +_lv_disp_drv_init +_lv_disp_draw_buf_init +_lv_disp_drv_register +_lv_disp_drv_update +_lv_disp_get_hor_res +_lv_disp_get_ver_res +_lv_disp_remove +_lv_disp_get_default +_lv_disp_set_default +_lv_disp_get_physical_hor_res +_lv_disp_get_physical_ver_res +_lv_disp_get_offset_x +_lv_disp_get_offset_y +_lv_disp_get_antialiasing +_lv_disp_get_dpi +_lv_disp_flush_ready +_lv_disp_flush_is_last +_lv_disp_get_next +_lv_disp_get_draw_buf +_lv_disp_set_rotation +_lv_disp_get_rotation +_lv_disp_drv_use_generic_set_px_cb +_lv_indev_drv_init +_lv_indev_drv_register +_lv_indev_drv_update +_lv_indev_delete +_lv_indev_get_next +_lv_tick_get +_lv_tick_elaps +_lv_anim_init +_lv_anim_path_linear +_lv_anim_start +_lv_anim_del +_lv_anim_get_playtime +_lv_anim_del_all +_lv_anim_get +_lv_anim_get_timer +_lv_anim_count_running +_lv_anim_speed_to_time +_lv_anim_refr_now +_lv_anim_path_ease_in +_lv_anim_path_ease_out +_lv_anim_path_ease_in_out +_lv_anim_path_overshoot +_lv_anim_path_bounce +_lv_anim_path_step +_lv_anim_timeline_create +_lv_anim_timeline_del +_lv_anim_timeline_stop +_lv_anim_timeline_add +_lv_anim_timeline_start +_lv_anim_timeline_get_playtime +_lv_anim_timeline_set_reverse +_lv_anim_timeline_set_progress +_lv_anim_timeline_get_reverse +_lv_area_set +_lv_area_set_width +_lv_area_set_height +_lv_area_get_size +_lv_area_increase +_lv_area_move +_lv_area_align +_lv_point_transform +_lv_async_call +_lv_async_call_cancel +_lv_bidi_calculate_align +_lv_color_fill +_lv_color_lighten +_lv_color_darken +_lv_color_change_lightness +_lv_color_hsv_to_rgb +_lv_color_rgb_to_hsv +_lv_color_to_hsv +_lv_palette_main +_lv_palette_lighten +_lv_palette_darken +_lv_fs_is_ready +_lv_fs_get_drv +_lv_fs_open +_lv_fs_close +_lv_fs_read +_lv_fs_write +_lv_fs_seek +_lv_fs_tell +_lv_fs_dir_open +_lv_fs_dir_read +_lv_fs_dir_close +_lv_fs_drv_init +_lv_fs_drv_register +_lv_fs_get_letters +_lv_fs_get_ext +_lv_fs_up +_lv_fs_get_last +_lv_log_register_print_cb +_lv_log +_lv_lru_create +_lv_lru_del +_lv_lru_set +_lv_lru_remove_lru_item +_lv_lru_get +_lv_lru_remove +_lv_trigo_sin +_lv_bezier3 +_lv_sqrt +_lv_atan2 +_lv_pow +_lv_map +_lv_rand +_lv_mem_init +_lv_mem_deinit +_lv_mem_alloc +_lv_mem_free +_lv_mem_realloc +_lv_mem_test +_lv_mem_monitor +_lv_mem_buf_get +_lv_mem_buf_release +_lv_mem_buf_free_all +_lv_snprintf +_lv_vsnprintf +_lv_style_init +_lv_style_reset +_lv_style_register_prop +_lv_style_get_num_custom_props +_lv_style_remove_prop +_lv_style_set_prop +_lv_style_set_prop_meta +_lv_style_get_prop +_lv_style_prop_get_default +_lv_style_transition_dsc_init +_lv_style_is_empty +_lv_style_set_width +_lv_style_set_min_width +_lv_style_set_max_width +_lv_style_set_height +_lv_style_set_min_height +_lv_style_set_max_height +_lv_style_set_x +_lv_style_set_y +_lv_style_set_align +_lv_style_set_transform_width +_lv_style_set_transform_height +_lv_style_set_translate_x +_lv_style_set_translate_y +_lv_style_set_transform_zoom +_lv_style_set_transform_angle +_lv_style_set_transform_pivot_x +_lv_style_set_transform_pivot_y +_lv_style_set_pad_top +_lv_style_set_pad_bottom +_lv_style_set_pad_left +_lv_style_set_pad_right +_lv_style_set_pad_row +_lv_style_set_pad_column +_lv_style_set_bg_color +_lv_style_set_bg_opa +_lv_style_set_bg_grad_color +_lv_style_set_bg_grad_dir +_lv_style_set_bg_main_stop +_lv_style_set_bg_grad_stop +_lv_style_set_bg_grad +_lv_style_set_bg_dither_mode +_lv_style_set_bg_img_src +_lv_style_set_bg_img_opa +_lv_style_set_bg_img_recolor +_lv_style_set_bg_img_recolor_opa +_lv_style_set_bg_img_tiled +_lv_style_set_border_color +_lv_style_set_border_opa +_lv_style_set_border_width +_lv_style_set_border_side +_lv_style_set_border_post +_lv_style_set_outline_width +_lv_style_set_outline_color +_lv_style_set_outline_opa +_lv_style_set_outline_pad +_lv_style_set_shadow_width +_lv_style_set_shadow_ofs_x +_lv_style_set_shadow_ofs_y +_lv_style_set_shadow_spread +_lv_style_set_shadow_color +_lv_style_set_shadow_opa +_lv_style_set_img_opa +_lv_style_set_img_recolor +_lv_style_set_img_recolor_opa +_lv_style_set_line_width +_lv_style_set_line_dash_width +_lv_style_set_line_dash_gap +_lv_style_set_line_rounded +_lv_style_set_line_color +_lv_style_set_line_opa +_lv_style_set_arc_width +_lv_style_set_arc_rounded +_lv_style_set_arc_color +_lv_style_set_arc_opa +_lv_style_set_arc_img_src +_lv_style_set_text_color +_lv_style_set_text_opa +_lv_style_set_text_font +_lv_style_set_text_letter_space +_lv_style_set_text_line_space +_lv_style_set_text_decor +_lv_style_set_text_align +_lv_style_set_radius +_lv_style_set_clip_corner +_lv_style_set_opa +_lv_style_set_opa_layered +_lv_style_set_color_filter_dsc +_lv_style_set_color_filter_opa +_lv_style_set_anim +_lv_style_set_anim_time +_lv_style_set_anim_speed +_lv_style_set_transition +_lv_style_set_blend_mode +_lv_style_set_layout +_lv_style_set_base_dir +_lv_timer_enable +_lv_timer_handler +_lv_timer_create_basic +_lv_timer_create +_lv_timer_set_cb +_lv_timer_del +_lv_timer_pause +_lv_timer_resume +_lv_timer_set_period +_lv_timer_ready +_lv_timer_set_repeat_count +_lv_timer_reset +_lv_timer_get_idle +_lv_timer_get_next +_lv_tlsf_check +_lv_tlsf_walk_pool +_lv_tlsf_block_size +_lv_tlsf_check_pool +_lv_tlsf_size +_lv_tlsf_align_size +_lv_tlsf_block_size_min +_lv_tlsf_block_size_max +_lv_tlsf_pool_overhead +_lv_tlsf_alloc_overhead +_lv_tlsf_add_pool +_lv_tlsf_remove_pool +_lv_tlsf_create +_lv_tlsf_create_with_pool +_lv_tlsf_destroy +_lv_tlsf_get_pool +_lv_tlsf_malloc +_lv_tlsf_memalign +_lv_tlsf_free +_lv_tlsf_realloc +_lv_txt_get_size +_lv_txt_get_width +_lv_arc_set_value +_lv_arc_create +_lv_arc_set_start_angle +_lv_arc_set_end_angle +_lv_arc_set_angles +_lv_arc_set_bg_start_angle +_lv_arc_set_bg_end_angle +_lv_arc_set_bg_angles +_lv_arc_set_rotation +_lv_arc_set_mode +_lv_arc_set_range +_lv_arc_set_change_rate +_lv_arc_get_angle_start +_lv_arc_get_angle_end +_lv_arc_get_bg_angle_start +_lv_arc_get_bg_angle_end +_lv_arc_get_value +_lv_arc_get_min_value +_lv_arc_get_max_value +_lv_arc_get_mode +_lv_arc_align_obj_to_angle +_lv_arc_rotate_obj_to_angle +_lv_bar_create +_lv_bar_set_value +_lv_bar_set_start_value +_lv_bar_set_range +_lv_bar_get_mode +_lv_bar_set_mode +_lv_bar_get_value +_lv_bar_get_start_value +_lv_bar_get_min_value +_lv_bar_get_max_value +_lv_btn_create +_lv_btnmatrix_set_map +_lv_btnmatrix_create +_lv_btnmatrix_set_ctrl_map +_lv_btnmatrix_set_selected_btn +_lv_btnmatrix_set_btn_ctrl +_lv_btnmatrix_clear_btn_ctrl_all +_lv_btnmatrix_clear_btn_ctrl +_lv_btnmatrix_set_btn_ctrl_all +_lv_btnmatrix_set_btn_width +_lv_btnmatrix_set_one_checked +_lv_btnmatrix_get_map +_lv_btnmatrix_get_selected_btn +_lv_btnmatrix_get_btn_text +_lv_btnmatrix_has_btn_ctrl +_lv_btnmatrix_get_one_checked +_lv_canvas_create +_lv_canvas_set_buffer +_lv_canvas_set_px_color +_lv_canvas_set_px_opa +_lv_canvas_set_palette +_lv_canvas_get_px +_lv_canvas_get_img +_lv_canvas_copy_buf +_lv_canvas_transform +_lv_canvas_blur_hor +_lv_canvas_blur_ver +_lv_canvas_fill_bg +_lv_canvas_draw_rect +_lv_canvas_draw_text +_lv_canvas_draw_img +_lv_canvas_draw_line +_lv_canvas_draw_polygon +_lv_canvas_draw_arc +_lv_checkbox_create +_lv_checkbox_set_text +_lv_checkbox_set_text_static +_lv_checkbox_get_text +_lv_dropdown_set_options_static +_lv_dropdown_open +_lv_dropdown_close +_lv_dropdown_create +_lv_dropdown_set_text +_lv_dropdown_set_options +_lv_dropdown_add_option +_lv_dropdown_clear_options +_lv_dropdown_set_selected +_lv_dropdown_set_dir +_lv_dropdown_set_symbol +_lv_dropdown_set_selected_highlight +_lv_dropdown_get_list +_lv_dropdown_get_text +_lv_dropdown_get_options +_lv_dropdown_get_selected +_lv_dropdown_get_option_cnt +_lv_dropdown_get_selected_str +_lv_dropdown_get_option_index +_lv_dropdown_get_symbol +_lv_dropdown_get_selected_highlight +_lv_dropdown_get_dir +_lv_dropdown_is_open +_lv_img_set_src +_lv_img_create +_lv_img_set_offset_x +_lv_img_set_offset_y +_lv_img_set_angle +_lv_img_set_pivot +_lv_img_set_zoom +_lv_img_set_antialias +_lv_img_set_size_mode +_lv_img_get_src +_lv_img_get_offset_x +_lv_img_get_offset_y +_lv_img_get_angle +_lv_img_get_pivot +_lv_img_get_zoom +_lv_img_get_antialias +_lv_img_get_size_mode +_lv_label_set_text +_lv_label_create +_lv_label_get_letter_on +_lv_label_set_text_fmt +_lv_label_set_text_static +_lv_label_set_long_mode +_lv_label_set_recolor +_lv_label_set_text_sel_start +_lv_label_set_text_sel_end +_lv_label_get_text +_lv_label_get_long_mode +_lv_label_get_recolor +_lv_label_get_letter_pos +_lv_label_is_char_under_pos +_lv_label_get_text_selection_start +_lv_label_get_text_selection_end +_lv_label_ins_text +_lv_label_cut_text +_lv_line_create +_lv_line_set_points +_lv_line_set_y_invert +_lv_line_get_y_invert +_lv_roller_set_options +_lv_roller_set_selected +_lv_roller_create +_lv_roller_set_visible_row_count +_lv_roller_get_selected +_lv_roller_get_selected_str +_lv_roller_get_options +_lv_roller_get_option_cnt +_lv_slider_create +_lv_slider_is_dragged +_lv_switch_create +_lv_table_create +_lv_table_set_cell_value +_lv_table_set_col_cnt +_lv_table_set_row_cnt +_lv_table_set_cell_value_fmt +_lv_table_set_col_width +_lv_table_add_cell_ctrl +_lv_table_clear_cell_ctrl +_lv_table_set_cell_user_data +_lv_table_get_cell_value +_lv_table_get_row_cnt +_lv_table_get_col_cnt +_lv_table_get_col_width +_lv_table_has_cell_ctrl +_lv_table_get_selected_cell +_lv_table_get_cell_user_data +_lv_textarea_set_cursor_pos +_lv_textarea_cursor_up +_lv_textarea_cursor_down +_lv_textarea_del_char +_lv_textarea_add_char +_lv_textarea_del_char_forward +_lv_textarea_create +_lv_textarea_add_text +_lv_textarea_clear_selection +_lv_textarea_get_cursor_pos +_lv_textarea_get_accepted_chars +_lv_textarea_get_max_length +_lv_textarea_set_text +_lv_textarea_set_placeholder_text +_lv_textarea_set_cursor_click_pos +_lv_textarea_set_password_mode +_lv_textarea_set_password_bullet +_lv_textarea_set_one_line +_lv_textarea_set_accepted_chars +_lv_textarea_set_max_length +_lv_textarea_set_insert_replace +_lv_textarea_set_text_selection +_lv_textarea_set_password_show_time +_lv_textarea_set_align +_lv_textarea_get_label +_lv_textarea_get_text +_lv_textarea_get_placeholder_text +_lv_textarea_get_cursor_click_pos +_lv_textarea_get_password_mode +_lv_textarea_get_password_bullet +_lv_textarea_get_one_line +_lv_textarea_text_is_selected +_lv_textarea_get_text_selection +_lv_textarea_get_password_show_time +_lv_textarea_cursor_right +_lv_textarea_cursor_left diff --git a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/gen-exported-functions.sh b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/gen-exported-functions.sh new file mode 100644 index 00000000..ebbc9750 --- /dev/null +++ b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/gen-exported-functions.sh @@ -0,0 +1,5 @@ +#!/bin/bash +OUT="../exported-functions.txt" +~/emsdk/upstream/bin/llvm-objdump -t ./lib/liblvgl.a | grep "g F CODE lv_" | cut -c 23- | sed 's/^/_/' > $OUT +sed -i '1s/^/_malloc \n/' $OUT +sed -i '1s/^/_free \n/' $OUT diff --git a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/lv_conf.h b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/lv_conf.h index 78f743bf..40eab9c8 100644 --- a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/lv_conf.h +++ b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v8.3/lv_conf.h @@ -1,4 +1,3 @@ -#include "lv_conf_8.3.h" /** * @file lv_conf.h * Configuration file for v8.0.0-dev diff --git a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/CMakeLists.txt b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/CMakeLists.txt index 0b770a45..d87f8794 100644 --- a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/CMakeLists.txt +++ b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/CMakeLists.txt @@ -1,6 +1,9 @@ cmake_minimum_required(VERSION 3.12) project(lvgl_runtime_v9.0) +#get_filename_component(EXPORTED_FUNCTIONS_FILE_PATH exported-functions.txt ABSOLUTE) +#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=@${EXPORTED_FUNCTIONS_FILE_PATH} -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") + # release set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 --no-entry") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=_malloc,_free -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") @@ -8,6 +11,7 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s D # debug: # set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -Wunused-const-variable -Wno-nested-anon-types -Wno-dollar-in-identifier-extension -O2 --no-entry -g") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wunused-const-variable -Wno-nested-anon-types -Wno-dollar-in-identifier-extension -O2 --no-entry -g") +## set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=${EXPORTED_FUNCTIONS} -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 -s INITIAL_MEMORY=83886080 -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS=_malloc,_free -s EXPORTED_RUNTIME_METHODS=allocateUTF8,AsciiToString,UTF8ToString --pre-js ${PROJECT_SOURCE_DIR}/../common/pre.js --post-js ${PROJECT_SOURCE_DIR}/../common/post.js") # add_definitions(-DEMCC_DEBUG) include_directories(${PROJECT_SOURCE_DIR}) @@ -31,7 +35,8 @@ file(GLOB_RECURSE SOURCES ../common/src/*.c ) -add_executable(lvgl_runtime_v9.0 ${SOURCES} ../stub_api.c) +#add_executable(lvgl_runtime_v9.0 ${SOURCES} ../stub_api.c) +add_executable(lvgl_runtime_v9.0 ${SOURCES}) set(CMAKE_EXECUTABLE_SUFFIX ".html") diff --git a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/exported-functions.txt b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/exported-functions.txt new file mode 100644 index 00000000..a0a9f94e --- /dev/null +++ b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/exported-functions.txt @@ -0,0 +1,1362 @@ +_free +_malloc +_lv_group_create +_lv_group_delete +_lv_group_get_default +_lv_group_set_default +_lv_group_add_obj +_lv_group_remove_obj +_lv_group_swap_obj +_lv_group_focus_obj +_lv_group_get_focused +_lv_group_set_editing +_lv_group_remove_all_objs +_lv_group_focus_next +_lv_group_focus_prev +_lv_group_focus_freeze +_lv_group_send_data +_lv_group_set_focus_cb +_lv_group_set_edge_cb +_lv_group_set_refocus_policy +_lv_group_set_wrap +_lv_group_get_focus_cb +_lv_group_get_edge_cb +_lv_group_get_editing +_lv_group_get_wrap +_lv_group_get_obj_count +_lv_group_get_count +_lv_group_by_index +_lv_obj_add_state +_lv_obj_create +_lv_obj_add_flag +_lv_obj_has_state +_lv_obj_get_group +_lv_obj_remove_flag +_lv_obj_update_flag +_lv_obj_remove_state +_lv_obj_set_state +_lv_obj_has_flag +_lv_obj_has_flag_any +_lv_obj_get_state +_lv_obj_allocate_spec_attr +_lv_obj_check_type +_lv_obj_has_class +_lv_obj_get_class +_lv_obj_is_valid +_lv_obj_class_create_obj +_lv_obj_class_init_obj +_lv_obj_is_group_def +_lv_obj_is_editable +_lv_obj_init_draw_rect_dsc +_lv_obj_init_draw_label_dsc +_lv_obj_init_draw_image_dsc +_lv_obj_init_draw_line_dsc +_lv_obj_init_draw_arc_dsc +_lv_obj_calculate_ext_draw_size +_lv_obj_refresh_ext_draw_size +_lv_obj_send_event +_lv_obj_event_base +_lv_obj_add_event_cb +_lv_obj_get_event_count +_lv_obj_get_event_dsc +_lv_obj_remove_event +_lv_obj_remove_event_cb +_lv_obj_remove_event_dsc +_lv_obj_remove_event_cb_with_user_data +_lv_event_get_current_target_obj +_lv_event_get_target_obj +_lv_event_get_indev +_lv_event_get_layer +_lv_event_get_old_size +_lv_event_get_key +_lv_event_get_rotary_diff +_lv_event_get_scroll_anim +_lv_event_set_ext_draw_size +_lv_event_get_self_size_info +_lv_event_get_hit_test_info +_lv_event_get_cover_area +_lv_event_set_cover_res +_lv_event_get_draw_task +_lv_obj_set_pos +_lv_obj_set_x +_lv_obj_set_y +_lv_obj_refr_size +_lv_obj_get_content_width +_lv_obj_get_content_height +_lv_obj_invalidate_area +_lv_obj_get_content_coords +_lv_obj_get_width +_lv_clamp_width +_lv_obj_get_height +_lv_clamp_height +_lv_obj_invalidate +_lv_obj_get_coords +_lv_obj_set_size +_lv_obj_set_width +_lv_obj_set_height +_lv_obj_set_content_width +_lv_obj_set_content_height +_lv_obj_set_layout +_lv_obj_mark_layout_as_dirty +_lv_obj_is_layout_positioned +_lv_obj_update_layout +_lv_obj_refr_pos +_lv_obj_set_align +_lv_obj_align +_lv_obj_align_to +_lv_obj_get_x +_lv_obj_get_x2 +_lv_obj_get_y +_lv_obj_get_y2 +_lv_obj_get_x_aligned +_lv_obj_get_y_aligned +_lv_obj_get_self_width +_lv_obj_get_self_height +_lv_obj_refresh_self_size +_lv_obj_move_to +_lv_obj_move_children_by +_lv_obj_transform_point +_lv_obj_transform_point_array +_lv_obj_get_transformed_area +_lv_obj_area_is_visible +_lv_obj_is_visible +_lv_obj_set_ext_click_area +_lv_obj_get_click_area +_lv_obj_hit_test +_lv_obj_set_scrollbar_mode +_lv_obj_set_scroll_dir +_lv_obj_set_scroll_snap_x +_lv_obj_set_scroll_snap_y +_lv_obj_get_scrollbar_mode +_lv_obj_get_scroll_dir +_lv_obj_get_scroll_snap_x +_lv_obj_get_scroll_snap_y +_lv_obj_get_scroll_x +_lv_obj_get_scroll_y +_lv_obj_get_scroll_top +_lv_obj_get_scroll_bottom +_lv_obj_get_scroll_left +_lv_obj_get_scroll_right +_lv_obj_get_scroll_end +_lv_obj_scroll_by_bounded +_lv_obj_scroll_by +_lv_obj_scroll_to +_lv_obj_scroll_to_x +_lv_obj_scroll_to_y +_lv_obj_scroll_to_view +_lv_obj_scroll_to_view_recursive +_lv_obj_is_scrolling +_lv_obj_update_snap +_lv_obj_get_scrollbar_area +_lv_obj_scrollbar_invalidate +_lv_obj_readjust_scroll +_lv_obj_add_style +_lv_obj_remove_style +_lv_obj_refresh_style +_lv_obj_replace_style +_lv_obj_remove_style_all +_lv_obj_report_style_change +_lv_obj_enable_style_refresh +_lv_obj_get_style_prop +_lv_obj_has_style_prop +_lv_obj_set_local_style_prop +_lv_obj_get_local_style_prop +_lv_obj_remove_local_style_prop +_lv_obj_fade_in +_lv_obj_fade_out +_lv_obj_calculate_style_text_align +_lv_obj_get_style_opa_recursive +_lv_obj_set_style_width +_lv_obj_set_style_min_width +_lv_obj_set_style_max_width +_lv_obj_set_style_height +_lv_obj_set_style_min_height +_lv_obj_set_style_max_height +_lv_obj_set_style_length +_lv_obj_set_style_x +_lv_obj_set_style_y +_lv_obj_set_style_align +_lv_obj_set_style_transform_width +_lv_obj_set_style_transform_height +_lv_obj_set_style_translate_x +_lv_obj_set_style_translate_y +_lv_obj_set_style_transform_scale_x +_lv_obj_set_style_transform_scale_y +_lv_obj_set_style_transform_rotation +_lv_obj_set_style_transform_pivot_x +_lv_obj_set_style_transform_pivot_y +_lv_obj_set_style_transform_skew_x +_lv_obj_set_style_transform_skew_y +_lv_obj_set_style_pad_top +_lv_obj_set_style_pad_bottom +_lv_obj_set_style_pad_left +_lv_obj_set_style_pad_right +_lv_obj_set_style_pad_row +_lv_obj_set_style_pad_column +_lv_obj_set_style_margin_top +_lv_obj_set_style_margin_bottom +_lv_obj_set_style_margin_left +_lv_obj_set_style_margin_right +_lv_obj_set_style_bg_color +_lv_obj_set_style_bg_opa +_lv_obj_set_style_bg_grad_color +_lv_obj_set_style_bg_grad_dir +_lv_obj_set_style_bg_main_stop +_lv_obj_set_style_bg_grad_stop +_lv_obj_set_style_bg_main_opa +_lv_obj_set_style_bg_grad_opa +_lv_obj_set_style_bg_grad +_lv_obj_set_style_bg_image_src +_lv_obj_set_style_bg_image_opa +_lv_obj_set_style_bg_image_recolor +_lv_obj_set_style_bg_image_recolor_opa +_lv_obj_set_style_bg_image_tiled +_lv_obj_set_style_border_color +_lv_obj_set_style_border_opa +_lv_obj_set_style_border_width +_lv_obj_set_style_border_side +_lv_obj_set_style_border_post +_lv_obj_set_style_outline_width +_lv_obj_set_style_outline_color +_lv_obj_set_style_outline_opa +_lv_obj_set_style_outline_pad +_lv_obj_set_style_shadow_width +_lv_obj_set_style_shadow_offset_x +_lv_obj_set_style_shadow_offset_y +_lv_obj_set_style_shadow_spread +_lv_obj_set_style_shadow_color +_lv_obj_set_style_shadow_opa +_lv_obj_set_style_image_opa +_lv_obj_set_style_image_recolor +_lv_obj_set_style_image_recolor_opa +_lv_obj_set_style_line_width +_lv_obj_set_style_line_dash_width +_lv_obj_set_style_line_dash_gap +_lv_obj_set_style_line_rounded +_lv_obj_set_style_line_color +_lv_obj_set_style_line_opa +_lv_obj_set_style_arc_width +_lv_obj_set_style_arc_rounded +_lv_obj_set_style_arc_color +_lv_obj_set_style_arc_opa +_lv_obj_set_style_arc_image_src +_lv_obj_set_style_text_color +_lv_obj_set_style_text_opa +_lv_obj_set_style_text_font +_lv_obj_set_style_text_letter_space +_lv_obj_set_style_text_line_space +_lv_obj_set_style_text_decor +_lv_obj_set_style_text_align +_lv_obj_set_style_radius +_lv_obj_set_style_clip_corner +_lv_obj_set_style_opa +_lv_obj_set_style_opa_layered +_lv_obj_set_style_color_filter_dsc +_lv_obj_set_style_color_filter_opa +_lv_obj_set_style_anim +_lv_obj_set_style_anim_duration +_lv_obj_set_style_transition +_lv_obj_set_style_blend_mode +_lv_obj_set_style_layout +_lv_obj_set_style_base_dir +_lv_obj_set_style_bitmap_mask_src +_lv_obj_set_style_rotary_sensitivity +_lv_obj_set_style_flex_flow +_lv_obj_set_style_flex_main_place +_lv_obj_set_style_flex_cross_place +_lv_obj_set_style_flex_track_place +_lv_obj_set_style_flex_grow +_lv_obj_set_style_grid_column_dsc_array +_lv_obj_set_style_grid_column_align +_lv_obj_set_style_grid_row_dsc_array +_lv_obj_set_style_grid_row_align +_lv_obj_set_style_grid_cell_column_pos +_lv_obj_set_style_grid_cell_x_align +_lv_obj_set_style_grid_cell_column_span +_lv_obj_set_style_grid_cell_row_pos +_lv_obj_set_style_grid_cell_y_align +_lv_obj_set_style_grid_cell_row_span +_lv_obj_delete +_lv_obj_get_parent +_lv_obj_get_display +_lv_obj_clean +_lv_obj_get_child_count +_lv_obj_delete_delayed +_lv_obj_delete_anim_completed_cb +_lv_obj_delete_async +_lv_obj_set_parent +_lv_obj_get_index +_lv_obj_move_to_index +_lv_obj_swap +_lv_obj_get_screen +_lv_obj_get_child +_lv_obj_get_child_by_type +_lv_obj_get_sibling +_lv_obj_get_sibling_by_type +_lv_obj_get_index_by_type +_lv_obj_get_child_count_by_type +_lv_obj_tree_walk +_lv_obj_dump_tree +_lv_refr_now +_lv_obj_redraw +_lv_display_create +_lv_display_add_event_cb +_lv_display_delete +_lv_display_get_default +_lv_display_send_event +_lv_display_set_default +_lv_display_get_next +_lv_display_set_resolution +_lv_display_set_physical_resolution +_lv_display_set_offset +_lv_display_set_dpi +_lv_display_get_horizontal_resolution +_lv_display_get_vertical_resolution +_lv_display_get_physical_horizontal_resolution +_lv_display_get_physical_vertical_resolution +_lv_display_get_offset_x +_lv_display_get_offset_y +_lv_display_get_dpi +_lv_display_set_draw_buffers +_lv_display_set_buffers +_lv_display_get_color_format +_lv_display_set_render_mode +_lv_display_set_flush_cb +_lv_display_set_flush_wait_cb +_lv_display_set_color_format +_lv_display_set_antialiasing +_lv_display_get_antialiasing +_lv_display_flush_ready +_lv_display_flush_is_last +_lv_display_is_double_buffered +_lv_display_get_screen_active +_lv_display_get_screen_prev +_lv_display_get_layer_top +_lv_display_get_layer_sys +_lv_display_get_layer_bottom +_lv_screen_load +_lv_screen_load_anim +_lv_display_get_event_count +_lv_display_get_event_dsc +_lv_display_delete_event +_lv_display_remove_event_cb_with_user_data +_lv_display_set_rotation +_lv_display_get_rotation +_lv_display_set_theme +_lv_display_get_theme +_lv_display_get_inactive_time +_lv_display_trigger_activity +_lv_display_enable_invalidation +_lv_display_is_invalidation_enabled +_lv_display_get_refr_timer +_lv_display_delete_refr_timer +_lv_display_set_user_data +_lv_display_set_driver_data +_lv_display_get_user_data +_lv_display_get_driver_data +_lv_display_get_buf_active +_lv_draw_init +_lv_draw_deinit +_lv_draw_create_unit +_lv_draw_add_task +_lv_draw_finalize_task_creation +_lv_draw_dispatch_layer +_lv_draw_dispatch +_lv_draw_dispatch_request +_lv_draw_dispatch_wait_for_request +_lv_draw_get_next_available_task +_lv_draw_get_dependent_count +_lv_draw_layer_create +_lv_draw_layer_alloc_buf +_lv_draw_layer_go_to_xy +_lv_draw_arc_dsc_init +_lv_draw_task_get_arc_dsc +_lv_draw_arc +_lv_draw_arc_get_area +_lv_draw_buf_get_handlers +_lv_draw_buf_width_to_stride +_lv_draw_buf_align +_lv_draw_buf_invalidate_cache +_lv_draw_buf_clear +_lv_draw_buf_goto_xy +_lv_draw_buf_copy +_lv_draw_buf_init +_lv_draw_buf_create +_lv_draw_buf_dup +_lv_draw_buf_reshape +_lv_draw_buf_destroy +_lv_draw_buf_adjust_stride +_lv_draw_buf_premultiply +_lv_draw_buf_set_palette +_lv_draw_image_dsc_init +_lv_draw_task_get_image_dsc +_lv_draw_layer +_lv_draw_image +_lv_image_src_get_type +_lv_draw_label_dsc_init +_lv_draw_task_get_label_dsc +_lv_draw_glyph_dsc_init +_lv_draw_label +_lv_draw_character +_lv_draw_label_iterate_characters +_lv_draw_line_dsc_init +_lv_draw_task_get_line_dsc +_lv_draw_line +_lv_draw_mask_rect_dsc_init +_lv_draw_task_get_mask_rect_dsc +_lv_draw_mask_rect +_lv_draw_rect_dsc_init +_lv_draw_fill_dsc_init +_lv_draw_task_get_fill_dsc +_lv_draw_border_dsc_init +_lv_draw_task_get_border_dsc +_lv_draw_box_shadow_dsc_init +_lv_draw_task_get_box_shadow_dsc +_lv_draw_rect +_lv_draw_triangle_dsc_init +_lv_draw_task_get_triangle_dsc +_lv_draw_triangle +_lv_image_decoder_get_info +_lv_image_decoder_open +_lv_image_decoder_get_area +_lv_image_decoder_close +_lv_image_decoder_create +_lv_image_decoder_delete +_lv_image_decoder_get_next +_lv_image_decoder_set_info_cb +_lv_image_decoder_set_open_cb +_lv_image_decoder_set_get_area_cb +_lv_image_decoder_set_close_cb +_lv_image_decoder_set_cache_free_cb +_lv_image_decoder_post_process +_lv_draw_sw_blend +_lv_draw_sw_blend_color_to_argb8888 +_lv_draw_sw_blend_image_to_argb8888 +_lv_draw_sw_blend_color_to_rgb565 +_lv_draw_sw_blend_image_to_rgb565 +_lv_draw_sw_blend_color_to_rgb888 +_lv_draw_sw_blend_image_to_rgb888 +_lv_draw_sw_init +_lv_draw_sw_deinit +_lv_draw_sw_rgb565_swap +_lv_draw_sw_rotate +_lv_draw_sw_arc +_lv_draw_sw_border +_lv_draw_sw_box_shadow +_lv_draw_sw_fill +_lv_gradient_get +_lv_gradient_color_calculate +_lv_gradient_cleanup +_lv_draw_sw_layer +_lv_draw_sw_image +_lv_draw_sw_label +_lv_draw_sw_line +_lv_draw_sw_mask_init +_lv_draw_sw_mask_deinit +_lv_draw_sw_mask_apply +_lv_draw_sw_mask_free_param +_lv_draw_sw_mask_line_points_init +_lv_draw_sw_mask_line_angle_init +_lv_draw_sw_mask_angle_init +_lv_draw_sw_mask_radius_init +_lv_draw_sw_mask_fade_init +_lv_draw_sw_mask_map_init +_lv_draw_sw_mask_rect +_lv_draw_sw_transform +_lv_draw_sw_triangle +_lv_binfont_create +_lv_binfont_destroy +_lv_font_get_glyph_bitmap +_lv_font_get_glyph_dsc +_lv_font_get_glyph_width +_lv_font_set_kerning +_lv_font_get_bitmap_fmt_txt +_lv_font_get_glyph_dsc_fmt_txt +_lv_indev_create +_lv_indev_read_timer_cb +_lv_indev_read +_lv_indev_delete +_lv_indev_send_event +_lv_indev_get_next +_lv_indev_enable +_lv_indev_active +_lv_indev_set_type +_lv_indev_set_read_cb +_lv_indev_set_user_data +_lv_indev_set_driver_data +_lv_indev_get_read_cb +_lv_indev_get_type +_lv_indev_get_state +_lv_indev_get_group +_lv_indev_get_display +_lv_indev_set_display +_lv_indev_get_user_data +_lv_indev_get_driver_data +_lv_indev_reset +_lv_indev_reset_long_press +_lv_indev_set_cursor +_lv_indev_set_group +_lv_indev_set_button_points +_lv_indev_get_point +_lv_indev_get_gesture_dir +_lv_indev_get_key +_lv_indev_get_scroll_dir +_lv_indev_get_scroll_obj +_lv_indev_get_vect +_lv_indev_wait_release +_lv_indev_get_active_obj +_lv_indev_get_read_timer +_lv_indev_get_mode +_lv_indev_set_mode +_lv_indev_search_obj +_lv_indev_add_event_cb +_lv_indev_get_event_count +_lv_indev_get_event_dsc +_lv_indev_remove_event +_lv_indev_remove_event_cb_with_user_data +_lv_indev_find_scroll_obj +_lv_indev_scroll_throw_predict +_lv_indev_scroll_get_snap_dist +_lv_flex_init +_lv_obj_set_flex_flow +_lv_obj_set_flex_align +_lv_obj_set_flex_grow +_lv_grid_init +_lv_obj_set_grid_dsc_array +_lv_obj_set_grid_align +_lv_obj_set_grid_cell +_lv_layout_register +_lv_bin_decoder_init +_lv_bin_decoder_info +_lv_bin_decoder_open +_lv_bin_decoder_get_area +_lv_bin_decoder_close +_lv_fs_stdio_init +_lv_is_initialized +_lv_init +_lv_deinit +_lv_cache_create +_lv_cache_destroy +_lv_cache_acquire +_lv_cache_release +_lv_cache_add +_lv_cache_acquire_or_create +_lv_cache_reserve +_lv_cache_drop +_lv_cache_evict_one +_lv_cache_drop_all +_lv_cache_set_max_size +_lv_cache_get_max_size +_lv_cache_get_size +_lv_cache_get_free_size +_lv_cache_set_compare_cb +_lv_cache_set_create_cb +_lv_cache_set_free_cb +_lv_cache_entry_reset_ref +_lv_cache_entry_inc_ref +_lv_cache_entry_dec_ref +_lv_cache_entry_get_ref +_lv_cache_entry_get_node_size +_lv_cache_entry_set_node_size +_lv_cache_entry_set_invalid +_lv_cache_entry_is_invalid +_lv_cache_entry_get_data +_lv_cache_entry_acquire_data +_lv_cache_entry_release_data +_lv_cache_entry_get_entry +_lv_cache_entry_set_cache +_lv_cache_entry_get_cache +_lv_cache_entry_get_size +_lv_cache_entry_alloc +_lv_cache_entry_init +_lv_cache_entry_delete +_lv_image_cache_drop +_lv_image_header_cache_drop +_lv_image_cache_resize +_lv_image_header_cache_resize +_lv_anim_delete_all +_lv_anim_init +_lv_anim_path_linear +_lv_anim_start +_lv_anim_get_playtime +_lv_anim_delete +_lv_anim_get +_lv_anim_get_timer +_lv_anim_count_running +_lv_anim_speed_clamped +_lv_anim_speed +_lv_anim_refr_now +_lv_anim_path_ease_in +_lv_anim_path_ease_out +_lv_anim_path_ease_in_out +_lv_anim_path_overshoot +_lv_anim_path_bounce +_lv_anim_path_step +_lv_anim_path_custom_bezier3 +_lv_anim_timeline_create +_lv_anim_timeline_delete +_lv_anim_timeline_pause +_lv_anim_timeline_add +_lv_anim_timeline_start +_lv_anim_timeline_get_playtime +_lv_anim_timeline_set_reverse +_lv_anim_timeline_set_progress +_lv_anim_timeline_get_reverse +_lv_anim_timeline_get_progress +_lv_area_set +_lv_area_set_width +_lv_area_set_height +_lv_area_get_size +_lv_area_increase +_lv_area_move +_lv_area_align +_lv_point_transform +_lv_point_array_transform +_lv_array_init +_lv_array_deinit +_lv_array_copy +_lv_array_remove +_lv_array_resize +_lv_array_at +_lv_array_erase +_lv_array_concat +_lv_array_push_back +_lv_array_assign +_lv_async_call +_lv_async_call_cancel +_lv_bidi_calculate_align +_lv_color_format_get_bpp +_lv_color_format_has_alpha +_lv_color_to_32 +_lv_color_to_u16 +_lv_color_to_u32 +_lv_color_lighten +_lv_color_darken +_lv_color_hsv_to_rgb +_lv_color_rgb_to_hsv +_lv_color_to_hsv +_lv_event_send +_lv_event_add +_lv_event_remove_dsc +_lv_event_get_count +_lv_event_get_dsc +_lv_event_dsc_get_cb +_lv_event_dsc_get_user_data +_lv_event_remove +_lv_event_remove_all +_lv_event_get_current_target +_lv_event_get_target +_lv_event_get_code +_lv_event_get_param +_lv_event_get_user_data +_lv_event_stop_bubbling +_lv_event_stop_processing +_lv_event_register_id +_lv_fs_is_ready +_lv_fs_get_drv +_lv_fs_open +_lv_fs_make_path_from_buffer +_lv_fs_close +_lv_fs_read +_lv_fs_write +_lv_fs_seek +_lv_fs_tell +_lv_fs_dir_open +_lv_fs_dir_read +_lv_fs_dir_close +_lv_fs_drv_init +_lv_fs_drv_register +_lv_fs_get_letters +_lv_fs_get_ext +_lv_fs_up +_lv_fs_get_last +_lv_log_register_print_cb +_lv_log +_lv_lru_create +_lv_lru_delete +_lv_lru_set +_lv_lru_remove_lru_item +_lv_lru_get +_lv_lru_remove +_lv_trigo_sin +_lv_cubic_bezier +_lv_sqrt +_lv_atan2 +_lv_pow +_lv_map +_lv_rand_set_seed +_lv_rand +_lv_palette_main +_lv_palette_lighten +_lv_palette_darken +_lv_rb_init +_lv_rb_insert +_lv_rb_find +_lv_rb_remove_node +_lv_rb_minimum_from +_lv_rb_remove +_lv_rb_drop_node +_lv_rb_drop +_lv_rb_destroy +_lv_rb_minimum +_lv_rb_maximum +_lv_rb_maximum_from +_lv_style_init +_lv_style_reset +_lv_style_register_prop +_lv_style_get_num_custom_props +_lv_style_remove_prop +_lv_style_set_prop +_lv_style_get_prop +_lv_style_transition_dsc_init +_lv_style_prop_get_default +_lv_style_is_empty +_lv_style_set_width +_lv_style_set_min_width +_lv_style_set_max_width +_lv_style_set_height +_lv_style_set_min_height +_lv_style_set_max_height +_lv_style_set_length +_lv_style_set_x +_lv_style_set_y +_lv_style_set_align +_lv_style_set_transform_width +_lv_style_set_transform_height +_lv_style_set_translate_x +_lv_style_set_translate_y +_lv_style_set_transform_scale_x +_lv_style_set_transform_scale_y +_lv_style_set_transform_rotation +_lv_style_set_transform_pivot_x +_lv_style_set_transform_pivot_y +_lv_style_set_transform_skew_x +_lv_style_set_transform_skew_y +_lv_style_set_pad_top +_lv_style_set_pad_bottom +_lv_style_set_pad_left +_lv_style_set_pad_right +_lv_style_set_pad_row +_lv_style_set_pad_column +_lv_style_set_margin_top +_lv_style_set_margin_bottom +_lv_style_set_margin_left +_lv_style_set_margin_right +_lv_style_set_bg_color +_lv_style_set_bg_opa +_lv_style_set_bg_grad_color +_lv_style_set_bg_grad_dir +_lv_style_set_bg_main_stop +_lv_style_set_bg_grad_stop +_lv_style_set_bg_main_opa +_lv_style_set_bg_grad_opa +_lv_style_set_bg_grad +_lv_style_set_bg_image_src +_lv_style_set_bg_image_opa +_lv_style_set_bg_image_recolor +_lv_style_set_bg_image_recolor_opa +_lv_style_set_bg_image_tiled +_lv_style_set_border_color +_lv_style_set_border_opa +_lv_style_set_border_width +_lv_style_set_border_side +_lv_style_set_border_post +_lv_style_set_outline_width +_lv_style_set_outline_color +_lv_style_set_outline_opa +_lv_style_set_outline_pad +_lv_style_set_shadow_width +_lv_style_set_shadow_offset_x +_lv_style_set_shadow_offset_y +_lv_style_set_shadow_spread +_lv_style_set_shadow_color +_lv_style_set_shadow_opa +_lv_style_set_image_opa +_lv_style_set_image_recolor +_lv_style_set_image_recolor_opa +_lv_style_set_line_width +_lv_style_set_line_dash_width +_lv_style_set_line_dash_gap +_lv_style_set_line_rounded +_lv_style_set_line_color +_lv_style_set_line_opa +_lv_style_set_arc_width +_lv_style_set_arc_rounded +_lv_style_set_arc_color +_lv_style_set_arc_opa +_lv_style_set_arc_image_src +_lv_style_set_text_color +_lv_style_set_text_opa +_lv_style_set_text_font +_lv_style_set_text_letter_space +_lv_style_set_text_line_space +_lv_style_set_text_decor +_lv_style_set_text_align +_lv_style_set_radius +_lv_style_set_clip_corner +_lv_style_set_opa +_lv_style_set_opa_layered +_lv_style_set_color_filter_dsc +_lv_style_set_color_filter_opa +_lv_style_set_anim +_lv_style_set_anim_duration +_lv_style_set_transition +_lv_style_set_blend_mode +_lv_style_set_layout +_lv_style_set_base_dir +_lv_style_set_bitmap_mask_src +_lv_style_set_rotary_sensitivity +_lv_style_set_flex_flow +_lv_style_set_flex_main_place +_lv_style_set_flex_cross_place +_lv_style_set_flex_track_place +_lv_style_set_flex_grow +_lv_style_set_grid_column_dsc_array +_lv_style_set_grid_column_align +_lv_style_set_grid_row_dsc_array +_lv_style_set_grid_row_align +_lv_style_set_grid_cell_column_pos +_lv_style_set_grid_cell_x_align +_lv_style_set_grid_cell_column_span +_lv_style_set_grid_cell_row_pos +_lv_style_set_grid_cell_y_align +_lv_style_set_grid_cell_row_span +_lv_text_get_size +_lv_text_get_width +_lv_timer_enable +_lv_timer_handler +_lv_timer_periodic_handler +_lv_timer_create_basic +_lv_timer_create +_lv_timer_set_cb +_lv_timer_delete +_lv_timer_pause +_lv_timer_resume +_lv_timer_set_period +_lv_timer_ready +_lv_timer_set_repeat_count +_lv_timer_set_auto_delete +_lv_timer_set_user_data +_lv_timer_reset +_lv_timer_get_idle +_lv_timer_get_time_until_next +_lv_timer_get_next +_lv_timer_handler_set_resume_cb +_lv_draw_buf_save_to_file +_lv_thread_init +_lv_thread_delete +_lv_mutex_init +_lv_mutex_lock +_lv_mutex_lock_isr +_lv_mutex_unlock +_lv_mutex_delete +_lv_thread_sync_init +_lv_thread_sync_wait +_lv_thread_sync_signal +_lv_thread_sync_delete +_lv_gridnav_add +_lv_gridnav_remove +_lv_gridnav_set_focused +_lv_subject_init_int +_lv_subject_set_int +_lv_subject_notify +_lv_subject_get_int +_lv_subject_get_previous_int +_lv_subject_init_string +_lv_subject_copy_string +_lv_subject_get_string +_lv_subject_get_previous_string +_lv_subject_init_pointer +_lv_subject_set_pointer +_lv_subject_get_pointer +_lv_subject_get_previous_pointer +_lv_subject_init_color +_lv_subject_set_color +_lv_subject_get_color +_lv_subject_get_previous_color +_lv_subject_init_group +_lv_subject_add_observer +_lv_subject_add_observer_obj +_lv_subject_get_group_element +_lv_observer_remove +_lv_subject_add_observer_with_target +_lv_subject_remove_all_obj +_lv_observer_get_target +_lv_obj_bind_flag_if_eq +_lv_obj_bind_flag_if_not_eq +_lv_obj_bind_state_if_eq +_lv_obj_bind_state_if_not_eq +_lv_button_bind_checked +_lv_label_bind_text +_lv_arc_bind_value +_lv_slider_bind_value +_lv_roller_bind_value +_lv_dropdown_bind_value +_lv_mem_init +_lv_mem_deinit +_lv_mem_add_pool +_lv_mem_remove_pool +_lv_malloc_core +_lv_realloc_core +_lv_free_core +_lv_mem_monitor_core +_lv_mem_test_core +_lv_snprintf +_lv_vsnprintf +_lv_memcpy +_lv_memset +_lv_memmove +_lv_strlen +_lv_strncpy +_lv_strcpy +_lv_strcmp +_lv_strdup +_lv_tlsf_check +_lv_tlsf_walk_pool +_lv_tlsf_block_size +_lv_tlsf_check_pool +_lv_tlsf_size +_lv_tlsf_align_size +_lv_tlsf_block_size_min +_lv_tlsf_block_size_max +_lv_tlsf_pool_overhead +_lv_tlsf_alloc_overhead +_lv_tlsf_add_pool +_lv_tlsf_remove_pool +_lv_tlsf_create +_lv_tlsf_create_with_pool +_lv_tlsf_destroy +_lv_tlsf_get_pool +_lv_tlsf_malloc +_lv_tlsf_memalign +_lv_tlsf_free +_lv_tlsf_realloc +_lv_malloc +_lv_malloc_zeroed +_lv_free +_lv_realloc +_lv_mem_test +_lv_mem_monitor +_lv_theme_default_init +_lv_theme_default_is_inited +_lv_theme_default_deinit +_lv_theme_default_get +_lv_theme_get_from_obj +_lv_theme_apply +_lv_theme_set_parent +_lv_theme_set_apply_cb +_lv_theme_get_font_small +_lv_theme_get_font_normal +_lv_theme_get_font_large +_lv_theme_get_color_primary +_lv_theme_get_color_secondary +_lv_theme_mono_is_inited +_lv_theme_mono_deinit +_lv_theme_mono_init +_lv_theme_simple_is_inited +_lv_theme_simple_get +_lv_theme_simple_deinit +_lv_theme_simple_init +_lv_tick_inc +_lv_tick_get +_lv_tick_elaps +_lv_delay_ms +_lv_tick_set_cb +_lv_delay_set_cb +_lv_animimg_create +_lv_animimg_set_src +_lv_animimg_start +_lv_animimg_set_duration +_lv_animimg_set_repeat_count +_lv_animimg_get_src +_lv_animimg_get_src_count +_lv_animimg_get_duration +_lv_animimg_get_repeat_count +_lv_arc_set_value +_lv_arc_create +_lv_arc_set_start_angle +_lv_arc_set_end_angle +_lv_arc_set_angles +_lv_arc_set_bg_start_angle +_lv_arc_set_bg_end_angle +_lv_arc_set_bg_angles +_lv_arc_set_rotation +_lv_arc_set_mode +_lv_arc_set_range +_lv_arc_set_change_rate +_lv_arc_set_knob_offset +_lv_arc_get_angle_start +_lv_arc_get_angle_end +_lv_arc_get_bg_angle_start +_lv_arc_get_bg_angle_end +_lv_arc_get_value +_lv_arc_get_min_value +_lv_arc_get_max_value +_lv_arc_get_mode +_lv_arc_get_rotation +_lv_arc_get_knob_offset +_lv_arc_align_obj_to_angle +_lv_arc_rotate_obj_to_angle +_lv_bar_create +_lv_bar_set_value +_lv_bar_set_start_value +_lv_bar_set_range +_lv_bar_get_mode +_lv_bar_set_mode +_lv_bar_get_value +_lv_bar_get_start_value +_lv_bar_get_min_value +_lv_bar_get_max_value +_lv_bar_is_symmetrical +_lv_button_create +_lv_buttonmatrix_set_map +_lv_buttonmatrix_create +_lv_buttonmatrix_set_ctrl_map +_lv_buttonmatrix_set_selected_button +_lv_buttonmatrix_set_button_ctrl +_lv_buttonmatrix_clear_button_ctrl_all +_lv_buttonmatrix_clear_button_ctrl +_lv_buttonmatrix_set_button_ctrl_all +_lv_buttonmatrix_set_button_width +_lv_buttonmatrix_set_one_checked +_lv_buttonmatrix_get_map +_lv_buttonmatrix_get_selected_button +_lv_buttonmatrix_get_button_text +_lv_buttonmatrix_has_button_ctrl +_lv_buttonmatrix_get_one_checked +_lv_calendar_set_showed_date +_lv_calendar_create +_lv_calendar_set_day_names +_lv_calendar_set_today_date +_lv_calendar_set_highlighted_dates +_lv_calendar_get_btnmatrix +_lv_calendar_get_today_date +_lv_calendar_get_showed_date +_lv_calendar_get_highlighted_dates +_lv_calendar_get_highlighted_dates_num +_lv_calendar_get_pressed_date +_lv_calendar_header_arrow_create +_lv_calendar_header_dropdown_create +_lv_calendar_header_dropdown_set_year_list +_lv_canvas_create +_lv_canvas_set_buffer +_lv_canvas_set_draw_buf +_lv_canvas_set_px +_lv_canvas_set_palette +_lv_canvas_get_draw_buf +_lv_canvas_get_px +_lv_canvas_get_image +_lv_canvas_get_buf +_lv_canvas_copy_buf +_lv_canvas_fill_bg +_lv_canvas_init_layer +_lv_canvas_finish_layer +_lv_chart_get_point_pos_by_id +_lv_chart_create +_lv_chart_set_type +_lv_chart_refresh +_lv_chart_set_point_count +_lv_chart_set_range +_lv_chart_set_update_mode +_lv_chart_set_div_line_count +_lv_chart_get_type +_lv_chart_get_point_count +_lv_chart_get_x_start_point +_lv_chart_add_series +_lv_chart_remove_series +_lv_chart_hide_series +_lv_chart_set_series_color +_lv_chart_set_x_start_point +_lv_chart_get_series_next +_lv_chart_add_cursor +_lv_chart_set_cursor_pos +_lv_chart_set_cursor_point +_lv_chart_get_cursor_point +_lv_chart_set_all_value +_lv_chart_set_next_value +_lv_chart_set_next_value2 +_lv_chart_set_value_by_id +_lv_chart_set_value_by_id2 +_lv_chart_set_ext_y_array +_lv_chart_set_ext_x_array +_lv_chart_get_y_array +_lv_chart_get_x_array +_lv_chart_get_pressed_point +_lv_chart_get_first_point_center_offset +_lv_checkbox_create +_lv_checkbox_set_text +_lv_checkbox_set_text_static +_lv_checkbox_get_text +_lv_dropdown_set_options_static +_lv_dropdown_open +_lv_dropdown_close +_lv_dropdown_create +_lv_dropdown_set_text +_lv_dropdown_set_options +_lv_dropdown_add_option +_lv_dropdown_clear_options +_lv_dropdown_set_selected +_lv_dropdown_set_dir +_lv_dropdown_set_symbol +_lv_dropdown_set_selected_highlight +_lv_dropdown_get_list +_lv_dropdown_get_text +_lv_dropdown_get_options +_lv_dropdown_get_selected +_lv_dropdown_get_option_count +_lv_dropdown_get_selected_str +_lv_dropdown_get_option_index +_lv_dropdown_get_symbol +_lv_dropdown_get_selected_highlight +_lv_dropdown_get_dir +_lv_dropdown_is_open +_lv_image_set_src +_lv_image_get_pivot +_lv_image_create +_lv_image_set_rotation +_lv_image_set_pivot +_lv_image_set_offset_x +_lv_image_set_offset_y +_lv_image_set_scale +_lv_image_set_scale_x +_lv_image_set_scale_y +_lv_image_set_blend_mode +_lv_image_set_antialias +_lv_image_set_inner_align +_lv_image_set_bitmap_map_src +_lv_image_get_src +_lv_image_get_offset_x +_lv_image_get_offset_y +_lv_image_get_rotation +_lv_image_get_scale +_lv_image_get_scale_x +_lv_image_get_scale_y +_lv_image_get_blend_mode +_lv_image_get_antialias +_lv_image_get_inner_align +_lv_image_get_bitmap_map_src +_lv_imagebutton_create +_lv_imagebutton_set_src +_lv_imagebutton_set_state +_lv_imagebutton_get_src_left +_lv_imagebutton_get_src_middle +_lv_imagebutton_get_src_right +_lv_keyboard_def_event_cb +_lv_keyboard_create +_lv_keyboard_set_textarea +_lv_keyboard_set_mode +_lv_keyboard_set_popovers +_lv_keyboard_set_map +_lv_keyboard_get_textarea +_lv_keyboard_get_mode +_lv_buttonmatrix_get_popovers +_lv_label_set_text +_lv_label_create +_lv_label_get_letter_on +_lv_label_set_text_fmt +_lv_label_set_text_static +_lv_label_set_long_mode +_lv_label_set_text_selection_start +_lv_label_set_text_selection_end +_lv_label_get_text +_lv_label_get_long_mode +_lv_label_get_letter_pos +_lv_label_is_char_under_pos +_lv_label_get_text_selection_start +_lv_label_get_text_selection_end +_lv_label_ins_text +_lv_label_cut_text +_lv_led_create +_lv_led_set_color +_lv_led_set_brightness +_lv_led_on +_lv_led_off +_lv_led_toggle +_lv_led_get_brightness +_lv_line_create +_lv_line_set_points +_lv_line_set_y_invert +_lv_line_get_y_invert +_lv_list_create +_lv_list_add_text +_lv_list_add_button +_lv_list_get_button_text +_lv_list_set_button_text +_lv_menu_create +_lv_menu_page_create +_lv_menu_set_page_title +_lv_menu_cont_create +_lv_menu_section_create +_lv_menu_separator_create +_lv_menu_set_page +_lv_menu_clear_history +_lv_menu_set_sidebar_page +_lv_menu_set_mode_header +_lv_menu_set_mode_root_back_button +_lv_menu_set_load_page_event +_lv_menu_set_page_title_static +_lv_menu_get_cur_main_page +_lv_menu_get_cur_sidebar_page +_lv_menu_get_main_header +_lv_menu_get_main_header_back_button +_lv_menu_get_sidebar_header +_lv_menu_get_sidebar_header_back_button +_lv_menu_back_button_is_root +_lv_msgbox_create +_lv_msgbox_add_title +_lv_msgbox_add_header_button +_lv_msgbox_add_text +_lv_msgbox_add_footer_button +_lv_msgbox_add_close_button +_lv_msgbox_get_header +_lv_msgbox_get_footer +_lv_msgbox_get_content +_lv_msgbox_get_title +_lv_msgbox_close +_lv_msgbox_close_async +_lv_roller_set_options +_lv_roller_set_selected +_lv_roller_create +_lv_roller_set_visible_row_count +_lv_roller_get_selected +_lv_roller_get_selected_str +_lv_roller_get_options +_lv_roller_get_option_count +_lv_scale_create +_lv_scale_set_mode +_lv_scale_set_total_tick_count +_lv_scale_set_major_tick_every +_lv_scale_set_label_show +_lv_scale_set_range +_lv_scale_set_angle_range +_lv_scale_set_rotation +_lv_scale_set_line_needle_value +_lv_scale_set_image_needle_value +_lv_scale_set_text_src +_lv_scale_set_post_draw +_lv_scale_add_section +_lv_scale_section_set_range +_lv_scale_section_set_style +_lv_scale_get_mode +_lv_scale_get_total_tick_count +_lv_scale_get_major_tick_every +_lv_scale_get_label_show +_lv_scale_get_angle_range +_lv_scale_get_range_min_value +_lv_scale_get_range_max_value +_lv_slider_create +_lv_slider_is_dragged +_lv_spangroup_get_expand_width +_lv_spangroup_get_max_line_height +_lv_spangroup_get_expand_height +_lv_span_stack_init +_lv_span_stack_deinit +_lv_spangroup_create +_lv_spangroup_new_span +_lv_spangroup_delete_span +_lv_span_set_text +_lv_span_set_text_static +_lv_spangroup_set_align +_lv_spangroup_set_overflow +_lv_spangroup_set_indent +_lv_spangroup_set_mode +_lv_spangroup_refr_mode +_lv_spangroup_set_max_lines +_lv_spangroup_get_child +_lv_spangroup_get_span_count +_lv_spangroup_get_align +_lv_spangroup_get_overflow +_lv_spangroup_get_indent +_lv_spangroup_get_mode +_lv_spangroup_get_max_lines +_lv_spinbox_step_prev +_lv_spinbox_increment +_lv_spinbox_decrement +_lv_spinbox_create +_lv_spinbox_set_value +_lv_spinbox_set_rollover +_lv_spinbox_set_digit_format +_lv_spinbox_set_step +_lv_spinbox_set_range +_lv_spinbox_set_cursor_pos +_lv_spinbox_set_digit_step_direction +_lv_spinbox_get_value +_lv_spinbox_get_step +_lv_spinbox_step_next +_lv_spinbox_get_rollover +_lv_spinner_create +_lv_spinner_set_anim_params +_lv_switch_create +_lv_table_create +_lv_table_set_cell_value +_lv_table_set_column_count +_lv_table_set_row_count +_lv_table_set_cell_value_fmt +_lv_table_set_column_width +_lv_table_add_cell_ctrl +_lv_table_clear_cell_ctrl +_lv_table_set_cell_user_data +_lv_table_get_cell_value +_lv_table_get_row_count +_lv_table_get_column_count +_lv_table_get_column_width +_lv_table_has_cell_ctrl +_lv_table_get_selected_cell +_lv_table_get_cell_user_data +_lv_tabview_set_tab_bar_position +_lv_tabview_set_active +_lv_tabview_create +_lv_tabview_add_tab +_lv_tabview_get_content +_lv_tabview_get_tab_bar +_lv_tabview_rename_tab +_lv_tabview_get_tab_count +_lv_tabview_set_tab_bar_size +_lv_tabview_get_tab_active +_lv_textarea_set_cursor_pos +_lv_textarea_cursor_up +_lv_textarea_cursor_down +_lv_textarea_delete_char +_lv_textarea_add_char +_lv_textarea_delete_char_forward +_lv_textarea_create +_lv_textarea_add_text +_lv_textarea_clear_selection +_lv_textarea_get_cursor_pos +_lv_textarea_get_accepted_chars +_lv_textarea_get_max_length +_lv_textarea_set_text +_lv_textarea_set_placeholder_text +_lv_textarea_set_cursor_click_pos +_lv_textarea_set_password_mode +_lv_textarea_set_password_bullet +_lv_textarea_set_one_line +_lv_textarea_set_accepted_chars +_lv_textarea_set_max_length +_lv_textarea_set_insert_replace +_lv_textarea_set_text_selection +_lv_textarea_set_password_show_time +_lv_textarea_set_align +_lv_textarea_get_label +_lv_textarea_get_text +_lv_textarea_get_placeholder_text +_lv_textarea_get_cursor_click_pos +_lv_textarea_get_password_mode +_lv_textarea_get_password_bullet +_lv_textarea_get_one_line +_lv_textarea_text_is_selected +_lv_textarea_get_text_selection +_lv_textarea_get_password_show_time +_lv_textarea_get_current_char +_lv_textarea_cursor_right +_lv_textarea_cursor_left +_lv_tileview_create +_lv_tileview_add_tile +_lv_tileview_set_tile +_lv_tileview_set_tile_by_index +_lv_tileview_get_tile_active +_lv_win_create +_lv_win_add_title +_lv_win_get_header +_lv_win_add_button +_lv_win_get_content diff --git a/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/gen-exported-functions.sh b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/gen-exported-functions.sh new file mode 100644 index 00000000..ebbc9750 --- /dev/null +++ b/packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/gen-exported-functions.sh @@ -0,0 +1,5 @@ +#!/bin/bash +OUT="../exported-functions.txt" +~/emsdk/upstream/bin/llvm-objdump -t ./lib/liblvgl.a | grep "g F CODE lv_" | cut -c 23- | sed 's/^/_/' > $OUT +sed -i '1s/^/_malloc \n/' $OUT +sed -i '1s/^/_free \n/' $OUT diff --git a/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.js b/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.js index a8571131..d16bdcaa 100644 --- a/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.js +++ b/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.js @@ -969,20 +969,20 @@ function dbg(text) { // === Body === var ASM_CONSTS = { - 1036552: ($0) => { startToDebuggerMessage($0); }, - 1036584: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, - 1036659: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, - 1036734: ($0) => { finishToDebuggerMessage($0); }, - 1036767: ($0, $1) => { return getLvglImageByName($0, UTF8ToString($1)); }, - 1036820: ($0, $1, $2) => { lvglObjAddStyle($0, $1, $2); }, - 1036853: ($0, $1, $2) => { lvglObjRemoveStyle($0, $1, $2); }, - 1036889: ($0, $1, $2, $3, $4, $5) => { return eez_mqtt_init($0, UTF8ToString($1), UTF8ToString($2), $3, UTF8ToString($4), UTF8ToString($5)); }, - 1036995: ($0, $1) => { return eez_mqtt_deinit($0, $1); }, - 1037031: ($0, $1) => { return eez_mqtt_connect($0, $1); }, - 1037068: ($0, $1) => { return eez_mqtt_disconnect($0, $1); }, - 1037108: ($0, $1, $2) => { return eez_mqtt_subscribe($0, $1, UTF8ToString($2)); }, - 1037165: ($0, $1, $2) => { return eez_mqtt_unsubscribe($0, $1, UTF8ToString($2)); }, - 1037224: ($0, $1, $2, $3) => { return eez_mqtt_publish($0, $1, UTF8ToString($2), UTF8ToString($3)); } + 1036456: ($0) => { startToDebuggerMessage($0); }, + 1036488: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, + 1036563: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, + 1036638: ($0) => { finishToDebuggerMessage($0); }, + 1036671: ($0, $1) => { return getLvglImageByName($0, UTF8ToString($1)); }, + 1036724: ($0, $1, $2) => { lvglObjAddStyle($0, $1, $2); }, + 1036757: ($0, $1, $2) => { lvglObjRemoveStyle($0, $1, $2); }, + 1036793: ($0, $1, $2, $3, $4, $5) => { return eez_mqtt_init($0, UTF8ToString($1), UTF8ToString($2), $3, UTF8ToString($4), UTF8ToString($5)); }, + 1036899: ($0, $1) => { return eez_mqtt_deinit($0, $1); }, + 1036935: ($0, $1) => { return eez_mqtt_connect($0, $1); }, + 1036972: ($0, $1) => { return eez_mqtt_disconnect($0, $1); }, + 1037012: ($0, $1, $2) => { return eez_mqtt_subscribe($0, $1, UTF8ToString($2)); }, + 1037069: ($0, $1, $2) => { return eez_mqtt_unsubscribe($0, $1, UTF8ToString($2)); }, + 1037128: ($0, $1, $2, $3) => { return eez_mqtt_publish($0, $1, UTF8ToString($2), UTF8ToString($3)); } }; diff --git a/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm b/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm index 5f37d99f..c29a520f 100644 Binary files a/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm and b/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm differ diff --git a/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.js b/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.js index d7fc0de3..98dfcdc0 100644 --- a/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.js +++ b/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.js @@ -969,20 +969,20 @@ function dbg(text) { // === Body === var ASM_CONSTS = { - 1031416: ($0) => { startToDebuggerMessage($0); }, - 1031448: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, - 1031523: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, - 1031598: ($0) => { finishToDebuggerMessage($0); }, - 1031631: ($0, $1) => { return getLvglImageByName($0, UTF8ToString($1)); }, - 1031684: ($0, $1, $2) => { lvglObjAddStyle($0, $1, $2); }, - 1031717: ($0, $1, $2) => { lvglObjRemoveStyle($0, $1, $2); }, - 1031753: ($0, $1, $2, $3, $4, $5) => { return eez_mqtt_init($0, UTF8ToString($1), UTF8ToString($2), $3, UTF8ToString($4), UTF8ToString($5)); }, - 1031859: ($0, $1) => { return eez_mqtt_deinit($0, $1); }, - 1031895: ($0, $1) => { return eez_mqtt_connect($0, $1); }, - 1031932: ($0, $1) => { return eez_mqtt_disconnect($0, $1); }, - 1031972: ($0, $1, $2) => { return eez_mqtt_subscribe($0, $1, UTF8ToString($2)); }, - 1032029: ($0, $1, $2) => { return eez_mqtt_unsubscribe($0, $1, UTF8ToString($2)); }, - 1032088: ($0, $1, $2, $3) => { return eez_mqtt_publish($0, $1, UTF8ToString($2), UTF8ToString($3)); } + 1031320: ($0) => { startToDebuggerMessage($0); }, + 1031352: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, + 1031427: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, + 1031502: ($0) => { finishToDebuggerMessage($0); }, + 1031535: ($0, $1) => { return getLvglImageByName($0, UTF8ToString($1)); }, + 1031588: ($0, $1, $2) => { lvglObjAddStyle($0, $1, $2); }, + 1031621: ($0, $1, $2) => { lvglObjRemoveStyle($0, $1, $2); }, + 1031657: ($0, $1, $2, $3, $4, $5) => { return eez_mqtt_init($0, UTF8ToString($1), UTF8ToString($2), $3, UTF8ToString($4), UTF8ToString($5)); }, + 1031763: ($0, $1) => { return eez_mqtt_deinit($0, $1); }, + 1031799: ($0, $1) => { return eez_mqtt_connect($0, $1); }, + 1031836: ($0, $1) => { return eez_mqtt_disconnect($0, $1); }, + 1031876: ($0, $1, $2) => { return eez_mqtt_subscribe($0, $1, UTF8ToString($2)); }, + 1031933: ($0, $1, $2) => { return eez_mqtt_unsubscribe($0, $1, UTF8ToString($2)); }, + 1031992: ($0, $1, $2, $3) => { return eez_mqtt_publish($0, $1, UTF8ToString($2), UTF8ToString($3)); } }; diff --git a/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm b/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm index 7fad0fbb..7796f883 100644 Binary files a/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm and b/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm differ diff --git a/tools/lvgl-api/api.ts b/tools/lvgl-api/api.ts index 664e38e8..09411bab 100644 --- a/tools/lvgl-api/api.ts +++ b/tools/lvgl-api/api.ts @@ -65,6 +65,7 @@ export interface PrimitiveType { json_type: "primitive_type"; name: string; + quals?: "const"[]; } export interface Enum { diff --git a/tools/lvgl-api/build/api.js b/tools/lvgl-api/build/api.js deleted file mode 100644 index c8ad2e54..00000000 --- a/tools/lvgl-api/build/api.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tools/lvgl-api/build/api_quick.js b/tools/lvgl-api/build/api_quick.js deleted file mode 100644 index c8ad2e54..00000000 --- a/tools/lvgl-api/build/api_quick.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tools/lvgl-api/build/build.js b/tools/lvgl-api/build/build.js deleted file mode 100644 index 2defbba5..00000000 --- a/tools/lvgl-api/build/build.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Build = void 0; -const TAB = " "; -class Build { - startBuild() { - this.result = ""; - this.indentation = ""; - } - indent() { - this.indentation += TAB; - } - unindent() { - this.indentation = this.indentation.substring(0, this.indentation.length - TAB.length); - } - line(line) { - this.result += this.indentation + line + "\n"; - } - text(text) { - this.result += text; - } -} -exports.Build = Build; diff --git a/tools/lvgl-api/build/index.js b/tools/lvgl-api/build/index.js deleted file mode 100644 index 578da880..00000000 --- a/tools/lvgl-api/build/index.js +++ /dev/null @@ -1,132 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const fs_1 = __importDefault(require("fs")); -const build_1 = require("./build"); -const ARG_NAME_PLACHOLDER = "$$$_NAME_$$$"; -function getType(type) { - if (type.json_type === "array") { - return `${type.type ? getType(type.type) : type.name}${ARG_NAME_PLACHOLDER}[${type.dim ? type.dim : ""}]`; - } - else if (type.json_type === "forward_decl") { - return getType(type.type) + " " + type.name; - } - else if (type.json_type === "function_pointer") { - return `${getReturn(type.type)} (*${ARG_NAME_PLACHOLDER})(${type.args - .map((arg) => getArg(arg)) - .join(", ")})`; - } - else if (type.json_type === "pointer") { - return `${getType(type.type)} *`; - } - else if (type.json_type === "primitive_type" || - type.json_type === "lvgl_type" || - type.json_type === "stdlib_type" || - type.json_type === "unknown_type") { - return type.name; - } - else if (type.json_type === "special_type") { - return ""; - } - else { - throw new Error(`Unknown type: ${type.json_type}`); - } - return type.json_type + "{}"; -} -function getReturn(retType) { - const type = getType(retType.type); - if (type.indexOf(ARG_NAME_PLACHOLDER) !== -1) { - return type.replace(ARG_NAME_PLACHOLDER, ""); - } - return type; -} -function getArg(arg) { - const type = getType(arg.type); - const argName = arg.name != null ? " " + arg.name : ""; - if (type.indexOf(ARG_NAME_PLACHOLDER) !== -1) { - return type.replace(ARG_NAME_PLACHOLDER, argName); - } - return type + argName; -} -function buildFunction(build, func) { - if (func.docstring) { - build.line(`/*`); - build.text(func.docstring); - build.line(""); - build.line(`*/`); - } - build.line(`${getReturn(func.type)} ${"stub_" + func.name}(${func.args - .map((arg) => getArg(arg)) - .join(", ")}) {`); - build.indent(); - build.line(`${func.type.type.json_type == "primitive_type" && - func.type.type.name == "void" - ? "" - : "return "}${func.name}(${func.args - .filter(arg => arg.name != null) - .map(arg => arg.name) - .join(",")});`); - build.unindent(); - build.line(`}`); - build.line(""); -} -(function main() { - return __awaiter(this, void 0, void 0, function* () { - const apiStr = yield fs_1.default.promises.readFile("lvgl-8.json", "utf-8"); - const api = JSON.parse(apiStr); - const build = new build_1.Build(); - build.startBuild(); - build.line("#include "); - build.line(""); - let skipped = 0; - let processed = 0; - for (const func of api.functions) { - if (func.name == "lv_calloc" || - func.name == "lv_zalloc" || - func.name == "lv_snprintf" || - func.name == "lv_log" || - func.name == "lv_log_add" || - func.name == "lv_sqr" || - func.name == "lv_sqrt32" || - func.name == "lv_array_shrink" || - func.name.startsWith("lv_bidi") || - func.name.startsWith("lv_font") || - func.name.startsWith("lv_image_cache") || - func.name.startsWith("lv_image_header") || - func.name.startsWith("lv_cache") || - func.name.startsWith("lv_lock") || - func.name.startsWith("lv_unlock") || - func.name.startsWith("lv_thread_") || - func.name.startsWith("lv_iter_") || - func.name.startsWith("lv_anim_") || - func.name.startsWith("lv_draw_buf") || - func.name.startsWith("lv_draw_task") || - func.name.startsWith("lv_color") || - func.name.startsWith("lv_utils") || - func.name.startsWith("lv_str") || - (func.name.startsWith("lv_mem") && - !func.name.startsWith("lv_mem_")) || - func.name.startsWith("lv_ll_")) { - console.log("Skipping", func.name); - skipped++; - continue; - } - buildFunction(build, func); - processed++; - } - console.log("Skipped", skipped, "functions"); - console.log("Processed", processed, "functions"); - yield fs_1.default.promises.writeFile("../../packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/stub_api.c", build.result); - }); -})(); diff --git a/tools/lvgl-api/index.ts b/tools/lvgl-api/index.ts index 1686672c..7f55e737 100644 --- a/tools/lvgl-api/index.ts +++ b/tools/lvgl-api/index.ts @@ -4,40 +4,73 @@ import { Build } from "./build"; import type { LvglAPI, Type, RetType, Arg, Function } from "./api"; +const VERSION = "8.3"; + const ARG_NAME_PLACHOLDER = "$$$_NAME_$$$"; function getType(type: Type): string { - if (type.json_type === "array") { - return `${ - type.type ? getType(type.type) : type.name - }${ARG_NAME_PLACHOLDER}[${type.dim ? type.dim : ""}]`; - } else if (type.json_type === "forward_decl") { - return getType(type.type) + " " + type.name; - } else if (type.json_type === "function_pointer") { - return `${getReturn(type.type)} (*${ARG_NAME_PLACHOLDER})(${type.args - .map((arg: any) => getArg(arg)) - .join(", ")})`; - } else if (type.json_type === "pointer") { - return `${getType(type.type)} *`; - } else if ( - type.json_type === "primitive_type" || - type.json_type === "lvgl_type" || - type.json_type === "stdlib_type" || - type.json_type === "unknown_type" + try { + if (type.json_type === "array") { + return `${ + type.type ? getType(type.type) : type.name + }${ARG_NAME_PLACHOLDER}[${type.dim ? type.dim : ""}]`; + } else if (type.json_type === "forward_decl") { + return getType(type.type) + " " + type.name; + } else if (type.json_type === "function_pointer") { + return `${getReturn( + type.type + )} (*${ARG_NAME_PLACHOLDER})(${type.args + .map((arg: any) => getArg(arg)) + .join(", ")})`; + } else if (type.json_type === "pointer") { + return `${getType(type.type)} *`; + } else if ( + type.json_type === "primitive_type" || + type.json_type === "lvgl_type" || + type.json_type === "stdlib_type" || + type.json_type === "unknown_type" + ) { + return (type.quals?.[0] == "const" ? "const " : "") + type.name; + } else if (type.json_type === "special_type") { + return ""; + } else { + throw new Error(`Unknown type: ${type.json_type}`); + } + + return type.json_type + "{}"; + } catch (e) { + console.error("Error getting type", type); + throw e; + } +} + +const types = new Set(); + +function addType(type: string) { + if (type.startsWith("const")) { + type = type.slice(6); + } + if (type.startsWith("void") || type.startsWith("bool")) { + return; + } + if ( + type.startsWith("int") || + type.startsWith("uint") || + type.startsWith("char") || + type.startsWith("size_t") || + type.startsWith("va_list") ) { - return type.name; - } else if (type.json_type === "special_type") { - return ""; - } else { - throw new Error(`Unknown type: ${type.json_type}`); + return; } - return type.json_type + "{}"; + types.add(type); } function getReturn(retType: RetType): string { const type = getType(retType.type); + addType(type.replace(ARG_NAME_PLACHOLDER, "")); + if (type.indexOf(ARG_NAME_PLACHOLDER) !== -1) { return type.replace(ARG_NAME_PLACHOLDER, ""); } @@ -48,6 +81,8 @@ function getReturn(retType: RetType): string { function getArg(arg: Arg): string { const type = getType(arg.type); + addType(type.replace(ARG_NAME_PLACHOLDER, "")); + const argName = arg.name != null ? " " + arg.name : ""; if (type.indexOf(ARG_NAME_PLACHOLDER) !== -1) { @@ -91,6 +126,16 @@ function buildFunction(build: Build, func: Function) { } (async function main() { + const exportedFunctions = ( + await fs.promises.readFile( + `../../packages/project-editor/flow/runtime/cpp/lvgl-runtime/v${VERSION}/exported-functions.txt`, + "utf-8" + ) + ) + .split("\n") + .filter(line => line.startsWith("_lv")) + .map(line => line.slice(1)); + const apiStr = await fs.promises.readFile("lvgl-8.json", "utf-8"); const api: LvglAPI = JSON.parse(apiStr); @@ -106,32 +151,14 @@ function buildFunction(build: Build, func: Function) { for (const func of api.functions) { if ( - func.name == "lv_calloc" || - func.name == "lv_zalloc" || - func.name == "lv_snprintf" || + !exportedFunctions.includes(func.name) || func.name == "lv_log" || - func.name == "lv_log_add" || - func.name == "lv_sqr" || - func.name == "lv_sqrt32" || - func.name == "lv_array_shrink" || - func.name.startsWith("lv_bidi") || - func.name.startsWith("lv_font") || - func.name.startsWith("lv_image_cache") || - func.name.startsWith("lv_image_header") || - func.name.startsWith("lv_cache") || - func.name.startsWith("lv_lock") || - func.name.startsWith("lv_unlock") || - func.name.startsWith("lv_thread_") || - func.name.startsWith("lv_iter_") || - func.name.startsWith("lv_anim_") || - func.name.startsWith("lv_draw_buf") || - func.name.startsWith("lv_draw_task") || - func.name.startsWith("lv_color") || - func.name.startsWith("lv_utils") || - func.name.startsWith("lv_str") || - (func.name.startsWith("lv_mem") && - !func.name.startsWith("lv_mem_")) || - func.name.startsWith("lv_ll_") + func.name == "lv_snprintf" || + func.name == "lv_draw_buf_save_to_file" || + func.name == "lv_font_get_glyph_bitmap" || + func.name == "lv_font_get_bitmap_fmt_txt" || + func.name == "lv_label_set_text_fmt" || + func.name == "lv_table_set_cell_value_fmt" ) { console.log("Skipping", func.name); skipped++; @@ -142,11 +169,80 @@ function buildFunction(build: Build, func: Function) { processed++; } + const enumTypes = new Set(); + for (const type of types) { + for (const enumType of api.enums) { + if (type.startsWith(enumType.name)) { + types.delete(type); + enumTypes.add(enumType.name); + } + } + } + + const structTypes = new Set(); + for (const type of types) { + for (const structType of api.structures) { + if (type.startsWith(structType.name)) { + types.delete(type); + structTypes.add(structType.name); + } + } + } + + const functionPointers = new Set(); + for (const type of types) { + for (const functionPointer of api.function_pointers) { + if (type.startsWith(functionPointer.name)) { + types.delete(type); + functionPointers.add(functionPointer.name); + } + } + } + + const forwardDecls = new Set(); + for (const type of types) { + for (const forwardDecl of api.forward_decls) { + if (type.startsWith(forwardDecl.name)) { + types.delete(type); + forwardDecls.add(forwardDecl.name); + } + } + } + + const unionTypes = new Set(); + for (const type of types) { + for (const unionType of api.unions) { + if (type.startsWith(unionType.name)) { + types.delete(type); + unionTypes.add(unionType.name); + } + } + } + + const typedefs = new Set(); + for (const type of types) { + for (const typdef of api.typedefs) { + if (type.startsWith(typdef.name)) { + types.delete(type); + typedefs.add(typdef.name); + } + } + } + + console.log("Enum Types", [...enumTypes.keys()].join(", ")); + console.log("Struct Types", [...structTypes.keys()].join(", ")); + console.log("Function pointers", [...functionPointers.keys()].join(", ")); + console.log("Forward decls", [...forwardDecls.keys()].join(", ")); + console.log("Union types", [...unionTypes.keys()].join(", ")); + console.log("Typedefs", [...typedefs.keys()].join(", ")); + + console.log("Types", [...types.keys()].join(", ")); + console.log("Skipped", skipped, "functions"); console.log("Processed", processed, "functions"); await fs.promises.writeFile( - "../../packages/project-editor/flow/runtime/cpp/lvgl-runtime/v9.0/stub_api.c", + `../../packages/project-editor/flow/runtime/cpp/lvgl-runtime/v${VERSION}/stub_api.c`, build.result ); })();