You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martin Vladic
0f98f76bca
|
2 years ago | |
---|---|---|
src | 2 years ago | |
.gitignore | 2 years ago | |
CMakeLists.txt | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
confdef.txt | 2 years ago | |
lv_conf.h | 2 years ago | |
lv_drv_conf.h | 2 years ago | |
lvgl_shell.html | 2 years ago | |
main.c | 2 years ago | |
mouse_cursor_icon.c | 2 years ago | |
ui.eez-project | 2 years ago |
README.md
Emscripten port
LVGL ported to Emscripten to be converted to JavaScript
The result looks like this https://lvgl.io/demos
How to get started
Install SDL
Downlad SDL (a graphics library to ope na window and handle the mouse). On Linux:
- Find the current version of SDL2:
apt-cache search libsdl2 (e.g. libsdl2-2.0-0)
- Install SDL2:
sudo apt-get install libsdl2-2.0-0
(replace with the found version) - Install SDL2 development package:
sudo apt-get install libsdl2-dev
- If build essentials are not installed yet:
sudo apt-get install build-essential
Install Emscripten SDK
Download the Emscripten SDK and make sure it is in your PATH.
git clone https://github.com/emscripten-core/emsdk.git
cd <path-to-emsdk>
git pull
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
More info here: https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html
Get the Emscripten-LVGL project
- Be sure you ran
. <path-to-emsdk>/emsdk_env.sh
to add EMSDK toPATH
- In any directoy:
git clone --recurse-submodules https://github.com/mvladic/lv_web_emscripten.git
cd <path-to-emscripten>
mkdir build
cd build
emcmake cmake ..
emmake make -j4
- A file called
index.html
will be generated. Run this in your browser.
Build options (environment variables)
LVGL_CHOSEN_DEMO
can be set to the desired demo name so that you don't need to change any C files. This is useful to compile many demos in bulk using a script.
Example emcmake cmake .. -DLVGL_CHOSEN_DEMO=lv_demo_widgets
Known issue with Google Chrome browser
Chrome can't open the generated html file offline. It works if you copy the files to a server. Use Firefox or other browser for offline testing.
Known issue with Firefox
Firefox can't open the generated html file offline unless you go to about:config
and change privacy.file_unique_origin
to false
.