diff --git a/packages/project-editor/flow/editor/editor.tsx b/packages/project-editor/flow/editor/editor.tsx index 5e4ae9292..830fe01ee 100644 --- a/packages/project-editor/flow/editor/editor.tsx +++ b/packages/project-editor/flow/editor/editor.tsx @@ -139,8 +139,8 @@ const CenterLines = observer( const transform = flowContext.viewState.transform; const CENTER_LINES_COLOR = settingsController.isDarkTheme - ? "#444" - : "#eee"; + ? "#666" + : "#ddd"; const CENTER_LINES_WIDTH = 1 / transform.scale; const centerLineStyle = { 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 6116bbc14..fddf5f2dd 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 885590fce..e8bea198e 100644 --- a/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.js +++ b/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.js @@ -969,25 +969,25 @@ function dbg(text) { // === Body === var ASM_CONSTS = { - 1029552: ($0) => { startToDebuggerMessage($0); }, - 1029584: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, - 1029659: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, - 1029734: ($0) => { finishToDebuggerMessage($0); }, - 1029767: ($0, $1) => { return getLvglScreenByName($0, UTF8ToString($1)); }, - 1029821: ($0, $1) => { return getLvglObjectByName($0, UTF8ToString($1)); }, - 1029875: ($0, $1) => { return getLvglGroupByName($0, UTF8ToString($1)); }, - 1029928: ($0, $1) => { return getLvglStyleByName($0, UTF8ToString($1)); }, - 1029981: ($0, $1) => { return getLvglImageByName($0, UTF8ToString($1)); }, - 1030034: ($0, $1, $2) => { lvglObjAddStyle($0, $1, $2); }, - 1030067: ($0, $1, $2) => { lvglObjRemoveStyle($0, $1, $2); }, - 1030103: ($0, $1) => { lvglSetColorTheme($0, UTF8ToString($1)); }, - 1030148: ($0, $1, $2, $3, $4, $5) => { return eez_mqtt_init($0, UTF8ToString($1), UTF8ToString($2), $3, UTF8ToString($4), UTF8ToString($5)); }, - 1030254: ($0, $1) => { return eez_mqtt_deinit($0, $1); }, - 1030290: ($0, $1) => { return eez_mqtt_connect($0, $1); }, - 1030327: ($0, $1) => { return eez_mqtt_disconnect($0, $1); }, - 1030367: ($0, $1, $2) => { return eez_mqtt_subscribe($0, $1, UTF8ToString($2)); }, - 1030424: ($0, $1, $2) => { return eez_mqtt_unsubscribe($0, $1, UTF8ToString($2)); }, - 1030483: ($0, $1, $2, $3) => { return eez_mqtt_publish($0, $1, UTF8ToString($2), UTF8ToString($3)); } + 1031824: ($0) => { startToDebuggerMessage($0); }, + 1031856: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, + 1031931: ($0, $1, $2) => { writeDebuggerBuffer($0, new Uint8Array(Module.HEAPU8.buffer, $1, $2)); }, + 1032006: ($0) => { finishToDebuggerMessage($0); }, + 1032039: ($0, $1) => { return getLvglScreenByName($0, UTF8ToString($1)); }, + 1032093: ($0, $1) => { return getLvglObjectByName($0, UTF8ToString($1)); }, + 1032147: ($0, $1) => { return getLvglGroupByName($0, UTF8ToString($1)); }, + 1032200: ($0, $1) => { return getLvglStyleByName($0, UTF8ToString($1)); }, + 1032253: ($0, $1) => { return getLvglImageByName($0, UTF8ToString($1)); }, + 1032306: ($0, $1, $2) => { lvglObjAddStyle($0, $1, $2); }, + 1032339: ($0, $1, $2) => { lvglObjRemoveStyle($0, $1, $2); }, + 1032375: ($0, $1) => { lvglSetColorTheme($0, UTF8ToString($1)); }, + 1032420: ($0, $1, $2, $3, $4, $5) => { return eez_mqtt_init($0, UTF8ToString($1), UTF8ToString($2), $3, UTF8ToString($4), UTF8ToString($5)); }, + 1032526: ($0, $1) => { return eez_mqtt_deinit($0, $1); }, + 1032562: ($0, $1) => { return eez_mqtt_connect($0, $1); }, + 1032599: ($0, $1) => { return eez_mqtt_disconnect($0, $1); }, + 1032639: ($0, $1, $2) => { return eez_mqtt_subscribe($0, $1, UTF8ToString($2)); }, + 1032696: ($0, $1, $2) => { return eez_mqtt_unsubscribe($0, $1, UTF8ToString($2)); }, + 1032755: ($0, $1, $2, $3) => { return eez_mqtt_publish($0, $1, UTF8ToString($2), UTF8ToString($3)); } }; @@ -4854,9 +4854,9 @@ var _lvglScrollTo = Module['_lvglScrollTo'] = createExportWrapper('lvglScrollTo' var _lvglGetScrollX = Module['_lvglGetScrollX'] = createExportWrapper('lvglGetScrollX'); var _lvglGetScrollY = Module['_lvglGetScrollY'] = createExportWrapper('lvglGetScrollY'); var _lvglObjInvalidate = Module['_lvglObjInvalidate'] = createExportWrapper('lvglObjInvalidate'); +var _fflush = Module['_fflush'] = createExportWrapper('fflush'); var _onMqttEvent = Module['_onMqttEvent'] = createExportWrapper('onMqttEvent'); var ___errno_location = createExportWrapper('__errno_location'); -var _fflush = Module['_fflush'] = createExportWrapper('fflush'); var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); 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 982944037..8a2847955 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/packages/project-editor/lvgl/Page.tsx b/packages/project-editor/lvgl/Page.tsx index f3fb47ca1..588cec1eb 100644 --- a/packages/project-editor/lvgl/Page.tsx +++ b/packages/project-editor/lvgl/Page.tsx @@ -78,47 +78,49 @@ export const LVGLPage = observer( } ); -const LVGLPageCanvas = React.forwardRef( - ( - props: { - width: number; - height: number; - flowContext: IFlowContext; - }, - ref: React.Ref - ) => { - const style: React.CSSProperties = { - imageRendering: - props.flowContext.viewState.transform.scale > 2 - ? "pixelated" - : "auto" - }; +const LVGLPageCanvas = observer( + React.forwardRef( + ( + props: { + width: number; + height: number; + flowContext: IFlowContext; + }, + ref: React.Ref + ) => { + const style: React.CSSProperties = { + imageRendering: + props.flowContext.viewState.transform.scale > 2 + ? "pixelated" + : "auto" + }; - if ( - props.flowContext.projectStore.project.settings.general - .circularDisplay || - props.flowContext.projectStore.project.settings.general - .displayBorderRadius != 0 - ) { - style.borderRadius = props.flowContext.projectStore.project.settings - .general.circularDisplay - ? Math.min(props.width, props.height) - : props.flowContext.projectStore.project.settings.general - .displayBorderRadius; + if ( + props.flowContext.projectStore.project.settings.general + .circularDisplay || + props.flowContext.projectStore.project.settings.general + .displayBorderRadius != 0 + ) { + style.borderRadius = props.flowContext.projectStore.project + .settings.general.circularDisplay + ? Math.min(props.width, props.height) + : props.flowContext.projectStore.project.settings.general + .displayBorderRadius; - style.border = `1px solid ${ - settingsController.isDarkTheme ? "#444" : "#eee" - }`; - style.transform = "translate(-1px, -1px)"; - } + style.border = `1px solid ${ + settingsController.isDarkTheme ? "#444" : "#eee" + }`; + style.transform = "translate(-1px, -1px)"; + } - return ( - - ); - } + return ( + + ); + } + ) ); diff --git a/packages/project-editor/lvgl/lvgl-versions.ts b/packages/project-editor/lvgl/lvgl-versions.ts index 2cf8c10b9..de72b63ee 100644 --- a/packages/project-editor/lvgl/lvgl-versions.ts +++ b/packages/project-editor/lvgl/lvgl-versions.ts @@ -37,11 +37,56 @@ import { settingsController } from "home/settings"; //////////////////////////////////////////////////////////////////////////////// +const V8_LV_COORD_TYPE_SHIFT = 13; +const V8_LV_COORD_TYPE_SPEC = 1 << V8_LV_COORD_TYPE_SHIFT; +function V8_LV_COORD_SET_SPEC(x: number) { + return x | V8_LV_COORD_TYPE_SPEC; +} + +const V8_LV_COORD_MAX = (1 << V8_LV_COORD_TYPE_SHIFT) - 1; + +function V8_LV_PCT(x: number) { + return x < 0 ? V8_LV_COORD_SET_SPEC(1000 - x) : V8_LV_COORD_SET_SPEC(x); +} + +const V8_LV_SIZE_CONTENT = V8_LV_COORD_SET_SPEC(2001); + +//////////////////////////////////////////////////////////////////////////////// + +const V9_LV_COORD_TYPE_SHIFT = 29; +const V9_LV_COORD_TYPE_SPEC = 1 << V9_LV_COORD_TYPE_SHIFT; + +function V9_LV_COORD_SET_SPEC(x: number) { + return x | V9_LV_COORD_TYPE_SPEC; +} + +const V9_LV_COORD_MAX = (1 << V9_LV_COORD_TYPE_SHIFT) - 1; + +const V9_LV_PCT_STORED_MAX = V9_LV_COORD_MAX - 1; + +const V9_LV_PCT_POS_MAX = V9_LV_PCT_STORED_MAX / 2; + +function V9_LV_PCT(x: number) { + return V9_LV_COORD_SET_SPEC( + x < 0 + ? V9_LV_PCT_POS_MAX - Math.max(x, -V9_LV_PCT_POS_MAX) + : Math.min(x, V9_LV_PCT_POS_MAX) + ); +} + +const V9_LV_SIZE_CONTENT = V9_LV_COORD_SET_SPEC(V9_LV_COORD_MAX); + +//////////////////////////////////////////////////////////////////////////////// + const versions = { "8.3": { wasmFlowRuntime: "project-editor/flow/runtime/lvgl_runtime_v8.3.js", - _LV_COORD_TYPE_SHIFT: 13, + LV_COORD: { + LV_COORD_MAX: V8_LV_COORD_MAX, + LV_SIZE_CONTENT: V8_LV_SIZE_CONTENT, + LV_PCT: V8_LV_PCT + }, bitmapColorFormats: [ { id: CF_ALPHA_1_BIT, label: "ALPHA 1 BIT" }, @@ -197,7 +242,11 @@ const versions = { "9.0": { wasmFlowRuntime: "project-editor/flow/runtime/lvgl_runtime_v9.0.js", - _LV_COORD_TYPE_SHIFT: 29, + LV_COORD: { + LV_COORD_MAX: V9_LV_COORD_MAX, + LV_SIZE_CONTENT: V9_LV_SIZE_CONTENT, + LV_PCT: V9_LV_PCT + }, bitmapColorFormats: [ { id: CF_L8, label: "L8" }, @@ -488,8 +537,8 @@ export function getLvglStylePropCode( return code[ProjectEditor.getProject(object).settings.general.lvglVersion]; } -export function getLvglCoordTypeShift(object: IEezObject) { - return getVersionProperty(object, "_LV_COORD_TYPE_SHIFT"); +export function getLvglCoord(object: IEezObject) { + return getVersionProperty(object, "LV_COORD"); } export function getLvglBitmapPtr( diff --git a/packages/project-editor/lvgl/style-definition.tsx b/packages/project-editor/lvgl/style-definition.tsx index 5fcbdb037..69a1435c9 100644 --- a/packages/project-editor/lvgl/style-definition.tsx +++ b/packages/project-editor/lvgl/style-definition.tsx @@ -38,7 +38,7 @@ import { getSelectorBuildCode, getSelectorCode } from "project-editor/lvgl/style-helper"; -import { getLvglCoordTypeShift } from "./lvgl-versions"; +import { getLvglCoord } from "./lvgl-versions"; import { getThemedColor } from "project-editor/features/style/theme"; import { isValid } from "eez-studio-shared/color"; import type { LVGLStyle } from "./style"; @@ -554,10 +554,7 @@ export class LVGLStylesDefinition extends EezObject { ) : value; - const _LV_COORD_TYPE_SHIFT = - getLvglCoordTypeShift(widget); - const LV_COORD_MAX = - (1 << _LV_COORD_TYPE_SHIFT) - 1; + const { LV_COORD_MAX } = getLvglCoord(widget); const LV_GRID_TEMPLATE_LAST = LV_COORD_MAX; arrValue.push(LV_GRID_TEMPLATE_LAST); diff --git a/packages/project-editor/lvgl/style.tsx b/packages/project-editor/lvgl/style.tsx index 19051ac5c..e8ea81c40 100644 --- a/packages/project-editor/lvgl/style.tsx +++ b/packages/project-editor/lvgl/style.tsx @@ -44,7 +44,7 @@ import { text_font_property_info } from "project-editor/lvgl/style-catalog"; import type { LVGLWidget } from "project-editor/lvgl/widgets"; -import { getLvglCoordTypeShift } from "./lvgl-versions"; +import { getLvglCoord } from "./lvgl-versions"; //////////////////////////////////////////////////////////////////////////////// @@ -566,10 +566,7 @@ export class LVGLStyle extends EezObject { ) : value; - const _LV_COORD_TYPE_SHIFT = - getLvglCoordTypeShift(this); - const LV_COORD_MAX = - (1 << _LV_COORD_TYPE_SHIFT) - 1; + const { LV_COORD_MAX } = getLvglCoord(this); const LV_GRID_TEMPLATE_LAST = LV_COORD_MAX; arrValue.push(LV_GRID_TEMPLATE_LAST); diff --git a/packages/project-editor/lvgl/widgets/Base.tsx b/packages/project-editor/lvgl/widgets/Base.tsx index c066a15b2..817682430 100644 --- a/packages/project-editor/lvgl/widgets/Base.tsx +++ b/packages/project-editor/lvgl/widgets/Base.tsx @@ -79,7 +79,7 @@ import { LVGLStyle } from "project-editor/lvgl/style"; import { showGenericDialog } from "eez-studio-ui/generic-dialog"; import { validators } from "eez-studio-shared/validation"; import { - getLvglCoordTypeShift, + getLvglCoord, getLvglEvents, getLvglFlagCodes } from "project-editor/lvgl/lvgl-versions"; @@ -2264,17 +2264,7 @@ export class LVGLWidget extends Widget { return page.rect; } - const _LV_COORD_TYPE_SHIFT = getLvglCoordTypeShift(this); - const _LV_COORD_TYPE_SPEC = 1 << _LV_COORD_TYPE_SHIFT; - function LV_COORD_SET_SPEC(x: number) { - return x | _LV_COORD_TYPE_SPEC; - } - - function LV_PCT(x: number) { - return x < 0 ? LV_COORD_SET_SPEC(1000 - x) : LV_COORD_SET_SPEC(x); - } - - const LV_SIZE_CONTENT = LV_COORD_SET_SPEC(2001); + const { LV_SIZE_CONTENT, LV_PCT } = getLvglCoord(this); let left; if (this.leftUnit == "%") { diff --git a/resources/eez-framework-amalgamation/eez-flow.cpp b/resources/eez-framework-amalgamation/eez-flow.cpp index cf3b1f57a..23cee72e1 100644 --- a/resources/eez-framework-amalgamation/eez-flow.cpp +++ b/resources/eez-framework-amalgamation/eez-flow.cpp @@ -1,4 +1,4 @@ -/* Autogenerated on January 26, 2025 5:54:00 PM from eez-framework commit 4d6976602ece58918a4bb20ba0f56bbaaa70949c */ +/* Autogenerated on January 29, 2025 3:46:07 PM from eez-framework commit bc909755c9b83d15689e53474f6339176a299ac7 */ /* * eez-framework * @@ -7538,8 +7538,8 @@ extern "C" void flowPropagateValueUint32(void *flowState, unsigned componentInde eez::flow::propagateValue((eez::flow::FlowState *)flowState, componentIndex, outputIndex, eez::Value(value, eez::VALUE_TYPE_UINT32)); } extern "C" void flowPropagateValueLVGLEvent(void *flowState, unsigned componentIndex, unsigned outputIndex, lv_event_t *event) { + lv_event_code_t event_code = lv_event_get_code(event); if (eez::flow::hasAnyDataConnection((eez::flow::FlowState *)flowState, componentIndex, outputIndex)) { - lv_event_code_t event_code = lv_event_get_code(event); uint32_t code = (uint32_t)event_code; void *currentTarget = (void *)lv_event_get_current_target(event); void *target = (void *)lv_event_get_target(event); @@ -7586,9 +7586,11 @@ extern "C" void flowPropagateValueLVGLEvent(void *flowState, unsigned componentI } else { eez::flow::propagateValue((eez::flow::FlowState *)flowState, componentIndex, outputIndex); } - g_currentLVGLEvent = event; - eez::flow::tick(); - g_currentLVGLEvent = 0; + if (!lv_disp_get_default()->rendering_in_progress) { + g_currentLVGLEvent = event; + eez::flow::tick(); + g_currentLVGLEvent = 0; + } } #ifndef EEZ_LVGL_TEMP_STRING_BUFFER_SIZE #define EEZ_LVGL_TEMP_STRING_BUFFER_SIZE 1024 @@ -10359,21 +10361,6 @@ void propagateValueThroughSeqout(FlowState *flowState, unsigned componentIndex) } } } -bool hasAnyDataConnection(FlowState *flowState, unsigned componentIndex, unsigned outputIndex) { - if ((int)componentIndex == -1) { - return false; - } - auto component = flowState->flow->components[componentIndex]; - auto componentOutput = component->outputs[outputIndex]; - for (unsigned connectionIndex = 0; connectionIndex < componentOutput->connections.count; connectionIndex++) { - auto connection = componentOutput->connections[connectionIndex]; - auto isDataInput = !(flowState->flow->componentInputs[connection->targetInputIndex] & COMPONENT_INPUT_FLAG_IS_SEQ_INPUT); - if (isDataInput) { - return true; - } - } - return false; -} #if EEZ_OPTION_GUI void getValue(uint16_t dataId, DataOperationEnum operation, const WidgetCursor &widgetCursor, Value &value) { if (!isFlowStopped()) { diff --git a/resources/eez-framework-amalgamation/eez-flow.h b/resources/eez-framework-amalgamation/eez-flow.h index 4ded878d2..bc25186e9 100644 --- a/resources/eez-framework-amalgamation/eez-flow.h +++ b/resources/eez-framework-amalgamation/eez-flow.h @@ -1,4 +1,4 @@ -/* Autogenerated on January 26, 2025 5:54:00 PM from eez-framework commit 4d6976602ece58918a4bb20ba0f56bbaaa70949c */ +/* Autogenerated on January 29, 2025 3:46:07 PM from eez-framework commit bc909755c9b83d15689e53474f6339176a299ac7 */ /* * eez-framework * @@ -2359,7 +2359,6 @@ void resetSequenceInputs(FlowState *flowState); void propagateValue(FlowState *flowState, unsigned componentIndex, unsigned outputIndex, const Value &value); void propagateValue(FlowState *flowState, unsigned componentIndex, unsigned outputIndex); void propagateValueThroughSeqout(FlowState *flowState, unsigned componentIndex); -bool hasAnyDataConnection(FlowState *flowState, unsigned componentIndex, unsigned outputIndex); #if EEZ_OPTION_GUI void getValue(uint16_t dataId, DataOperationEnum operation, const WidgetCursor &widgetCursor, Value &value); void setValue(uint16_t dataId, const WidgetCursor &widgetCursor, const Value& value); diff --git a/wasm/eez-framework b/wasm/eez-framework index bc909755c..ac84fe0e0 160000 --- a/wasm/eez-framework +++ b/wasm/eez-framework @@ -1 +1 @@ -Subproject commit bc909755c9b83d15689e53474f6339176a299ac7 +Subproject commit ac84fe0e07a96635c7c1920fbbc2712f6fc42cd3 diff --git a/wasm/lvgl-runtime/common/main.c b/wasm/lvgl-runtime/common/main.c index eb58ce1b6..4608b7620 100644 --- a/wasm/lvgl-runtime/common/main.c +++ b/wasm/lvgl-runtime/common/main.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -129,14 +130,19 @@ typedef struct { uint32_t pos; } my_file_t; +#if LVGL_VERSION_MAJOR >= 9 +bool my_ready_cb(struct lv_fs_drv_t * drv) { +#else bool my_ready_cb(struct _lv_fs_drv_t * drv) { +#endif return true; } -void *my_open_cb(struct _lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode) { #if LVGL_VERSION_MAJOR >= 9 +void *my_open_cb(struct lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode) { my_file_t *file = (my_file_t *)lv_malloc(sizeof(my_file_t)); #else +void *my_open_cb(struct _lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode) { my_file_t *file = (my_file_t *)lv_mem_alloc(sizeof(my_file_t)); #endif file->ptr = (void *)atoi(path); @@ -144,16 +150,21 @@ void *my_open_cb(struct _lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode return file; } -lv_fs_res_t my_close_cb(struct _lv_fs_drv_t * drv, void * file_p) { #if LVGL_VERSION_MAJOR >= 9 +lv_fs_res_t my_close_cb(struct lv_fs_drv_t * drv, void * file_p) { lv_free(file_p); #else +lv_fs_res_t my_close_cb(struct _lv_fs_drv_t * drv, void * file_p) { lv_mem_free(file_p); #endif return LV_FS_RES_OK; } +#if LVGL_VERSION_MAJOR >= 9 +lv_fs_res_t my_read_cb(struct lv_fs_drv_t * drv, void * file_p, void * buf, uint32_t btr, uint32_t * br) { +#else lv_fs_res_t my_read_cb(struct _lv_fs_drv_t * drv, void * file_p, void * buf, uint32_t btr, uint32_t * br) { +#endif my_file_t *file = (my_file_t *)file_p; memcpy(buf, file->ptr + file->pos, btr); file->pos += btr; @@ -162,7 +173,11 @@ lv_fs_res_t my_read_cb(struct _lv_fs_drv_t * drv, void * file_p, void * buf, uin return LV_FS_RES_OK; } +#if LVGL_VERSION_MAJOR >= 9 +lv_fs_res_t my_seek_cb(struct lv_fs_drv_t * drv, void * file_p, uint32_t pos, lv_fs_whence_t whence) { +#else lv_fs_res_t my_seek_cb(struct _lv_fs_drv_t * drv, void * file_p, uint32_t pos, lv_fs_whence_t whence) { +#endif my_file_t *file = (my_file_t *)file_p; if (whence == LV_FS_SEEK_SET) { file->pos = pos; @@ -175,7 +190,11 @@ lv_fs_res_t my_seek_cb(struct _lv_fs_drv_t * drv, void * file_p, uint32_t pos, l return LV_FS_RES_NOT_IMP; } +#if LVGL_VERSION_MAJOR >= 9 +lv_fs_res_t my_tell_cb(struct lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p) { +#else lv_fs_res_t my_tell_cb(struct _lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p) { +#endif my_file_t *file = (my_file_t *)file_p; *pos_p = file->pos; return LV_FS_RES_OK; diff --git a/wasm/lvgl-runtime/common/src/studio_api.cpp b/wasm/lvgl-runtime/common/src/studio_api.cpp index ca4efb300..38a1bf002 100644 --- a/wasm/lvgl-runtime/common/src/studio_api.cpp +++ b/wasm/lvgl-runtime/common/src/studio_api.cpp @@ -241,7 +241,7 @@ EM_PORT_API(lv_obj_t *) lvglDropdownGetList(lv_obj_t *parentObj, int32_t index) } -EM_PORT_API(lv_obj_t *) lvglCreateArc(lv_obj_t *parentObj, int32_t index, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h, int32_t range_min, int32_t range_max, int32_t value, int32_t bg_start_angle, int32_t bg_end_angle, lv_bar_mode_t mode, int32_t rotation) { +EM_PORT_API(lv_obj_t *) lvglCreateArc(lv_obj_t *parentObj, int32_t index, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h, int32_t range_min, int32_t range_max, int32_t value, int32_t bg_start_angle, int32_t bg_end_angle, lv_arc_mode_t mode, int32_t rotation) { lv_obj_t *obj = lv_arc_create(parentObj); lv_obj_set_pos(obj, x, y); lv_obj_set_size(obj, w, h); @@ -1225,10 +1225,11 @@ EM_PORT_API(lv_obj_t *) lvglTabviewGetTabContent(lv_obj_t *parentObj, int32_t in EM_PORT_API(void) lvglLineSetPoints(lv_obj_t *obj, float *point_values, uint32_t point_num) { lv_line_t *line = (lv_line_t *)obj; - if (line->point_array) { #if LVGL_VERSION_MAJOR >= 9 - lv_free((void *)line->point_array); + if (line->point_array.constant) { + lv_free((void *)line->point_array.constant); #else + if (line->point_array) { lv_mem_free((void *)line->point_array); #endif } diff --git a/wasm/lvgl-runtime/v9.0/lvgl b/wasm/lvgl-runtime/v9.0/lvgl index b25519abc..c903c1dc0 160000 --- a/wasm/lvgl-runtime/v9.0/lvgl +++ b/wasm/lvgl-runtime/v9.0/lvgl @@ -1 +1 @@ -Subproject commit b25519abce8aaa5fd5dd2ab02a2acdce35ddf555 +Subproject commit c903c1dc0fdfae20bce69d0a48894bdebae278ff