diff --git a/README.md b/README.md
index a9202b474b..fb92a1ae91 100644
--- a/README.md
+++ b/README.md
@@ -1,131 +1,198 @@
-
- English | 中文 | Português do Brasil | 日本語 | עברית
+
+ Docs •
+ Forum •
+ Blog •
+ Services
+
+ EN •
+ 中文 •
+ 日本語 •
+ 한국어 •
+ PT •
+ עברית
-
-
-
+
+
Light and Versatile Graphics Library
-Light and Versatile Graphics Library
-
+
+
+
- Website |
- LVGL Pro Editor |
- Docs |
- Forum |
- Demos |
-Services
+ Overview •
+ Features •
+ LVGL Pro •
+ Examples •
+ Integration •
+ Contributing •
+ License
-
-
-### Table of Contents
-
- Overview
- Features
- Platform Support
- LVGL Pro Editor
- Commercial Services
- Integrating LVGL
- Examples
- Contributing
-
-
-
-
-## 📒 Overview
+## Overview
**LVGL** is a free and open-source UI library that enables you to create graphical user interfaces
for any MCUs and MPUs from any vendor on any platform.
**Requirements**: LVGL has no external dependencies, which makes it easy to compile for any modern target,
-from small MCUs to multi-core Linux-based MPUs with 3D support. For a simple UI, you need only ~100kB RAM,
+from small MCUs to multi-core Linux-based MPUs with 3D support. For a *typical* UI, you need only ~100kB RAM,
~200–300kB flash, and a buffer size of 1/10 of the screen for rendering.
-**To get started**, pick a ready-to-use VSCode, Eclipse, or any other project and try out LVGL
-on your PC. The LVGL UI code is fully platform-independent, so you can use the same UI code
-on embedded targets too.
+**Wide adoption**: Chip vendors (like NXP, Espressif, Renesas, and so on), RTOS projects (Zephyr, NuttX, etc.),
+and board manufacturers (Riverdi, Seeed Studio, VIEWE, Elecrow, etc.) have all integrated LVGL already. If a development board has a display, it's very likely
+the vendor offers LVGL support too.
-**LVGL Pro** is a complete toolkit to help you build, test, share, and ship UIs faster.
-It comes with an XML Editor where you can quickly create and test reusable components,
-export C code, or load the XMLs at runtime. Learn more here.
+**Professional tools**: Instead of writing C code, you can hugely speed up and simplify UI development by using [LVGL Pro](#lvgl-pro), a complete toolkit with Editor, Figma integration, Online Viewer, and CLI. It exports pure LVGL C code from XML, with no extra runtime or hidden magic. It's free for non-commercial use and evaluation.
-## 💡 Features
+**To get started**, browse the [Examples](#examples), spin up a [Simulator project](https://lvgl.io/docs/open/integration/pc), explore the [Online Viewer](https://viewer.lvgl.io/) of LVGL Pro, compile and run a UI in a window in [LVGL Pro](https://lvgl.io/docs/pro/integration/simulator) with one click, or dive into our AI-ready [Docs](https://lvgl.io/docs/open). Just click [**Ask AI**](https://lvgl.io/docs/open)
+and ask anything!
-**Free and Portable**
+## Features
+
+**Free, Portable, and Scalable**
- A fully portable C (C++ compatible) library with no external dependencies.
- Can be compiled for any MCU or MPU, with any (RT)OS. Make, CMake, and simple globbing are all supported.
- - Supports monochrome, ePaper, OLED, or TFT displays, or even monitors. [Displays](https://docs.lvgl.io/master/main-modules/display/index.html)
+ - Supports monochrome, ePaper, OLED, or TFT displays, or even monitors. [Displays](https://lvgl.io/docs/open/main-modules/display)
- Distributed under the MIT license, so you can easily use it in commercial projects too.
- - Needs only 32kB RAM and 128kB Flash, a frame buffer, and at least a 1/10 screen-sized buffer for rendering.
+ - At a bare minimum needs only 32kB RAM and 128kB Flash, a frame buffer, and at least a 1/10 screen-sized buffer for rendering.
- OS, external memory, and GPU are supported but not required.
**Widgets, Styles, Layouts, and More**
- - 30+ built-in [Widgets](https://docs.lvgl.io/master/widgets/index.html): Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table, and many more.
- - Flexible [Style system](https://docs.lvgl.io/master/common-widget-features/styles/index.html) with ~100 style properties to customize any part of the widgets in any state.
- - [Flexbox](https://docs.lvgl.io/master/common-widget-features/layouts/flex.html) and [Grid](https://docs.lvgl.io/master/common-widget-features/layouts/grid.html)-like layout engines to automatically size and position the widgets responsively.
+ - 30+ built-in [Widgets](https://lvgl.io/docs/open/widgets): Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table, and many more.
+ - Flexible [Style system](https://lvgl.io/docs/open/common-widget-features/styles) with 100+ style properties to customize any part of the widgets in any state.
+ - [Flexbox](https://lvgl.io/docs/open/common-widget-features/layouts/flex) and [Grid](https://lvgl.io/docs/open/common-widget-features/layouts/grid)-like layout engines to automatically size and position the widgets responsively.
+ - [Data bindings](https://lvgl.io/docs/open/main-modules/observer) to easily connect the UI with the application.
+ - Supports Mouse, Touchpad, Keypad, Keyboard, External buttons, Encoder [Input devices](https://lvgl.io/docs/open/main-modules/indev).
+ - [Multiple display](https://lvgl.io/docs/open/main-modules/display/overview#how-many-displays-can-lvgl-use) support.
+
+**Rendering**
+ - Built-in 2D rendering engine supporting basic shapes, gradients, anti-aliasing, opacity, smooth scrolling, box and drop shadows, image transformation, etc.
+ - [Powerful 3D rendering engine](https://lvgl.io/docs/open/libs/gltf) to show [glTF models](https://sketchfab.com/) with OpenGL.
+ - Vector graphics, SVG, and Lottie support.
- Text is rendered with UTF-8 encoding, supporting CJK, Thai, Hindi, Arabic, and Persian writing systems.
- - [Data bindings](https://docs.lvgl.io/master/main-modules/observer/index.html) to easily connect the UI with the application.
- - Rendering engine supports animations, anti-aliasing, opacity, smooth scrolling, shadows, image transformation, etc.
- - [Powerful 3D rendering engine](https://docs.lvgl.io/master/libs/gltf.html) to show [glTF models](https://sketchfab.com/) with OpenGL.
- - Supports Mouse, Touchpad, Keypad, Keyboard, External buttons, Encoder [Input devices](https://docs.lvgl.io/master/main-modules/indev.html).
- - [Multiple display](https://docs.lvgl.io/master/main-modules/display/overview.html#how-many-displays-can-lvgl-use) support.
+ - Built-in support for GPUs like VG-Lite, Dave2D, NeoChrome, OpenGL, etc.
-## 📦️ Platform Support
+## LVGL Pro
-LVGL has no external dependencies, so it can be easily compiled for any devices and it's also available in many package managers and RTOSes:
+Building UIs in C works well, but it gets slow to iterate on and harder to keep consistent as a project grows.
+[LVGL Pro](https://lvgl.io/pro) lets you build reusable components and screens visually, preview changes
+instantly, and manage data bindings, translations, animations, and tests in one place.
-- [Arduino library](https://docs.lvgl.io/master/integration/framework/arduino.html)
-- [PlatformIO package](https://registry.platformio.org/libraries/lvgl/lvgl)
-- [Zephyr library](https://docs.lvgl.io/master/integration/os/zephyr.html)
-- [ESP-IDF(ESP32) component](https://components.espressif.com/components/lvgl/lvgl)
-- [NXP MCUXpresso component](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)
-- [NuttX library](https://docs.lvgl.io/master/integration/os/nuttx.html)
-- [RT-Thread RTOS](https://docs.lvgl.io/master/integration/os/rt-thread.html)
-- CMSIS-Pack
-- [RIOT OS package](https://doc.riot-os.org/group__pkg__lvgl.html#details)
+Pro exports plain LVGL C code: the same LVGL you already use, with no extra runtime or dependency. It drops
+into an existing project without changing how you build or ship.
-## 🚀 LVGL Pro Editor
+
+
+
-LVGL Pro is a complete toolkit to build, test, share, and ship embedded UIs efficiently.
+You can try it in the browser at [viewer.lvgl.io](https://viewer.lvgl.io) without installing anything, or
+[download the Editor](https://lvgl.io/pro#download) and use it under the free Community license.
-It consists of four tightly related tools:
+LVGL Pro consists of four tightly related tools:
-1. **XML Editor**: The heart of LVGL Pro. A desktop app to build components and screens in XML, manage data bindings, translations, animations, tests, and more. Learn more about the [XML Format](https://docs.lvgl.io/master/xml/xml/index.html) and the [Editor](https://docs.lvgl.io/master/xml/editor/index.html).
+1. **Editor**: The heart of LVGL Pro. A desktop app to build components and screens in XML, manage data bindings, translations, animations, tests, and more. Learn more about the [XML Format](https://lvgl.io/docs/pro/syntax) and the [Widgets](https://lvgl.io/docs/pro/built_in_widgets).
2. **Online Viewer**: Run the Editor in your browser, open GitHub projects, and share easily without setting up a developer environment. Visit [https://viewer.lvgl.io](https://viewer.lvgl.io).
-3. **CLI Tool**: Generate C code and run tests in CI/CD. See the details [here](https://docs.lvgl.io/master/xml/tools/cli.html).
-4. **Figma Plugin**: Sync and extract styles directly from Figma. See how it works [here](https://docs.lvgl.io/master/xml/tools/figma.html).
+3. **Figma Plugin**: Move a Figma design to LVGL Pro with one click. See how it works [here](https://lvgl.io/docs/pro/figma).
+4. **CLI Tool**: Generate C code and run tests in CI/CD. See the details [here](https://lvgl.io/docs/pro/cli).
-Together, these tools let developers build UIs efficiently, test them reliably, and collaborate with team members and customers.
+The Community and Evaluation tiers are free to use; see [licensing](#license) for commercial use.
-Learn more at https://pro.lvgl.io
+## Examples
-## 🤝 Commercial Services
+You can check out more than 100 C and XML examples at https://lvgl.io/docs/open/examples
-LVGL LLC provides several types of commercial services to help you with UI development. With 15+ years of experience in the user interface and graphics industry, we can help bring your UI to the next level.
+The [Online Viewer](https://viewer.lvgl.io/) of LVGL Pro also contains many tutorials and the same examples that you can play with interactively.
-- **Graphics design**: Our in-house graphic designers are experts in creating beautiful modern designs that fit your product and the capabilities of your hardware.
-- **UI implementation**: We can implement your UI based on the design you or we have created. You can be sure that we will make the most of your hardware and LVGL. If a feature or widget is missing from LVGL, don't worry, we will implement it for you.
-- **Consulting and Support**: We also offer consulting to help you avoid costly and time-consuming mistakes during UI development.
-- **Board certification**: For companies offering development boards or production-ready kits, we provide board certification to show how the board can run LVGL.
+As a teaser, here is the same simple UI written in C and in XML:
-Check out our [Demos](https://lvgl.io/demos) as references. For more information, take a look at the [Services page](https://lvgl.io/services).
+
+
+
-[Contact us](https://lvgl.io/#contact) and tell us how we can help.
+
+
+
+|
-## 🧑💻 Integrating LVGL
+```c
+static void button_clicked_cb(lv_event_t * e)
+{
+ printf("Clicked\n");
+}
+
+/* ... */
+
+lv_obj_t * button = lv_button_create(lv_screen_active());
+lv_obj_center(button);
+lv_obj_add_event_cb(button, button_clicked_cb,
+ LV_EVENT_CLICKED, NULL);
+
+lv_obj_t * label = lv_label_create(button);
+lv_label_set_text(label, "Hello from LVGL!");
+```
+
+ |
+
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+ |
+
+
+
+The XML above is what [LVGL Pro](#lvgl-pro) works with: you build the screen visually and it generates the C for you.
+
+## Integration
+
+LVGL has no external dependencies, so it can be easily compiled for any device. It comes with built-in drivers, is available in
+many package managers and RTOSes, and is also easy to port to any new device.
+
+### Pre-integrated
+
+- **Chip vendors**: [ESP32](https://components.espressif.com/components/lvgl/lvgl), [NXP MCUXpresso component](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY), [Renesas FSP](https://lvgl.io/docs/open/integration/chip/renesas), [STM32](https://lvgl.io/docs/open/integration/chip/stm32)
+
+- **RTOSes**: [Zephyr](https://lvgl.io/docs/open/integration/os/zephyr), [NuttX](https://lvgl.io/docs/open/integration/os/nuttx), [RT-Thread](https://lvgl.io/docs/open/integration/os/rt-thread)
+
+- **Frameworks**: [Arduino](https://lvgl.io/docs/open/integration/framework/arduino), [PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl), [CMSIS-Pack](https://lvgl.io/docs/open/integration/framework/cmsis-pack)
+
+- **Board manufacturers**: [Seeed Studio](https://www.seeedstudio.com), [Elecrow](https://www.elecrow.com/display/esp-hmi-display.html), [Riverdi](https://lvgl.io/docs/open/integration/boards/manufacturers/riverdi), [VIEWE](https://lvgl.io/docs/open/integration/boards/manufacturers/viewe), and [many more](https://lvgl.io/boards)
+
+### Built-in drivers
+LVGL ships with ready-to-use drivers, so on common platforms you don't have to write display and input handling yourself:
+
+- **Simulator / desktop**: [SDL](https://lvgl.io/docs/open/integration/pc/sdl), X11, and [Wayland](https://lvgl.io/docs/open/integration/embedded_linux/drivers/wayland) windows to develop and preview your UI on a PC.
+- **Display controllers**: Generic MIPI-DBI/SPI LCDs ([ILI9341](https://lvgl.io/docs/open/integration/external_display_controllers/ili9341), ST7789, and similar), plus vendor controllers like ST's [LTDC](https://lvgl.io/docs/open/integration/chip_vendors/stm32/ltdc) and NXP's [eLCDIF](https://lvgl.io/docs/open/integration/chip_vendors/nxp/elcdif).
+- **Embedded Linux**: framebuffer (fbdev), DRM/KMS, Wayland, and `libinput`/`evdev` for touch and pointer input. Learn more [here](https://lvgl.io/docs/open/integration/embedded_linux).
+- **GPU / accelerators**: VG-Lite, NXP PXP, ThinkSilicon NemaGFX, Arm-2D and [OpenGL ES](https://lvgl.io/docs/open/integration/embedded_linux/drivers/opengl_driver)
+
+See the full list and setup guides in the [Integration docs](https://lvgl.io/docs/open/integration).
+
+### In LVGL Pro
+
+In LVGL Pro you can create ready-to-use UI-only, VSCode, Zephyr, and Linux projects with a single click.
+
+
+### Porting manually
Integrating LVGL is very simple. Just drop it into any project and compile it as you would compile other files.
To configure LVGL, copy `lv_conf_template.h` as `lv_conf.h`, enable the first `#if 0`, and adjust the configs as needed.
@@ -203,184 +270,27 @@ void main(void)
}
```
-## 🤖 Examples
-You can check out more than 100 examples at https://docs.lvgl.io/master/examples.html
-
-The Online Viewer also contains tutorials to easily learn XML: https://viewer.lvgl.io/
-
-
-### Hello World Button with an Event
-
-
-
-
- C code
-
- ```c
-static void button_clicked_cb(lv_event_t * e)
-{
- printf("Clicked\n");
-}
-
-[...]
-
- lv_obj_t * button = lv_button_create(lv_screen_active());
- lv_obj_center(button);
- lv_obj_add_event_cb(button, button_clicked_cb, LV_EVENT_CLICKED, NULL);
-
- lv_obj_t * label = lv_label_create(button);
- lv_label_set_text(label, "Hello from LVGL!");
-```
-
-
-
- In XML with LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-```
-
-
-
-### Styled Slider with Data-binding
-
-
-
-
- C code
-
-```c
-static void my_observer_cb(lv_observer_t * observer, lv_subject_t * subject)
-{
- printf("Slider value: %d\n", lv_subject_get_int(subject));
-}
-
-[...]
-
-static lv_subject_t subject_value;
-lv_subject_init_int(&subject_value, 35);
-lv_subject_add_observer(&subject_value, my_observer_cb, NULL);
-
-lv_style_t style_base;
-lv_style_init(&style_base);
-lv_style_set_bg_color(&style_base, lv_color_hex(0xff8800));
-lv_style_set_bg_opa(&style_base, 255);
-lv_style_set_radius(&style_base, 4);
-
-lv_obj_t * slider = lv_slider_create(lv_screen_active());
-lv_obj_center(slider);
-lv_obj_set_size(slider, lv_pct(80), 16);
-lv_obj_add_style(slider, &style_base, LV_PART_INDICATOR);
-lv_obj_add_style(slider, &style_base, LV_PART_KNOB);
-lv_obj_add_style(slider, &style_base, 0);
-lv_obj_set_style_bg_opa(slider, LV_OPA_50, 0);
-lv_obj_set_style_border_width(slider, 3, LV_PART_KNOB);
-lv_obj_set_style_border_color(slider, lv_color_hex3(0xfff), LV_PART_KNOB);
-lv_slider_bind_value(slider, &subject_value);
-
-lv_obj_t * label = lv_label_create(lv_screen_active());
-lv_obj_align(label, LV_ALIGN_CENTER, 0, -30);
-lv_label_bind_text(label, &subject_value, "Temperature: %d °C");
-```
-
-
-
-
- In XML with LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-### Checkboxes in a Layout
-
-
-
-
- C code
-
- ```c
-/*Create a new screen and load it*/
-lv_obj_t * scr = lv_obj_create(NULL);
-lv_screen_load(scr);
-
-/*Set a column layout*/
-lv_obj_set_flex_flow(scr, LV_FLEX_FLOW_COLUMN);
-lv_obj_set_flex_align(scr, LV_FLEX_ALIGN_SPACE_EVENLY, /*Vertical alignment*/
- LV_FLEX_ALIGN_START, /*Horizontal alignment in the track*/
- LV_FLEX_ALIGN_CENTER); /*Horizontal alignment of the track*/
-
-/*Create 5 checkboxes*/
-const char * texts[5] = {"Input 1", "Input 2", "Input 3", "Output 1", "Output 2"};
-for(int i = 0; i < 5; i++) {
- lv_obj_t * cb = lv_checkbox_create(scr);
- lv_checkbox_set_text(cb, texts[i]);
-}
-
-/*Change some states*/
-lv_obj_add_state(lv_obj_get_child(scr, 1), LV_STATE_CHECKED);
-lv_obj_add_state(lv_obj_get_child(scr, 3), LV_STATE_DISABLED);
-```
-
-
-
-
- In XML with LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-
-```
-
-
-
-
-## 🌟 Contributing
+## Contributing
LVGL is an open project, and contributions are very welcome. There are many ways to contribute, from simply speaking about your project, writing examples, improving the documentation, fixing bugs, or even hosting your own project under the LVGL organization.
-For a detailed description of contribution opportunities, visit the [Contributing](https://docs.lvgl.io/master/contributing/index.html)
+For a detailed description of contribution opportunities, visit the [Contributing](https://lvgl.io/docs/open/contributing)
section of the documentation.
-More than 600 people have already left their fingerprint on LVGL. Be one of them! See you here! 🙂
+Hundreds of people have already left their fingerprint on LVGL. Be one of them! See you here! 🙂
-
-... and many more.
+## License
+
+The LVGL library is distributed under the **MIT license**, so you can use it freely in both
+open-source and commercial products with no royalties. See [`LICENCE.txt`](LICENCE.txt).
+
+All third-party libraries bundled with LVGL are released under MIT-compatible licenses too,
+so you can use LVGL and its dependencies with confidence.
+
+**[LVGL Pro](https://lvgl.io/pro)** has separate licensing:
+- The **Community** and **Evaluation** tiers are **free for non-commercial use**, perfect for
+ learning, hobby projects, and evaluating the tools.
+- Commercial use of LVGL Pro requires a paid license. See the [Pricing and Details](https://lvgl.io/pro#pricing).
+
diff --git a/docs/README_he.md b/docs/README_he.md
index 6712954d3a..30873801ef 100644
--- a/docs/README_he.md
+++ b/docs/README_he.md
@@ -1,120 +1,220 @@
-
-
-
- עברית | 中文 | Português do Brasil | 日本語 | English
+
+ תיעוד •
+ פורום •
+ בלוג •
+ שירותים
+
+ EN •
+ 中文 •
+ 日本語 •
+ 한국어 •
+ PT •
+ עברית
-
-
-
+
+
ספריית גרפיקה קלה ורב-תכליתית
-ספריית גרפיקה קלה ורב-שימושית
-
+
+
+
-
-
-
- אתר |
- עורך LVGL Pro |
- תיעוד |
- פורום |
- דוגמאות |
- שירותים
-
-
+
-## 📒 סקירה
+
+ סקירה כללית •
+ תכונות •
+ LVGL Pro •
+ דוגמאות •
+ שילוב •
+ תרומה •
+ רישיון
+
-**LVGL** היא ספריית UI חינמית וקוד פתוח שמאפשרת ליצור ממשקי משתמש גרפיים לכל MCU או MPU מכל ספק ועל כל פלטפורמה.
+
-**דרישות**: ל־LVGL אין תלות חיצונית, מה שמקל על הידור לכל יעד מודרני, החל מ־MCU קטנים ועד MPU מבוססי Linux מרובי ליבות עם תמיכת 3D. עבור UI פשוט דרושים רק ~100kB RAM, כ~200–300kB Flash ומאגר רינדור בגודל 1/10 מגודל המסך.
+
+## סקירה כללית
-**להתחלה מהירה**: בחרו פרויקט מוכן ל־VSCode, Eclipse או כל סביבת פיתוח אחרת ונסו את LVGL על המחשב. קוד ה־UI של LVGL בלתי תלוי בפלטפורמה, ולכן ניתן להשתמש באותו קוד גם ביעדים משובצים.
+**LVGL** היא ספריית ממשק משתמש חופשית וקוד פתוח המאפשרת לכם ליצור ממשקי משתמש גרפיים
+עבור כל MCU ו-MPU מכל יצרן ובכל פלטפורמה.
-**LVGL Pro** הוא מארז כלים מלא לבנייה, בדיקה, שיתוף והפצה מהירה יותר של UI. הוא כולל עורך XML ליצירה ולבדיקה מהירה של רכיבים לשימוש חוזר, ייצוא קוד C או טעינת קובצי XML בזמן ריצה. מידע נוסף באתר.
+**דרישות**: ל-LVGL אין תלויות חיצוניות, מה שהופך אותה לקלה להידור עבור כל יעד מודרני,
+מ-MCU קטנים ועד MPU מרובי-ליבות מבוססי Linux עם תמיכה בתלת-ממד. עבור ממשק משתמש *טיפוסי*, דרושים רק כ-100kB RAM,
+כ-200–300kB flash, ובאפר בגודל של 1/10 מהמסך עבור הרינדור.
-## 💡 יכולות
+**אימוץ נרחב**: יצרני שבבים (כמו NXP, Espressif, Renesas וכן הלאה), פרויקטי RTOS (Zephyr, NuttX וכו'),
+ויצרני לוחות (Riverdi, Seeed Studio, VIEWE, Elecrow וכו') כבר שילבו את LVGL. אם ללוח פיתוח יש תצוגה, סביר מאוד
+שהיצרן מציע גם תמיכה ב-LVGL.
-**חינמית וניידת**
- - ספריית C מלאה (תואמת ++C) ללא תלות חיצונית.
- - ניתנת לקימפול לכל MCU או MPU, עם כל (RT)OS. תומכת ב־Make, CMake וב־globbing פשוט.
- - תמיכה במסכי מונוכרום, ePaper, OLED או TFT, ואף במסכים של מחשבים. ראו [תצוגות](https://docs.lvgl.io/master/main-modules/display/index.html)
- - רישיון MIT המקל על שימוש מסחרי.
- - נדרשים רק 32kB RAM ו־128kB Flash, מאגר מסגרת, ולפחות מאגר רינדור בגודל 1/10 מגודל המסך.
- - מערכת הפעלה, זיכרון חיצוני ו־GPU נתמכים אך אינם נדרשים.
+**כלים מקצועיים**: במקום לכתוב קוד C, תוכלו להאיץ ולפשט מאוד את פיתוח ממשק המשתמש באמצעות [LVGL Pro](#lvgl-pro), ערכת כלים מלאה עם עורך, שילוב עם Figma, מציג מקוון ו-CLI. היא מייצאת קוד C טהור של LVGL מ-XML, ללא סביבת ריצה נוספת או קסם נסתר. היא חופשית לשימוש לא מסחרי ולהערכה.
-**וידג'טים, סגנונות, פריסות ועוד**
- - יותר מ־30 [וידג'טים](https://docs.lvgl.io/master/widgets/index.html) מובנים: Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table ועוד רבים.
- - [מערכת סגנונות](https://docs.lvgl.io/master/common-widget-features/styles/index.html) גמישה עם כ~100 מאפייני עיצוב להתאמה של כל חלקי הווידג'טים בכל מצב.
- - מנועי פריסה בסגנון [Flexbox](https://docs.lvgl.io/master/common-widget-features/layouts/flex.html) ו־[Grid](https://docs.lvgl.io/master/common-widget-features/layouts/grid.html) למיקום וגודל רספונסיביים.
- - טקסט מעובד בקידוד UTF-8 עם תמיכה במערכות כתיבה סינית/יפנית/קוריאנית, תאית, הינדי, ערבית ופרסית.
- - [קישורי נתונים](https://docs.lvgl.io/master/main-modules/observer/index.html) לחיבור קל בין ה־UI ליישום.
- - מנוע רינדור עם תמיכה באנימציות, החלקת קצוות, שקיפות, גלילה חלקה, צללים, טרנספורמציות תמונה ועוד.
- - [מנוע רינדור 3D חזק](https://docs.lvgl.io/master/libs/gltf.html) להצגת [מודלי glTF](https://sketchfab.com/) עם OpenGL.
- - תמיכה בעכבר, משטח מגע, לוח מקשים, מקלדת, כפתורים חיצוניים ואנקודר [התקני קלט](https://docs.lvgl.io/master/main-modules/indev.html).
- - תמיכה ב[מסכים מרובים](https://docs.lvgl.io/master/main-modules/display/overview.html#how-many-displays-can-lvgl-use).
+**כדי להתחיל**, עיינו ב[דוגמאות](#examples), הפעילו [פרויקט סימולטור](https://lvgl.io/docs/open/integration/pc), חקרו את [המציג המקוון](https://viewer.lvgl.io/) של LVGL Pro, הדרו והריצו ממשק משתמש בחלון ב-[LVGL Pro](https://lvgl.io/docs/pro/integration/simulator) בלחיצה אחת, או צללו אל [התיעוד](https://lvgl.io/docs/open) שלנו המוכן ל-AI. פשוט לחצו על [**Ask AI**](https://lvgl.io/docs/open)
+ושאלו כל דבר!
-## 📦️ תמיכת פלטפורמות
+
+## תכונות
-ל־LVGL אין תלות חיצונית, ולכן ניתן לקמפל אותה בקלות לכל התקן. היא זמינה גם במנהלי חבילות רבים ובמערכות RTOS:
+**חופשית, ניידת וניתנת להרחבה**
+ - ספריית C ניידת לחלוטין (תואמת C++) ללא תלויות חיצוניות.
+ - ניתנת להידור עבור כל MCU או MPU, עם כל מערכת (RT)OS. יש תמיכה ב-Make, ב-CMake וב-globbing פשוט.
+ - תומכת בתצוגות מונוכרום, ePaper, OLED או TFT, ואפילו במסכים. [תצוגות](https://lvgl.io/docs/open/main-modules/display)
+ - מופצת תחת רישיון MIT, כך שתוכלו להשתמש בה בקלות גם בפרויקטים מסחריים.
+ - במינימום המוחלט דרושים רק 32kB RAM ו-128kB Flash, frame buffer, ובאפר בגודל של לפחות 1/10 מהמסך עבור הרינדור.
+ - יש תמיכה במערכת הפעלה, בזיכרון חיצוני וב-GPU, אך הם אינם נדרשים.
-- [ספריית Arduino](https://docs.lvgl.io/master/integration/framework/arduino.html)
-- [חבילת PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl)
-- [ספריית Zephyr](https://docs.lvgl.io/master/integration/os/zephyr.html)
-- [רכיב ESP-IDF (ESP32)](https://components.espressif.com/components/lvgl/lvgl)
-- [רכיב NXP MCUXpresso](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)
-- [ספריית NuttX](https://docs.lvgl.io/master/integration/os/nuttx.html)
-- [RT-Thread RTOS](https://docs.lvgl.io/master/integration/os/rt-thread.html)
-- CMSIS-Pack
-- [חבילת RIOT OS](https://doc.riot-os.org/group__pkg__lvgl.html#details)
+**רכיבי ממשק, סגנונות, פריסות ועוד**
+ - יותר מ-30 [רכיבי ממשק](https://lvgl.io/docs/open/widgets) מובנים: Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table ועוד רבים.
+ - [מערכת סגנונות](https://lvgl.io/docs/open/common-widget-features/styles) גמישה עם יותר מ-100 מאפייני סגנון להתאמה אישית של כל חלק ברכיבי הממשק בכל מצב.
+ - מנועי פריסה בסגנון [Flexbox](https://lvgl.io/docs/open/common-widget-features/layouts/flex) ו-[Grid](https://lvgl.io/docs/open/common-widget-features/layouts/grid) לקביעת גודל ומיקום אוטומטיים ורספונסיביים של רכיבי הממשק.
+ - [קישורי נתונים](https://lvgl.io/docs/open/main-modules/observer) לחיבור קל של ממשק המשתמש עם היישום.
+ - תמיכה בעכבר, במשטח מגע, בלוח מקשים, במקלדת, בלחצנים חיצוניים וב-Encoder [התקני קלט](https://lvgl.io/docs/open/main-modules/indev).
+ - תמיכה ב[תצוגות מרובות](https://lvgl.io/docs/open/main-modules/display/overview#how-many-displays-can-lvgl-use).
-## 🚀 עורך LVGL Pro
+**רינדור**
+ - מנוע רינדור דו-ממדי מובנה התומך בצורות בסיסיות, מעברי צבע, החלקת קצוות, שקיפות, גלילה חלקה, צללי תיבה וצללים מוטלים, טרנספורמציה של תמונות וכו'.
+ - [מנוע רינדור תלת-ממדי עוצמתי](https://lvgl.io/docs/open/libs/gltf) להצגת [מודלים של glTF](https://sketchfab.com/) עם OpenGL.
+ - תמיכה בגרפיקה וקטורית, ב-SVG וב-Lottie.
+ - הטקסט מרונדר בקידוד UTF-8, עם תמיכה במערכות הכתיבה CJK, תאית, הינדי, ערבית ופרסית.
+ - תמיכה מובנית ב-GPU כמו VG-Lite, Dave2D, NeoChrome, OpenGL וכו'.
-LVGL Pro הוא מארז כלים מלא לבנייה, בדיקה, שיתוף והפצה יעילים של UI משובץ.
+
+## LVGL Pro
-הוא מורכב מארבעה כלים המשולבים זה בזה:
+בניית ממשקי משתמש ב-C עובדת היטב, אך היא הופכת לאיטית לאיטרציה וקשה יותר לשמירה על עקביות ככל שהפרויקט גדל.
+[LVGL Pro](https://lvgl.io/pro) מאפשרת לכם לבנות רכיבים ומסכים לשימוש חוזר באופן חזותי, לצפות בשינויים
+באופן מיידי, ולנהל קישורי נתונים, תרגומים, אנימציות ובדיקות במקום אחד.
-1. **עורך XML**: הלב של LVGL Pro. יישום שולחני לבניית רכיבים ומסכים ב־XML, ניהול קישורי נתונים, תרגומים, אנימציות, בדיקות ועוד. קראו עוד על [פורמט ה־XML](https://docs.lvgl.io/master/xml/xml/index.html) ועל [העורך](https://docs.lvgl.io/master/xml/editor/index.html).
-2. **מציג מקוון**: הריצו את העורך בדפדפן, פתחו פרויקטים מ־GitHub ושיתפו בקלות בלי להקים סביבת פיתוח. בקרו ב־[https://viewer.lvgl.io](https://viewer.lvgl.io).
-3. **כלי CLI**: הפקת קוד C והרצת בדיקות ב־CI/CD. פרטים [כאן](https://docs.lvgl.io/master/xml/tools/cli.html).
-4. **תוסף Figma**: סנכרון וחילוץ סגנונות ישירות מ־Figma. מידע נוסף [כאן](https://docs.lvgl.io/master/xml/tools/figma.html).
+Pro מייצאת קוד C רגיל של LVGL: אותה LVGL שאתם כבר משתמשים בה, ללא סביבת ריצה או תלות נוספת. היא משתלבת
+בפרויקט קיים מבלי לשנות את אופן ההידור או ההפצה שלכם.
-ביחד, הכלים מאפשרים לבנות UI ביעילות, לבדוק באמינות ולשתף פעולה עם צוותים ולקוחות.
+
+
+
-מידע נוסף: https://pro.lvgl.io
+תוכלו לנסות אותה בדפדפן בכתובת [viewer.lvgl.io](https://viewer.lvgl.io) ללא צורך בהתקנה, או
+[להוריד את העורך](https://lvgl.io/pro#download) ולהשתמש בו תחת רישיון Community החופשי.
-## 🤝 שירותים מסחריים
+LVGL Pro מורכבת מארבעה כלים הקשורים זה לזה באופן הדוק:
-חברת LVGL LLC מספקת מגוון שירותים מסחריים לסיוע בפיתוח UI. עם יותר מ־15 שנות ניסיון בתחום הממשקים והגרפיקה, נוכל לקדם את ה־UI של המוצר שלכם לרמה הבאה.
+1. **העורך**: לב ליבה של LVGL Pro. יישום שולחני לבניית רכיבים ומסכים ב-XML, לניהול קישורי נתונים, תרגומים, אנימציות, בדיקות ועוד. למדו עוד על [פורמט ה-XML](https://lvgl.io/docs/pro/syntax) ועל [רכיבי הממשק](https://lvgl.io/docs/pro/built_in_widgets).
+2. **המציג המקוון**: הפעילו את העורך בדפדפן שלכם, פתחו פרויקטים מ-GitHub ושתפו בקלות ללא הקמת סביבת פיתוח. בקרו בכתובת [https://viewer.lvgl.io](https://viewer.lvgl.io).
+3. **תוסף Figma**: העבירו עיצוב מ-Figma ל-LVGL Pro בלחיצה אחת. ראו כיצד זה עובד [כאן](https://lvgl.io/docs/pro/figma).
+4. **כלי CLI**: צרו קוד C והריצו בדיקות ב-CI/CD. ראו את הפרטים [כאן](https://lvgl.io/docs/pro/cli).
-- **עיצוב גרפי**: המעצבים הפנימיים שלנו מומחים בעיצוב מודרני ויפה שמתאים למוצר וליכולות החומרה.
-- **מימוש UI**: ניישם את ה־UI על בסיס העיצוב שלכם או שלנו, ונמצה את יכולות החומרה ו־LVGL. אם חסר רכיב או יכולת ב־LVGL, נפתח זאת עבורכם.
-- **ייעוץ ותמיכה**: ייעוץ מקצועי למניעת טעויות יקרות וגוזלות זמן במהלך פיתוח ה־UI.
-- **אישור לוחות**: לחברות שמציעות לוחות פיתוח או ערכות מוכנות לייצור אנו מספקים הסמכה שמדגימה כיצד הלוח מריץ LVGL.
+שכבות ה-Community וה-Evaluation חופשיות לשימוש; ראו [רישוי](#license) לשימוש מסחרי.
-עיינו ב[דוגמאות](https://lvgl.io/demos) שלנו לע参考. למידע נוסף ראו את [עמוד השירותים](https://lvgl.io/services).
+
+## דוגמאות
-[צרו קשר](https://lvgl.io/#contact) וספרו לנו כיצד נוכל לעזור.
+תוכלו לעיין ביותר מ-100 דוגמאות C ו-XML בכתובת https://lvgl.io/docs/open/examples
-## 🧑💻 שילוב LVGL
+[המציג המקוון](https://viewer.lvgl.io/) של LVGL Pro מכיל גם מדריכים רבים ואת אותן הדוגמאות שתוכלו לשחק בהן באופן אינטראקטיבי.
-שילוב LVGL פשוט מאוד. הוסיפו אותו לפרויקט וקומפלו כמו קבצים אחרים.
-כדי להגדיר, העתיקו את `lv_conf_template.h` ל־`lv_conf.h`, הפעילו את ה־`#if 0` הראשון והתאימו את ההגדרות לפי הצורך.
-(בדרך כלל ברירת המחדל מספקת.) ניתן גם להשתמש ב־LVGL עם Kconfig כשזמין.
+כטעימה, הנה אותו ממשק משתמש פשוט כתוב ב-C וב-XML:
-לאחר מכן אפשר לאתחל את LVGL וליצור התקני תצוגה וקלט כך:
+
+
+
+
+
+
+
+
+
+|
```c
-#include "lvgl/lvgl.h" /*הגדירו LV_LVGL_H_INCLUDE_SIMPLE כדי לכלול כ-"lvgl.h"*/
+static void button_clicked_cb(lv_event_t * e)
+{
+ printf("Clicked\n");
+}
+
+/* ... */
+
+lv_obj_t * button = lv_button_create(lv_screen_active());
+lv_obj_center(button);
+lv_obj_add_event_cb(button, button_clicked_cb,
+ LV_EVENT_CLICKED, NULL);
+
+lv_obj_t * label = lv_label_create(button);
+lv_label_set_text(label, "Hello from LVGL!");
+```
+
+ |
+
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+ |
+
+
+
+
+
+ה-XML שלמעלה הוא מה ש-[LVGL Pro](#lvgl-pro) עובדת איתו: אתם בונים את המסך באופן חזותי והיא מייצרת עבורכם את קוד ה-C.
+
+
+## שילוב
+
+ל-LVGL אין תלויות חיצוניות, כך שניתן להדר אותה בקלות עבור כל התקן. היא מגיעה עם מנהלי התקנים מובנים, זמינה
+במנהלי חבילות רבים וב-RTOS רבים, וגם קלה להסבה לכל התקן חדש.
+
+### משולבת מראש
+
+- **יצרני שבבים**: [ESP32](https://components.espressif.com/components/lvgl/lvgl), [NXP MCUXpresso component](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY), [Renesas FSP](https://lvgl.io/docs/open/integration/chip/renesas), [STM32](https://lvgl.io/docs/open/integration/chip/stm32)
+
+- **מערכות RTOS**: [Zephyr](https://lvgl.io/docs/open/integration/os/zephyr), [NuttX](https://lvgl.io/docs/open/integration/os/nuttx), [RT-Thread](https://lvgl.io/docs/open/integration/os/rt-thread)
+
+- **מסגרות עבודה**: [Arduino](https://lvgl.io/docs/open/integration/framework/arduino), [PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl), [CMSIS-Pack](https://lvgl.io/docs/open/integration/framework/cmsis-pack)
+
+- **יצרני לוחות**: [Seeed Studio](https://www.seeedstudio.com), [Elecrow](https://www.elecrow.com/display/esp-hmi-display.html), [Riverdi](https://lvgl.io/docs/open/integration/boards/manufacturers/riverdi), [VIEWE](https://lvgl.io/docs/open/integration/boards/manufacturers/viewe), ו[עוד רבים](https://lvgl.io/boards)
+
+### מנהלי התקנים מובנים
+LVGL מגיעה עם מנהלי התקנים מוכנים לשימוש, כך שבפלטפורמות נפוצות אינכם צריכים לכתוב בעצמכם את הטיפול בתצוגה ובקלט:
+
+- **סימולטור / שולחני**: חלונות [SDL](https://lvgl.io/docs/open/integration/pc/sdl), X11 ו-[Wayland](https://lvgl.io/docs/open/integration/embedded_linux/drivers/wayland) לפיתוח ולתצוגה מקדימה של ממשק המשתמש שלכם ב-PC.
+- **בקרי תצוגה**: מסכי LCD גנריים מסוג MIPI-DBI/SPI ([ILI9341](https://lvgl.io/docs/open/integration/external_display_controllers/ili9341), ST7789 ודומים), בתוספת בקרים של יצרנים כמו [LTDC](https://lvgl.io/docs/open/integration/chip_vendors/stm32/ltdc) של ST ו-[eLCDIF](https://lvgl.io/docs/open/integration/chip_vendors/nxp/elcdif) של NXP.
+- **Linux מוטמע**: framebuffer (fbdev), DRM/KMS, Wayland, ו-`libinput`/`evdev` עבור קלט מגע ומצביע. למדו עוד [כאן](https://lvgl.io/docs/open/integration/embedded_linux).
+- **GPU / מאיצים**: VG-Lite, NXP PXP, ThinkSilicon NemaGFX, Arm-2D ו-[OpenGL ES](https://lvgl.io/docs/open/integration/embedded_linux/drivers/opengl_driver)
+
+ראו את הרשימה המלאה ואת מדריכי ההגדרה ב[תיעוד השילוב](https://lvgl.io/docs/open/integration).
+
+### ב-LVGL Pro
+
+ב-LVGL Pro תוכלו ליצור פרויקטים מוכנים לשימוש של ממשק משתמש בלבד, VSCode, Zephyr ו-Linux בלחיצה אחת.
+

+
+### הסבה ידנית
+
+שילוב LVGL הוא פשוט מאוד. פשוט הוסיפו אותה לכל פרויקט והדרו אותה כפי שהייתם מהדרים קבצים אחרים.
+כדי להגדיר את LVGL, העתיקו את `lv_conf_template.h` בשם `lv_conf.h`, הפעילו את `#if 0` הראשון, והתאימו את ההגדרות לפי הצורך.
+(ההגדרה שמוגדרת כברירת מחדל מתאימה בדרך כלל.) אם זמין, ניתן להשתמש ב-LVGL גם עם Kconfig.
+
+לאחר שהיא נמצאת בפרויקט, תוכלו לאתחל את LVGL וליצור התקני תצוגה וקלט באופן הבא:
+
+
+
+```c
+#include "lvgl/lvgl.h" /*Define LV_LVGL_H_INCLUDE_SIMPLE to include as "lvgl.h"*/
#define TFT_HOR_RES 320
#define TFT_VER_RES 240
@@ -126,7 +226,11 @@ static uint32_t my_tick_cb(void)
static void my_flush_cb(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map)
{
- /*כתבו את px_map לאזור המתאים במאגר המסגרת או בבקר התצוגה החיצוני*/
+ /*Write px_map to the area->x1, area->x2, area->y1, area->y2 area of the
+ *frame buffer or external display controller. */
+
+ /* signal LVGL that we're done */
+ lv_display_flush_ready(disp);
}
static void my_touch_read_cb(lv_indev_t * indev, lv_indev_data_t * data)
@@ -144,219 +248,67 @@ void main(void)
{
my_hardware_init();
- /*אתחול LVGL*/
+ /*Initialize LVGL*/
lv_init();
- /*הגדרת מקור טיק במילישניות כדי של־LVGL תהיה ספירת זמן*/
+ /*Set millisecond-based tick source for LVGL so that it can track time.*/
lv_tick_set_cb(my_tick_cb);
- /*יצירת תצוגה להוספת מסכים ווידג'טים*/
+ /*Create a display where screens and widgets can be added*/
lv_display_t * display = lv_display_create(TFT_HOR_RES, TFT_VER_RES);
- /*הוספת מאגרי רינדור
- *כאן מוסיפים מאגר חלקי קטן בהנחה של 16 סיביות (RGB565)*/
- static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 בגלל עומק צבע 16 ביט */
+ /*Add rendering buffers to the screen.
+ *Here adding a smaller partial buffer assuming 16-bit (RGB565 color format)*/
+ static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 because of 16-bit color depth */
lv_display_set_buffers(display, buf, NULL, sizeof(buf), LV_DISPLAY_RENDER_MODE_PARTIAL);
- /*קולבק לרענון התוכן מן המאגר אל התצוגה*/
+ /*Add a callback that can flush the content from `buf` when it has been rendered*/
lv_display_set_flush_cb(display, my_flush_cb);
- /*יצירת התקן קלט למגע*/
+ /*Create an input device for touch handling*/
lv_indev_t * indev = lv_indev_create();
lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER);
lv_indev_set_read_cb(indev, my_touch_read_cb);
- /*הדרייברים מוכנים, יוצרים UI*/
+ /*The drivers are in place; now we can create the UI*/
lv_obj_t * label = lv_label_create(lv_screen_active());
lv_label_set_text(label, "Hello world");
lv_obj_center(label);
- /*לולאת משימות של LVGL*/
+ /*Execute the LVGL-related tasks in a loop*/
while(1) {
lv_timer_handler();
- my_sleep_ms(5); /*השהיה קצרה להורדת עומס המערכת*/
+ my_sleep_ms(5); /*Wait a little to let the system breathe*/
}
}
```
-## 🤖 דוגמאות
-מעל 100 דוגמאות זמינות ב־https://docs.lvgl.io/master/examples.html
+
-המציג המקוון כולל גם מדריכים ללימוד XML: https://viewer.lvgl.io/
+
+## תרומה
+
+LVGL הוא פרויקט פתוח, ותרומות מתקבלות בברכה רבה. יש דרכים רבות לתרום, החל מסתם דיבור על הפרויקט שלכם, כתיבת דוגמאות, שיפור התיעוד, תיקון באגים, ואפילו אירוח הפרויקט שלכם תחת ארגון LVGL.
+
+לתיאור מפורט של הזדמנויות התרומה, בקרו בסעיף [תרומה](https://lvgl.io/docs/open/contributing)
+בתיעוד.
+
+מאות אנשים כבר השאירו את טביעת האצבע שלהם ב-LVGL. היו אחד מהם! נתראה כאן! 🙂
-### כפתור Hello World עם אירוע
+
+## רישיון
-

+ספריית LVGL מופצת תחת **רישיון MIT**, כך שתוכלו להשתמש בה בחופשיות גם במוצרים
+בקוד פתוח וגם במוצרים מסחריים ללא תמלוגים. ראו [`LICENCE.txt`](../LICENCE.txt).
-
- קוד C
+כל ספריות הצד השלישי המצורפות ל-LVGL משוחררות אף הן תחת רישיונות תואמי MIT,
+כך שתוכלו להשתמש ב-LVGL ובתלויות שלה בביטחון מלא.
- ```c
-static void button_clicked_cb(lv_event_t * e)
-{
- printf("Clicked\n");
-}
-
-[...]
-
- lv_obj_t * button = lv_button_create(lv_screen_active());
- lv_obj_center(button);
- lv_obj_add_event_cb(button, button_clicked_cb, LV_EVENT_CLICKED, NULL);
-
- lv_obj_t * label = lv_label_create(button);
- lv_label_set_text(label, "Hello from LVGL!");
-```
-
-
-
- ב־XML עם LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-```
-
-
-
-### מחוון מעוצב עם קישור נתונים
-
-

-
-
- קוד C
-
-```c
-static void my_observer_cb(lv_observer_t * observer, lv_subject_t * subject)
-{
- printf("Slider value: %d\n", lv_subject_get_int(subject));
-}
-
-[...]
-
-static lv_subject_t subject_value;
-lv_subject_init_int(&subject_value, 35);
-lv_subject_add_observer(&subject_value, my_observer_cb, NULL);
-
-lv_style_t style_base;
-lv_style_init(&style_base);
-lv_style_set_bg_color(&style_base, lv_color_hex(0xff8800));
-lv_style_set_bg_opa(&style_base, 255);
-lv_style_set_radius(&style_base, 4);
-
-lv_obj_t * slider = lv_slider_create(lv_screen_active());
-lv_obj_center(slider);
-lv_obj_set_size(slider, lv_pct(80), 16);
-lv_obj_add_style(slider, &style_base, LV_PART_INDICATOR);
-lv_obj_add_style(slider, &style_base, LV_PART_KNOB);
-lv_obj_add_style(slider, &style_base, 0);
-lv_obj_set_style_bg_opa(slider, LV_OPA_50, 0);
-lv_obj_set_style_border_width(slider, 3, LV_PART_KNOB);
-lv_obj_set_style_border_color(slider, lv_color_hex3(0xfff), LV_PART_KNOB);
-lv_slider_bind_value(slider, &subject_value);
-
-lv_obj_t * label = lv_label_create(lv_screen_active());
-lv_obj_align(label, LV_ALIGN_CENTER, 0, -30);
-lv_label_bind_text(label, &subject_value, "Temperature: %d °C");
-```
-
-
-
-
- ב־XML עם LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-### תיבות סימון בפריסה
-
-

-
-
- קוד C
-
- ```c
-/* יצירת מסך חדש וטעינתו */
-lv_obj_t * scr = lv_obj_create(NULL);
-lv_screen_load(scr);
-
-/* הגדרת פריסת עמודה */
-lv_obj_set_flex_flow(scr, LV_FLEX_FLOW_COLUMN);
-lv_obj_set_flex_align(scr, LV_FLEX_ALIGN_SPACE_EVENLY, /*יישור אנכי*/
- LV_FLEX_ALIGN_START, /*יישור אופקי במסילה*/
- LV_FLEX_ALIGN_CENTER); /*יישור המסילה*/
-
-/* יצירת 5 תיבות סימון */
-const char * texts[5] = {"Input 1", "Input 2", "Input 3", "Output 1", "Output 2"};
-for(int i = 0; i < 5; i++) {
- lv_obj_t * cb = lv_checkbox_create(scr);
- lv_checkbox_set_text(cb, texts[i]);
-}
-
-/* שינוי מצבים */
-lv_obj_add_state(lv_obj_get_child(scr, 1), LV_STATE_CHECKED);
-lv_obj_add_state(lv_obj_get_child(scr, 3), LV_STATE_DISABLED);
-```
-
-
-
-
- ב־XML עם LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-
-```
-
-
-
-
-## 🌟 תרומה
-
-LVGL הוא פרויקט פתוח ותרומות מתקבלות בברכה. אפשר לתרום בדרכים רבות: לשתף על הפרויקט שלכם, לכתוב דוגמאות, לשפר את התיעוד, לתקן תקלות ואפילו לארח פרויקט משלכם תחת ארגון LVGL.
-
-לתיאור מפורט של אפשרויות התרומה, בקרו בפרק [Contributing](https://docs.lvgl.io/master/contributing/index.html) בתיעוד.
-
-יותר מ־600 אנשים כבר הותירו חותם על LVGL. הצטרפו אלינו. נתראה שם 🙂
-
-
-
-...ועוד רבים.
+**[LVGL Pro](https://lvgl.io/pro)** מגיעה עם רישוי נפרד:
+- שכבות ה-**Community** וה-**Evaluation** הן **חופשיות לשימוש לא מסחרי**, מושלמות עבור
+ למידה, פרויקטי תחביב והערכת הכלים.
+- שימוש מסחרי ב-LVGL Pro מחייב רישיון בתשלום. ראו את [התמחור והפרטים](https://lvgl.io/pro#pricing).
+
diff --git a/docs/README_ja.md b/docs/README_ja.md
new file mode 100644
index 0000000000..16ea707b5e
--- /dev/null
+++ b/docs/README_ja.md
@@ -0,0 +1,285 @@
+
+ ドキュメント •
+ フォーラム •
+ ブログ •
+ サービス
+
+ EN •
+ 中文 •
+ 日本語 •
+ 한국어 •
+ PT •
+ עברית
+
+
+
+
+
軽量で汎用性の高いグラフィックスライブラリ
+
+
+
+
+
+
+

+
+

+
+
+
+
+
+
+
+ 概要 •
+ 機能 •
+ LVGL Pro •
+ サンプル •
+ 統合 •
+ コントリビュート •
+ ライセンス
+
+
+
+## 概要
+
+**LVGL** は、無料でオープンソースのUIライブラリであり、あらゆるベンダーのあらゆるMCUやMPU向けに、あらゆるプラットフォーム上でグラフィカルユーザーインターフェースを作成できます。
+
+**要件**: LVGLには外部依存関係がないため、小規模なMCUから3D対応のマルチコアLinuxベースMPUまで、あらゆる最新のターゲット向けに簡単にコンパイルできます。*一般的な* UIであれば、必要なのはRAMが約100kB、フラッシュが約200〜300kB、そしてレンダリング用に画面の1/10のバッファサイズだけです。
+
+**幅広い採用**: チップベンダー(NXP、Espressif、Renesasなど)、RTOSプロジェクト(Zephyr、NuttXなど)、ボードメーカー(Riverdi、Seeed Studio、VIEWE、Elecrowなど)はすべて、すでにLVGLを統合しています。開発ボードにディスプレイが搭載されているなら、そのベンダーがLVGLサポートも提供している可能性が非常に高いです。
+
+**プロフェッショナルツール**: C言語のコードを書く代わりに、[LVGL Pro](#lvgl-pro) を使うことでUI開発を大幅に高速化・簡素化できます。これはEditor、Figma統合、Online Viewer、CLIを備えた完全なツールキットです。追加のランタイムや隠れた仕掛けなしに、XMLから純粋なLVGLのCコードをエクスポートします。非商用利用および評価目的では無料です。
+
+**始めるには**、[サンプル](#examples) を見たり、[Simulatorプロジェクト](https://lvgl.io/docs/open/integration/pc) を立ち上げたり、LVGL Proの [Online Viewer](https://viewer.lvgl.io/) を試したり、[LVGL Pro](https://lvgl.io/docs/pro/integration/simulator) でワンクリックでUIをウィンドウ内でコンパイル・実行したり、AI対応の [ドキュメント](https://lvgl.io/docs/open) に飛び込んだりしてみてください。[**Ask AI**](https://lvgl.io/docs/open) をクリックして、何でも質問してみましょう!
+
+
+## 機能
+
+**無料、ポータブル、スケーラブル**
+ - 外部依存関係のない、完全にポータブルなC(C++互換)ライブラリ。
+ - 任意の(RT)OSで、任意のMCUまたはMPU向けにコンパイル可能。Make、CMake、シンプルなグロビングのすべてに対応。
+ - モノクロ、ePaper、OLED、TFTディスプレイ、さらにはモニターにも対応。[ディスプレイ](https://lvgl.io/docs/open/main-modules/display)
+ - MITライセンスの下で配布されているため、商用プロジェクトでも簡単に利用できます。
+ - 最小構成では、RAM 32kBとフラッシュ128kB、フレームバッファ、そしてレンダリング用に少なくとも画面の1/10サイズのバッファだけで動作します。
+ - OS、外部メモリ、GPUに対応していますが、必須ではありません。
+
+**ウィジェット、スタイル、レイアウト、その他**
+ - 30種類以上の組み込み [ウィジェット](https://lvgl.io/docs/open/widgets): Button、Label、Slider、Chart、Keyboard、Meter、Arc、Tableなど多数。
+ - 100以上のスタイルプロパティを備えた柔軟な [スタイルシステム](https://lvgl.io/docs/open/common-widget-features/styles) で、あらゆる状態のウィジェットのあらゆる部分をカスタマイズできます。
+ - [Flexbox](https://lvgl.io/docs/open/common-widget-features/layouts/flex) と [Grid](https://lvgl.io/docs/open/common-widget-features/layouts/grid) 風のレイアウトエンジンで、ウィジェットのサイズと位置をレスポンシブに自動調整します。
+ - UIとアプリケーションを簡単に接続する [データバインディング](https://lvgl.io/docs/open/main-modules/observer)。
+ - Mouse、Touchpad、Keypad、Keyboard、外部ボタン、Encoderの [入力デバイス](https://lvgl.io/docs/open/main-modules/indev) に対応。
+ - [マルチディスプレイ](https://lvgl.io/docs/open/main-modules/display/overview#how-many-displays-can-lvgl-use) 対応。
+
+**レンダリング**
+ - 基本図形、グラデーション、アンチエイリアス、不透明度、スムーススクロール、ボックスシャドウやドロップシャドウ、画像変換などに対応した組み込み2Dレンダリングエンジン。
+ - OpenGLで [glTFモデル](https://sketchfab.com/) を表示する [強力な3Dレンダリングエンジン](https://lvgl.io/docs/open/libs/gltf)。
+ - ベクターグラフィックス、SVG、Lottie対応。
+ - テキストはUTF-8エンコーディングでレンダリングされ、CJK、タイ語、ヒンディー語、アラビア語、ペルシャ語の書記体系に対応します。
+ - VG-Lite、Dave2D、NeoChrome、OpenGLなどのGPUを組み込みでサポート。
+
+
+## LVGL Pro
+
+C言語でのUI構築はうまく機能しますが、プロジェクトが成長するにつれて反復作業が遅くなり、一貫性を保つのが難しくなります。[LVGL Pro](https://lvgl.io/pro) を使えば、再利用可能なコンポーネントや画面をビジュアルに構築し、変更を即座にプレビューし、データバインディング、翻訳、アニメーション、テストを一箇所で管理できます。
+
+Proは、追加のランタイムや依存関係のない、あなたがすでに使っているのと同じLVGLの、プレーンなLVGLのCコードをエクスポートします。ビルドや出荷の方法を変えることなく、既存のプロジェクトに組み込めます。
+
+
+
+
+
+何もインストールせずに [viewer.lvgl.io](https://viewer.lvgl.io) でブラウザ上で試すことも、[Editorをダウンロード](https://lvgl.io/pro#download) して無料のCommunityライセンスの下で使うこともできます。
+
+LVGL Proは、密接に関連する4つのツールで構成されています。
+
+1. **Editor**: LVGL Proの中核。XMLでコンポーネントや画面を構築し、データバインディング、翻訳、アニメーション、テストなどを管理するデスクトップアプリです。[XMLフォーマット](https://lvgl.io/docs/pro/syntax) と [ウィジェット](https://lvgl.io/docs/pro/built_in_widgets) について詳しく学べます。
+2. **Online Viewer**: Editorをブラウザ上で実行し、GitHubプロジェクトを開き、開発環境をセットアップすることなく簡単に共有できます。[https://viewer.lvgl.io](https://viewer.lvgl.io) にアクセスしてください。
+3. **Figma Plugin**: FigmaのデザインをワンクリックでLVGL Proに移行します。仕組みは [こちら](https://lvgl.io/docs/pro/figma) をご覧ください。
+4. **CLI Tool**: Cコードを生成し、CI/CDでテストを実行します。詳細は [こちら](https://lvgl.io/docs/pro/cli) をご覧ください。
+
+CommunityとEvaluationのティアは無料で使えます。商用利用については [ライセンス](#license) を参照してください。
+
+
+## サンプル
+
+https://lvgl.io/docs/open/examples で100を超えるCおよびXMLのサンプルを確認できます。
+
+LVGL Proの [Online Viewer](https://viewer.lvgl.io/) にも、多数のチュートリアルや、インタラクティブに操作できる同じサンプルが含まれています。
+
+ちょっとした紹介として、同じシンプルなUIをCとXMLで書いたものを示します。
+
+
+
+
+
+
+
+
+|
+
+```c
+static void button_clicked_cb(lv_event_t * e)
+{
+ printf("Clicked\n");
+}
+
+/* ... */
+
+lv_obj_t * button = lv_button_create(lv_screen_active());
+lv_obj_center(button);
+lv_obj_add_event_cb(button, button_clicked_cb,
+ LV_EVENT_CLICKED, NULL);
+
+lv_obj_t * label = lv_label_create(button);
+lv_label_set_text(label, "Hello from LVGL!");
+```
+
+ |
+
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+ |
+
+
+
+上記のXMLは、[LVGL Pro](#lvgl-pro) が扱うものです。画面をビジュアルに構築すると、Proがそれに対応するCコードを生成してくれます。
+
+
+## 統合
+
+LVGLには外部依存関係がないため、あらゆるデバイス向けに簡単にコンパイルできます。組み込みドライバーが付属しており、多くのパッケージマネージャーやRTOSで利用でき、新しいデバイスへの移植も容易です。
+
+### 事前統合済み
+
+- **チップベンダー**: [ESP32](https://components.espressif.com/components/lvgl/lvgl)、[NXP MCUXpressoコンポーネント](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)、[Renesas FSP](https://lvgl.io/docs/open/integration/chip/renesas)、[STM32](https://lvgl.io/docs/open/integration/chip/stm32)
+
+- **RTOS**: [Zephyr](https://lvgl.io/docs/open/integration/os/zephyr)、[NuttX](https://lvgl.io/docs/open/integration/os/nuttx)、[RT-Thread](https://lvgl.io/docs/open/integration/os/rt-thread)
+
+- **フレームワーク**: [Arduino](https://lvgl.io/docs/open/integration/framework/arduino)、[PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl)、[CMSIS-Pack](https://lvgl.io/docs/open/integration/framework/cmsis-pack)
+
+- **ボードメーカー**: [Seeed Studio](https://www.seeedstudio.com)、[Elecrow](https://www.elecrow.com/display/esp-hmi-display.html)、[Riverdi](https://lvgl.io/docs/open/integration/boards/manufacturers/riverdi)、[VIEWE](https://lvgl.io/docs/open/integration/boards/manufacturers/viewe)、[その他多数](https://lvgl.io/boards)
+
+### 組み込みドライバー
+LVGLにはすぐに使えるドライバーが付属しているため、一般的なプラットフォームではディスプレイや入力処理を自分で書く必要はありません。
+
+- **Simulator / デスクトップ**: [SDL](https://lvgl.io/docs/open/integration/pc/sdl)、X11、[Wayland](https://lvgl.io/docs/open/integration/embedded_linux/drivers/wayland) のウィンドウで、PC上でUIを開発・プレビューできます。
+- **ディスプレイコントローラー**: 汎用MIPI-DBI/SPI LCD([ILI9341](https://lvgl.io/docs/open/integration/external_display_controllers/ili9341)、ST7789など)に加え、STの [LTDC](https://lvgl.io/docs/open/integration/chip_vendors/stm32/ltdc) やNXPの [eLCDIF](https://lvgl.io/docs/open/integration/chip_vendors/nxp/elcdif) といったベンダーコントローラー。
+- **組み込みLinux**: framebuffer(fbdev)、DRM/KMS、Wayland、そしてタッチとポインタ入力用の `libinput`/`evdev`。詳細は [こちら](https://lvgl.io/docs/open/integration/embedded_linux) をご覧ください。
+- **GPU / アクセラレーター**: VG-Lite、NXP PXP、ThinkSilicon NemaGFX、Arm-2D、[OpenGL ES](https://lvgl.io/docs/open/integration/embedded_linux/drivers/opengl_driver)
+
+完全な一覧とセットアップガイドは [統合ドキュメント](https://lvgl.io/docs/open/integration) をご覧ください。
+
+### LVGL Proでの統合
+
+LVGL Proでは、UIのみ、VSCode、Zephyr、Linuxのすぐに使えるプロジェクトをワンクリックで作成できます。
+
+
+### 手動での移植
+
+LVGLの統合はとても簡単です。任意のプロジェクトに配置し、他のファイルと同じようにコンパイルするだけです。LVGLを設定するには、`lv_conf_template.h` を `lv_conf.h` としてコピーし、最初の `#if 0` を有効にして、必要に応じて設定を調整します。(デフォルトの設定で通常は問題ありません。)利用可能であれば、LVGLはKconfigと併用することもできます。
+
+プロジェクトに組み込んだら、次のようにLVGLを初期化し、ディスプレイと入力デバイスを作成できます。
+
+```c
+#include "lvgl/lvgl.h" /*Define LV_LVGL_H_INCLUDE_SIMPLE to include as "lvgl.h"*/
+
+#define TFT_HOR_RES 320
+#define TFT_VER_RES 240
+
+static uint32_t my_tick_cb(void)
+{
+ return my_get_millisec();
+}
+
+static void my_flush_cb(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map)
+{
+ /*Write px_map to the area->x1, area->x2, area->y1, area->y2 area of the
+ *frame buffer or external display controller. */
+
+ /* signal LVGL that we're done */
+ lv_display_flush_ready(disp);
+}
+
+static void my_touch_read_cb(lv_indev_t * indev, lv_indev_data_t * data)
+{
+ if(my_touch_is_pressed()) {
+ data->point.x = touchpad_x;
+ data->point.y = touchpad_y;
+ data->state = LV_INDEV_STATE_PRESSED;
+ } else {
+ data->state = LV_INDEV_STATE_RELEASED;
+ }
+}
+
+void main(void)
+{
+ my_hardware_init();
+
+ /*Initialize LVGL*/
+ lv_init();
+
+ /*Set millisecond-based tick source for LVGL so that it can track time.*/
+ lv_tick_set_cb(my_tick_cb);
+
+ /*Create a display where screens and widgets can be added*/
+ lv_display_t * display = lv_display_create(TFT_HOR_RES, TFT_VER_RES);
+
+ /*Add rendering buffers to the screen.
+ *Here adding a smaller partial buffer assuming 16-bit (RGB565 color format)*/
+ static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 because of 16-bit color depth */
+ lv_display_set_buffers(display, buf, NULL, sizeof(buf), LV_DISPLAY_RENDER_MODE_PARTIAL);
+
+ /*Add a callback that can flush the content from `buf` when it has been rendered*/
+ lv_display_set_flush_cb(display, my_flush_cb);
+
+ /*Create an input device for touch handling*/
+ lv_indev_t * indev = lv_indev_create();
+ lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER);
+ lv_indev_set_read_cb(indev, my_touch_read_cb);
+
+ /*The drivers are in place; now we can create the UI*/
+ lv_obj_t * label = lv_label_create(lv_screen_active());
+ lv_label_set_text(label, "Hello world");
+ lv_obj_center(label);
+
+ /*Execute the LVGL-related tasks in a loop*/
+ while(1) {
+ lv_timer_handler();
+ my_sleep_ms(5); /*Wait a little to let the system breathe*/
+ }
+}
+```
+
+
+
+## コントリビュート
+
+LVGLはオープンなプロジェクトであり、コントリビュートを大いに歓迎しています。あなたのプロジェクトについて話すこと、サンプルを書くこと、ドキュメントを改善すること、バグを修正すること、さらには自分のプロジェクトをLVGL組織の下でホストすることまで、貢献する方法はたくさんあります。
+
+コントリビュートの機会についての詳しい説明は、ドキュメントの [コントリビュート](https://lvgl.io/docs/open/contributing) セクションをご覧ください。
+
+すでに何百人もの人々がLVGLに足跡を残しています。あなたもその一人になりましょう!ここでお会いしましょう! 🙂
+
+
+
+## ライセンス
+
+LVGLライブラリは **MITライセンス** の下で配布されているため、オープンソース製品でも商用製品でもロイヤリティなしで自由に使用できます。[`LICENCE.txt`](../LICENCE.txt) を参照してください。
+
+LVGLにバンドルされているすべてのサードパーティライブラリもMIT互換ライセンスの下でリリースされているため、LVGLとその依存関係を安心して使用できます。
+
+**[LVGL Pro](https://lvgl.io/pro)** には別途ライセンスがあります。
+- **Community** と **Evaluation** のティアは **非商用利用では無料** であり、学習、趣味のプロジェクト、ツールの評価に最適です。
+- LVGL Proの商用利用には有料ライセンスが必要です。[料金と詳細](https://lvgl.io/pro#pricing) を参照してください。
diff --git a/docs/README_jp.md b/docs/README_jp.md
deleted file mode 100644
index cd5c570ca7..0000000000
--- a/docs/README_jp.md
+++ /dev/null
@@ -1,332 +0,0 @@
-
-
-
-
-English | 中文 | Português do Brasil | 日本語 | עברית
-
-
-
-
-
-
-
- Light and Versatile Graphics Library
-
-
-

-
-

-
-
-
-
-
-
- ウェブサイト |
- LVGL Pro エディター |
- ドキュメント |
- フォーラム |
- デモ |
- サービス
-
-
-
-
-## 📒 概要
-
-**LVGL** は、あらゆるメーカーやプラットフォームの MCU および MPU に対応した、無料でオープンソースの UI ライブラリです。
-
-**要件**:LVGL は外部依存がないため、最新のあらゆるターゲットに簡単にコンパイルできます。小型 MCU から 3D 対応のマルチコア Linux MPU まで対応。シンプルな UI の場合、約 100kB の RAM、200~300kB のフラッシュ、および画面の 1/10 サイズのバッファで十分です。
-
-**はじめに**:VSCode、Eclipse などのプロジェクトを選び、PC 上で LVGL を試してみましょう。LVGL の UI コードは完全にプラットフォーム非依存なので、そのまま組込みターゲットでも使用できます。
-
-**LVGL Pro** は、UI をより迅速に構築・テスト・共有・出荷できる完全なツールキットです。XML エディターを備え、再利用可能なコンポーネントの作成・テスト、C コードのエクスポート、XML の実行時読み込みが可能です。詳細は公式サイトをご覧ください。
-
-## 💡 機能
-
-**無料でポータブル**
- - 外部依存のない完全な C(C++ 互換)ライブラリ。
- - あらゆる MCU / MPU、任意の (RT)OS に対応。Make、CMake、glob 構文をサポート。
- - モノクロ、電子ペーパー、OLED、TFT、さらにはモニターにも対応。[ディスプレイ](https://docs.lvgl.io/master/main-modules/display/index.html)
- - MIT ライセンスで商用利用も簡単。
- - 必要リソースはわずか 32kB RAM、128kB フラッシュ、フレームバッファ、および画面の 1/10 の描画バッファ。
- - OS、外部メモリ、GPU の使用は任意。
-
-**ウィジェット・スタイル・レイアウトなど**
- - 30 以上の [ウィジェット](https://docs.lvgl.io/master/widgets/index.html):ボタン、ラベル、スライダー、チャート、キーボード、メーター、アーク、テーブルなど。
- - 約 100 のプロパティを持つ柔軟な [スタイルシステム](https://docs.lvgl.io/master/common-widget-features/styles/index.html)。
- - [Flexbox](https://docs.lvgl.io/master/common-widget-features/layouts/flex.html)、[Grid](https://docs.lvgl.io/master/common-widget-features/layouts/grid.html) レイアウトエンジンによる自動配置。
- - UTF-8 文字レンダリング。CJK、タイ語、ヒンディー語、アラビア語、ペルシャ語などをサポート。
- - [データバインディング](https://docs.lvgl.io/master/main-modules/observer/index.html) により、UI とアプリケーションを簡単に接続。
- - レンダリングエンジンはアニメーション、アンチエイリアス、不透明度、スムーズスクロール、影、画像変換をサポート。
- - [3D レンダリングエンジン](https://docs.lvgl.io/master/libs/gltf.html) により [glTF モデル](https://sketchfab.com/) を OpenGL で表示可能。
- - マウス、タッチパッド、キー入力、外部ボタン、エンコーダなどに対応。[入力デバイス](https://docs.lvgl.io/master/main-modules/indev.html)
- - [マルチディスプレイ](https://docs.lvgl.io/master/main-modules/display/overview.html#how-many-displays-can-lvgl-use) をサポート。
-
-## 📦️ 対応プラットフォーム
-
-LVGL は外部依存がなく、さまざまなデバイスで簡単にビルドでき、主要なパッケージマネージャや RTOS にも統合されています:
-
-- [Arduino ライブラリ](https://docs.lvgl.io/master/integration/framework/arduino.html)
-- [PlatformIO パッケージ](https://registry.platformio.org/libraries/lvgl/lvgl)
-- [Zephyr ライブラリ](https://docs.lvgl.io/master/integration/os/zephyr.html)
-- [ESP-IDF (ESP32) コンポーネント](https://components.espressif.com/components/lvgl/lvgl)
-- [NXP MCUXpresso コンポーネント](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)
-- [NuttX ライブラリ](https://docs.lvgl.io/master/integration/os/nuttx.html)
-- [RT-Thread RTOS](https://docs.lvgl.io/master/integration/os/rt-thread.html)
-- CMSIS-Pack
-- [RIOT OS パッケージ](https://doc.riot-os.org/group__pkg__lvgl.html#details)
-
-## 🚀 LVGL Pro エディター
-
-LVGL Pro は、組込み UI を効率的に構築・テスト・共有・出荷するための完全なツール群です。
-
-以下の 4 つのツールで構成されています:
-
-1. **XML エディター**:LVGL Pro の中心。XML でコンポーネントや画面を作成し、データバインディング、翻訳、アニメーション、テストなどを管理。詳細は [XML フォーマット](https://docs.lvgl.io/master/xml/xml/index.html) および [エディター](https://docs.lvgl.io/master/xml/editor/index.html)。
-2. **オンラインビューア**:ブラウザでエディターを実行し、GitHub プロジェクトを開いて簡単に共有。環境構築は不要。アクセス:[https://viewer.lvgl.io](https://viewer.lvgl.io)
-3. **CLI ツール**:C コードの生成や CI/CD テストを自動化。詳細は [こちら](https://docs.lvgl.io/master/xml/tools/cli.html)。
-4. **Figma プラグイン**:Figma から直接スタイルを同期・抽出。[詳細はこちら](https://docs.lvgl.io/master/xml/tools/figma.html)。
-
-これらのツールを組み合わせることで、開発者は効率的に UI を構築し、信頼性の高いテストとチームコラボレーションを実現できます。
-
-詳細は https://pro.lvgl.io へ。
-
-## 🤝 商用サービス
-
-LVGL LLC は、UI 開発を支援するさまざまな商用サービスを提供しています。ユーザーインターフェースとグラフィック分野で 15 年以上の経験を活かし、あなたの製品 UI を次のレベルへ導きます。
-
-- **グラフィックデザイン**:社内デザイナーが、製品とハードウェア性能に最適化された美しくモダンなデザインを提供。
-- **UI 実装**:お客様または当社が作成したデザインに基づき、最適な UI を実装。必要なウィジェットがない場合も新たに開発します。
-- **コンサルティング・サポート**:UI 開発での時間やコストの無駄を避けるための専門支援。
-- **ボード認証**:開発ボードや製品キットを提供する企業向けに、LVGL の動作実績を示す認証を提供。
-
-参考として [デモ](https://lvgl.io/demos) をご覧ください。詳細は [サービスページ](https://lvgl.io/services) を参照ください。
-
-[お問い合わせ](https://lvgl.io/#contact) からご連絡ください。
-
-## 🧑💻 LVGL の統合
-
-LVGL の統合は非常に簡単です。プロジェクトに追加して他のファイルと同様にコンパイルするだけです。
-設定するには、`lv_conf_template.h` を `lv_conf.h` としてコピーし、最初の `#if 0` を有効化して必要に応じて設定を調整します。
-(通常はデフォルト設定で十分です。)Kconfig にも対応しています。
-
-プロジェクト内で LVGL を初期化し、ディスプレイと入力デバイスを作成する例:
-
-```c
-#include "lvgl/lvgl.h" /*LV_LVGL_H_INCLUDE_SIMPLE を定義すると "lvgl.h" としてインクルード可能*/
-
-#define TFT_HOR_RES 320
-#define TFT_VER_RES 240
-
-static uint32_t my_tick_cb(void)
-{
- return my_get_millisec();
-}
-
-static void my_flush_cb(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map)
-{
- /*px_map をフレームバッファまたは外部ディスプレイコントローラに書き込む*/
-}
-
-static void my_touch_read_cb(lv_indev_t * indev, lv_indev_data_t * data)
-{
- if(my_touch_is_pressed()) {
- data->point.x = touchpad_x;
- data->point.y = touchpad_y;
- data->state = LV_INDEV_STATE_PRESSED;
- } else {
- data->state = LV_INDEV_STATE_RELEASED;
- }
-}
-
-void main(void)
-{
- my_hardware_init();
-
- /*LVGL を初期化*/
- lv_init();
-
- /*ミリ秒単位のタイマーコールバックを設定*/
- lv_tick_set_cb(my_tick_cb);
-
- /*ディスプレイを作成*/
- lv_display_t * display = lv_display_create(TFT_HOR_RES, TFT_VER_RES);
-
- /*描画バッファを追加(16bit RGB565 の場合)*/
- static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2];
- lv_display_set_buffers(display, buf, NULL, sizeof(buf), LV_DISPLAY_RENDER_MODE_PARTIAL);
-
- /*描画内容をフラッシュするコールバックを設定*/
- lv_display_set_flush_cb(display, my_flush_cb);
-
- /*入力デバイスを作成(タッチ用)*/
- lv_indev_t * indev = lv_indev_create();
- lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER);
- lv_indev_set_read_cb(indev, my_touch_read_cb);
-
- /*UI を作成*/
- lv_obj_t * label = lv_label_create(lv_screen_active());
- lv_label_set_text(label, "Hello world");
- lv_obj_center(label);
-
- /*メインループで LVGL を実行*/
- while(1) {
- lv_timer_handler();
- my_sleep_ms(5);
- }
-}
-```
-
-## 🤖 サンプル
-
-100 以上のサンプルが https://docs.lvgl.io/master/examples.html にあります。
-
-オンラインビューア https://viewer.lvgl.io/ でも XML のチュートリアルを学べます。
-
-
-### Hello World ボタンイベント
-
-
-
-
- C コード
-
- ```c
-static void button_clicked_cb(lv_event_t * e)
-{
- printf("Clicked\n");
-}
-
-[...]
-
- lv_obj_t * button = lv_button_create(lv_screen_active());
- lv_obj_center(button);
- lv_obj_add_event_cb(button, button_clicked_cb, LV_EVENT_CLICKED, NULL);
-
- lv_obj_t * label = lv_label_create(button);
- lv_label_set_text(label, "Hello from LVGL!");
-```
-
-
-
- LVGL Pro の XML
-
-```xml
-
-
-
-
-
-
-
-
-```
-
-
-
-### データバインド付きスライダー
-
-
-
-
- C コード
-
-```c
-static void my_observer_cb(lv_observer_t * observer, lv_subject_t * subject)
-{
- printf("Slider value: %d\n", lv_subject_get_int(subject));
-}
-
-[...]
-
-static lv_subject_t subject_value;
-lv_subject_init_int(&subject_value, 35);
-lv_subject_add_observer(&subject_value, my_observer_cb, NULL);
-
-lv_style_t style_base;
-lv_style_init(&style_base);
-lv_style_set_bg_color(&style_base, lv_color_hex(0xff8800));
-lv_style_set_bg_opa(&style_base, 255);
-lv_style_set_radius(&style_base, 4);
-
-lv_obj_t * slider = lv_slider_create(lv_screen_active());
-lv_obj_center(slider);
-lv_obj_set_size(slider, lv_pct(80), 16);
-lv_obj_add_style(slider, &style_base, LV_PART_INDICATOR);
-lv_obj_add_style(slider, &style_base, LV_PART_KNOB);
-lv_obj_add_style(slider, &style_base, 0);
-lv_obj_set_style_bg_opa(slider, LV_OPA_50, 0);
-lv_obj_set_style_border_width(slider, 3, LV_PART_KNOB);
-lv_obj_set_style_border_color(slider, lv_color_hex3(0xfff), LV_PART_KNOB);
-lv_slider_bind_value(slider, &subject_value);
-
-lv_obj_t * label = lv_label_create(lv_screen_active());
-lv_obj_align(label, LV_ALIGN_CENTER, 0, -30);
-lv_label_bind_text(label, &subject_value, "Temperature: %d °C");
-```
-
-
-
-
- LVGL Pro の XML
-
-```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-### レイアウト内のチェックボックス
-
-
-
-
- C コード
-
- ```c
-/* 新しい画面を作成してロード */
-lv_obj_t * scr = lv_obj_create(NULL);
-lv_screen_load(scr);
-
-/* 縦方向のレイアウトを設定 */
-lv_obj_set_flex_flow(scr, LV_FLEX_FLOW_COLUMN);
-lv_obj_set_flex_align(scr, LV_FLEX_ALIGN_SPACE_EVENLY,
- LV_FLEX_ALIGN_START,
- LV_FLEX_ALIGN_CENTER);
-
-/* チェックボックスを 5 個作成 */
-const char * texts[5] = {"Input 1", "Input 2", "Input 3", "Output 1", "Output 2"};
-for(int i = 0; i < 5; i++) {
- lv_obj_t * cb = lv_checkbox_create(scr);
- lv_checkbox_set_text(cb, texts[i]);
-}
-
-/* 状態変更 */
-lv_obj_add_state(lv_obj_get_child(scr, 1), LV_STATE_CHECKED);
-lv_obj_add_state(lv_obj_get_child(scr, 3), LV_STATE_DISABLED);
-```
-
-
-
-
- LVGL Pro の XML
-
-```xml
-
+ 문서 •
+ 포럼 •
+ 블로그 •
+ 서비스
+
+ EN •
+ 中文 •
+ 日本語 •
+ 한국어 •
+ PT •
+ עברית
+
+
+
+
+
가볍고 다재다능한 그래픽 라이브러리
+
+
+
+
+
+
+

+
+

+
+
+
+
+
+
+
+ 개요 •
+ 기능 •
+ LVGL Pro •
+ 예제 •
+ 통합 •
+ 기여 •
+ 라이선스
+
+
+
+## 개요
+
+**LVGL**은 어떤 벤더의 어떤 MCU 및 MPU에서든, 어떤 플랫폼에서든 그래픽 사용자 인터페이스를
+만들 수 있게 해주는 무료 오픈소스 UI 라이브러리입니다.
+
+**요구 사항**: LVGL은 외부 의존성이 없어서 소형 MCU부터 3D를 지원하는 멀티코어 리눅스 기반 MPU까지
+어떤 최신 타깃이든 손쉽게 컴파일할 수 있습니다. *일반적인* UI의 경우 약 100kB RAM,
+약 200~300kB 플래시, 그리고 렌더링을 위한 화면의 1/10 크기 버퍼만 있으면 됩니다.
+
+**광범위한 채택**: 칩 벤더(NXP, Espressif, Renesas 등), RTOS 프로젝트(Zephyr, NuttX 등),
+그리고 보드 제조사(Riverdi, Seeed Studio, VIEWE, Elecrow 등)가 모두 이미 LVGL을 통합했습니다. 개발 보드에 디스플레이가 있다면
+그 벤더가 LVGL 지원도 제공할 가능성이 매우 높습니다.
+
+**전문 도구**: C 코드를 작성하는 대신, Editor, Figma 통합, Online Viewer, CLI를 갖춘 완전한 툴킷인 [LVGL Pro](#lvgl-pro)를 사용하면 UI 개발을 크게 가속하고 단순화할 수 있습니다. 추가 런타임이나 숨겨진 마법 없이 XML에서 순수 LVGL C 코드를 내보냅니다. 비상업적 용도와 평가용으로는 무료입니다.
+
+**시작하려면** [예제](#examples)를 둘러보고, [시뮬레이터 프로젝트](https://lvgl.io/docs/open/integration/pc)를 실행해 보고, LVGL Pro의 [Online Viewer](https://viewer.lvgl.io/)를 탐색하고, [LVGL Pro](https://lvgl.io/docs/pro/integration/simulator)에서 클릭 한 번으로 UI를 창에서 컴파일하고 실행해 보거나, AI 지원 [문서](https://lvgl.io/docs/open)를 살펴보세요. [**Ask AI**](https://lvgl.io/docs/open)를 클릭해서
+무엇이든 물어보세요!
+
+
+## 기능
+
+**무료, 이식 가능, 확장 가능**
+ - 외부 의존성이 없는 완전히 이식 가능한 C(C++ 호환) 라이브러리입니다.
+ - 어떤 (RT)OS든 사용하여 어떤 MCU 또는 MPU에서든 컴파일할 수 있습니다. Make, CMake, 그리고 간단한 globbing이 모두 지원됩니다.
+ - 흑백, ePaper, OLED, TFT 디스플레이, 심지어 모니터까지 지원합니다. [디스플레이](https://lvgl.io/docs/open/main-modules/display)
+ - MIT 라이선스로 배포되므로 상업 프로젝트에서도 손쉽게 사용할 수 있습니다.
+ - 최소한으로는 32kB RAM과 128kB 플래시, 프레임 버퍼, 그리고 렌더링을 위한 최소 1/10 화면 크기 버퍼만 필요합니다.
+ - OS, 외부 메모리, GPU는 지원되지만 필수는 아닙니다.
+
+**위젯, 스타일, 레이아웃 등**
+ - 30개 이상의 내장 [위젯](https://lvgl.io/docs/open/widgets): Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table 등 다수.
+ - 어떤 상태에서든 위젯의 모든 부분을 커스터마이징할 수 있는 100개 이상의 스타일 속성을 갖춘 유연한 [스타일 시스템](https://lvgl.io/docs/open/common-widget-features/styles).
+ - 위젯의 크기와 위치를 반응형으로 자동 조정하는 [Flexbox](https://lvgl.io/docs/open/common-widget-features/layouts/flex) 및 [Grid](https://lvgl.io/docs/open/common-widget-features/layouts/grid) 유사 레이아웃 엔진.
+ - UI를 애플리케이션과 손쉽게 연결하는 [데이터 바인딩](https://lvgl.io/docs/open/main-modules/observer).
+ - Mouse, Touchpad, Keypad, Keyboard, 외부 버튼, Encoder [입력 장치](https://lvgl.io/docs/open/main-modules/indev)를 지원합니다.
+ - [다중 디스플레이](https://lvgl.io/docs/open/main-modules/display/overview#how-many-displays-can-lvgl-use) 지원.
+
+**렌더링**
+ - 기본 도형, 그라디언트, 안티앨리어싱, 불투명도, 부드러운 스크롤, 박스 및 드롭 섀도, 이미지 변환 등을 지원하는 내장 2D 렌더링 엔진.
+ - OpenGL로 [glTF 모델](https://sketchfab.com/)을 표시하는 [강력한 3D 렌더링 엔진](https://lvgl.io/docs/open/libs/gltf).
+ - 벡터 그래픽, SVG, Lottie 지원.
+ - 텍스트는 UTF-8 인코딩으로 렌더링되며, CJK, 태국어, 힌디어, 아랍어, 페르시아어 문자 체계를 지원합니다.
+ - VG-Lite, Dave2D, NeoChrome, OpenGL 등 GPU에 대한 내장 지원.
+
+
+## LVGL Pro
+
+C로 UI를 만드는 것도 잘 작동하지만, 프로젝트가 커질수록 반복 작업이 느려지고 일관성을 유지하기가 어려워집니다.
+[LVGL Pro](https://lvgl.io/pro)를 사용하면 재사용 가능한 컴포넌트와 화면을 시각적으로 만들고, 변경 사항을
+즉시 미리 보고, 데이터 바인딩, 번역, 애니메이션, 테스트를 한곳에서 관리할 수 있습니다.
+
+Pro는 평범한 LVGL C 코드를 내보냅니다. 이미 사용 중인 바로 그 LVGL이며, 추가 런타임이나 의존성이 없습니다. 빌드하거나
+배포하는 방식을 바꾸지 않고도 기존 프로젝트에 그대로 들어갑니다.
+
+
+
+
+
+아무것도 설치하지 않고 브라우저에서 [viewer.lvgl.io](https://viewer.lvgl.io)로 사용해 보거나,
+[Editor를 다운로드](https://lvgl.io/pro#download)하여 무료 Community 라이선스로 사용할 수 있습니다.
+
+LVGL Pro는 긴밀하게 연관된 네 가지 도구로 구성됩니다:
+
+1. **Editor**: LVGL Pro의 핵심. XML로 컴포넌트와 화면을 만들고 데이터 바인딩, 번역, 애니메이션, 테스트 등을 관리하는 데스크톱 앱입니다. [XML 형식](https://lvgl.io/docs/pro/syntax)과 [위젯](https://lvgl.io/docs/pro/built_in_widgets)에 대해 자세히 알아보세요.
+2. **Online Viewer**: 브라우저에서 Editor를 실행하고, GitHub 프로젝트를 열고, 개발 환경을 설정하지 않고도 손쉽게 공유하세요. [https://viewer.lvgl.io](https://viewer.lvgl.io)를 방문하세요.
+3. **Figma 플러그인**: 클릭 한 번으로 Figma 디자인을 LVGL Pro로 옮기세요. 작동 방식은 [여기](https://lvgl.io/docs/pro/figma)에서 확인하세요.
+4. **CLI 도구**: C 코드를 생성하고 CI/CD에서 테스트를 실행하세요. 자세한 내용은 [여기](https://lvgl.io/docs/pro/cli)를 참조하세요.
+
+Community 및 Evaluation 등급은 무료로 사용할 수 있으며, 상업적 사용에 대해서는 [라이선스](#license)를 참조하세요.
+
+
+## 예제
+
+https://lvgl.io/docs/open/examples 에서 100개가 넘는 C 및 XML 예제를 확인할 수 있습니다.
+
+LVGL Pro의 [Online Viewer](https://viewer.lvgl.io/)에도 많은 튜토리얼과 함께 인터랙티브하게 다뤄볼 수 있는 동일한 예제들이 포함되어 있습니다.
+
+맛보기로, 동일한 간단한 UI를 C와 XML로 작성한 예를 보여드립니다:
+
+
+
+
+
+
+
+
+|
+
+```c
+static void button_clicked_cb(lv_event_t * e)
+{
+ printf("Clicked\n");
+}
+
+/* ... */
+
+lv_obj_t * button = lv_button_create(lv_screen_active());
+lv_obj_center(button);
+lv_obj_add_event_cb(button, button_clicked_cb,
+ LV_EVENT_CLICKED, NULL);
+
+lv_obj_t * label = lv_label_create(button);
+lv_label_set_text(label, "Hello from LVGL!");
+```
+
+ |
+
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+ |
+
+
+
+위의 XML은 [LVGL Pro](#lvgl-pro)가 다루는 것입니다: 화면을 시각적으로 만들면 Pro가 C 코드를 생성해 줍니다.
+
+
+## 통합
+
+LVGL은 외부 의존성이 없어서 어떤 장치에서든 손쉽게 컴파일할 수 있습니다. 내장 드라이버가 함께 제공되고,
+많은 패키지 관리자와 RTOS에서 이용할 수 있으며, 새로운 장치에 포팅하기도 쉽습니다.
+
+### 사전 통합됨
+
+- **칩 벤더**: [ESP32](https://components.espressif.com/components/lvgl/lvgl), [NXP MCUXpresso 컴포넌트](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY), [Renesas FSP](https://lvgl.io/docs/open/integration/chip/renesas), [STM32](https://lvgl.io/docs/open/integration/chip/stm32)
+
+- **RTOS**: [Zephyr](https://lvgl.io/docs/open/integration/os/zephyr), [NuttX](https://lvgl.io/docs/open/integration/os/nuttx), [RT-Thread](https://lvgl.io/docs/open/integration/os/rt-thread)
+
+- **프레임워크**: [Arduino](https://lvgl.io/docs/open/integration/framework/arduino), [PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl), [CMSIS-Pack](https://lvgl.io/docs/open/integration/framework/cmsis-pack)
+
+- **보드 제조사**: [Seeed Studio](https://www.seeedstudio.com), [Elecrow](https://www.elecrow.com/display/esp-hmi-display.html), [Riverdi](https://lvgl.io/docs/open/integration/boards/manufacturers/riverdi), [VIEWE](https://lvgl.io/docs/open/integration/boards/manufacturers/viewe), 그리고 [그 외 다수](https://lvgl.io/boards)
+
+### 내장 드라이버
+LVGL은 바로 사용할 수 있는 드라이버와 함께 제공되므로, 일반적인 플랫폼에서는 디스플레이와 입력 처리를 직접 작성할 필요가 없습니다:
+
+- **시뮬레이터 / 데스크톱**: PC에서 UI를 개발하고 미리 볼 수 있는 [SDL](https://lvgl.io/docs/open/integration/pc/sdl), X11, [Wayland](https://lvgl.io/docs/open/integration/embedded_linux/drivers/wayland) 창.
+- **디스플레이 컨트롤러**: 범용 MIPI-DBI/SPI LCD([ILI9341](https://lvgl.io/docs/open/integration/external_display_controllers/ili9341), ST7789 및 유사 제품)와 ST의 [LTDC](https://lvgl.io/docs/open/integration/chip_vendors/stm32/ltdc), NXP의 [eLCDIF](https://lvgl.io/docs/open/integration/chip_vendors/nxp/elcdif) 같은 벤더 컨트롤러.
+- **임베디드 리눅스**: 프레임버퍼(fbdev), DRM/KMS, Wayland, 그리고 터치 및 포인터 입력을 위한 `libinput`/`evdev`. 자세한 내용은 [여기](https://lvgl.io/docs/open/integration/embedded_linux)에서 확인하세요.
+- **GPU / 가속기**: VG-Lite, NXP PXP, ThinkSilicon NemaGFX, Arm-2D, 그리고 [OpenGL ES](https://lvgl.io/docs/open/integration/embedded_linux/drivers/opengl_driver)
+
+전체 목록과 설정 가이드는 [통합 문서](https://lvgl.io/docs/open/integration)에서 확인하세요.
+
+### LVGL Pro에서
+
+LVGL Pro에서는 클릭 한 번으로 바로 사용할 수 있는 UI 전용, VSCode, Zephyr, Linux 프로젝트를 만들 수 있습니다.
+
+
+### 수동으로 포팅하기
+
+LVGL 통합은 매우 간단합니다. 어떤 프로젝트에든 넣고 다른 파일을 컴파일하듯이 컴파일하기만 하면 됩니다.
+LVGL을 구성하려면 `lv_conf_template.h`를 `lv_conf.h`로 복사하고, 첫 번째 `#if 0`을 활성화한 뒤, 필요에 따라 구성을 조정하세요.
+(기본 구성으로도 대개 충분합니다.) 가능한 경우 LVGL은 Kconfig와 함께 사용할 수도 있습니다.
+
+프로젝트에 넣은 후에는 다음과 같이 LVGL을 초기화하고 디스플레이 및 입력 장치를 생성할 수 있습니다:
+
+```c
+#include "lvgl/lvgl.h" /*Define LV_LVGL_H_INCLUDE_SIMPLE to include as "lvgl.h"*/
+
+#define TFT_HOR_RES 320
+#define TFT_VER_RES 240
+
+static uint32_t my_tick_cb(void)
+{
+ return my_get_millisec();
+}
+
+static void my_flush_cb(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map)
+{
+ /*Write px_map to the area->x1, area->x2, area->y1, area->y2 area of the
+ *frame buffer or external display controller. */
+
+ /* signal LVGL that we're done */
+ lv_display_flush_ready(disp);
+}
+
+static void my_touch_read_cb(lv_indev_t * indev, lv_indev_data_t * data)
+{
+ if(my_touch_is_pressed()) {
+ data->point.x = touchpad_x;
+ data->point.y = touchpad_y;
+ data->state = LV_INDEV_STATE_PRESSED;
+ } else {
+ data->state = LV_INDEV_STATE_RELEASED;
+ }
+}
+
+void main(void)
+{
+ my_hardware_init();
+
+ /*Initialize LVGL*/
+ lv_init();
+
+ /*Set millisecond-based tick source for LVGL so that it can track time.*/
+ lv_tick_set_cb(my_tick_cb);
+
+ /*Create a display where screens and widgets can be added*/
+ lv_display_t * display = lv_display_create(TFT_HOR_RES, TFT_VER_RES);
+
+ /*Add rendering buffers to the screen.
+ *Here adding a smaller partial buffer assuming 16-bit (RGB565 color format)*/
+ static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 because of 16-bit color depth */
+ lv_display_set_buffers(display, buf, NULL, sizeof(buf), LV_DISPLAY_RENDER_MODE_PARTIAL);
+
+ /*Add a callback that can flush the content from `buf` when it has been rendered*/
+ lv_display_set_flush_cb(display, my_flush_cb);
+
+ /*Create an input device for touch handling*/
+ lv_indev_t * indev = lv_indev_create();
+ lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER);
+ lv_indev_set_read_cb(indev, my_touch_read_cb);
+
+ /*The drivers are in place; now we can create the UI*/
+ lv_obj_t * label = lv_label_create(lv_screen_active());
+ lv_label_set_text(label, "Hello world");
+ lv_obj_center(label);
+
+ /*Execute the LVGL-related tasks in a loop*/
+ while(1) {
+ lv_timer_handler();
+ my_sleep_ms(5); /*Wait a little to let the system breathe*/
+ }
+}
+```
+
+
+
+## 기여
+
+LVGL은 열린 프로젝트이며, 기여를 매우 환영합니다. 단순히 여러분의 프로젝트에 대해 이야기하는 것부터, 예제를 작성하고, 문서를 개선하고, 버그를 수정하거나, 심지어 LVGL 조직 아래에 여러분의 프로젝트를 호스팅하는 것까지, 기여할 수 있는 방법은 많습니다.
+
+기여 기회에 대한 자세한 설명은 문서의 [기여](https://lvgl.io/docs/open/contributing)
+섹션을 방문하세요.
+
+이미 수백 명의 사람들이 LVGL에 자취를 남겼습니다. 여러분도 그중 한 명이 되세요! 여기서 만나요! 🙂
+
+
+
+## 라이선스
+
+LVGL 라이브러리는 **MIT 라이선스**로 배포되므로, 로열티 없이 오픈소스 및 상업 제품 모두에서
+자유롭게 사용할 수 있습니다. [`LICENCE.txt`](../LICENCE.txt)를 참조하세요.
+
+LVGL과 함께 번들로 제공되는 모든 서드파티 라이브러리도 MIT 호환 라이선스로 배포되므로,
+LVGL과 그 의존성을 안심하고 사용할 수 있습니다.
+
+**[LVGL Pro](https://lvgl.io/pro)**는 별도의 라이선스를 적용합니다:
+- **Community** 및 **Evaluation** 등급은 **비상업적 용도로 무료**이며, 학습, 취미 프로젝트,
+ 도구 평가에 완벽합니다.
+- LVGL Pro의 상업적 사용에는 유료 라이선스가 필요합니다. [가격 및 상세 정보](https://lvgl.io/pro#pricing)를 참조하세요.
diff --git a/docs/README_pt_BR.md b/docs/README_pt_BR.md
index e2fa44ffdb..69986536dd 100644
--- a/docs/README_pt_BR.md
+++ b/docs/README_pt_BR.md
@@ -1,133 +1,212 @@
-
-
-
-
- English |
- 中文 |
- Português do Brasil |
- 日本語 |
+
+ Docs •
+ Fórum •
+ Blog •
+ Serviços
+
+ EN •
+ 中文 •
+ 日本語 •
+ 한국어 •
+ PT •
עברית
+
-
+
+
Light and Versatile Graphics Library
-LVGL - Light and Versatile Graphics Library
-LVGL - Biblioteca gráfica leve e versátil
-
-
-
-
- Site |
- Editor LVGL Pro |
- Documentação |
- Fórum |
- Demos |
- Serviços
-
-
+
-## 📒 Visão geral
+
+ Visão geral •
+ Recursos •
+ LVGL Pro •
+ Exemplos •
+ Integração •
+ Contribuindo •
+ Licença
+
-**LVGL** é uma biblioteca de UI gratuita e de código aberto que permite criar interfaces gráficas
-para qualquer MCU e MPU, de qualquer fabricante, em qualquer plataforma.
+
+## Visão geral
-**Requisitos**: o LVGL não possui dependências externas, o que facilita compilar para qualquer alvo moderno,
-desde pequenos MCUs até MPUs Linux multicore com suporte a 3D. Para uma UI simples, você precisa de ~100 kB de RAM,
-~200–300 kB de flash e um buffer de renderização com 1/10 do tamanho da tela.
+O **LVGL** é uma biblioteca de UI livre e de código aberto que permite criar interfaces gráficas de usuário
+para quaisquer MCUs e MPUs, de qualquer fabricante, em qualquer plataforma.
-**Para começar**, escolha um projeto pronto para uso no VSCode, Eclipse ou outro, e experimente o LVGL
-no seu PC. O código de UI do LVGL é totalmente independente de plataforma, então você pode reutilizá-lo
-nos seus alvos embarcados.
+**Requisitos**: o LVGL não possui dependências externas, o que facilita sua compilação para qualquer alvo moderno,
+de pequenos MCUs a MPUs multi-core baseados em Linux com suporte a 3D. Para uma UI *típica*, você precisa de apenas ~100kB de RAM,
+~200–300kB de flash e um buffer com 1/10 do tamanho da tela para renderização.
-**LVGL Pro** é um kit completo para ajudar você a criar, testar, compartilhar e entregar UIs com mais rapidez.
-Ele inclui um Editor XML onde você pode criar e testar componentes reutilizáveis,
-exportar código C ou carregar os XMLs em tempo de execução. Saiba mais aqui.
+**Ampla adoção**: fabricantes de chips (como NXP, Espressif, Renesas e assim por diante), projetos de RTOS (Zephyr, NuttX, etc.)
+e fabricantes de placas (Riverdi, Seeed Studio, VIEWE, Elecrow, etc.) já integraram o LVGL. Se uma placa de desenvolvimento tem um display, é muito provável
+que o fabricante também ofereça suporte ao LVGL.
-## 💡 Recursos
+**Ferramentas profissionais**: em vez de escrever código C, você pode acelerar e simplificar enormemente o desenvolvimento de UI usando o [LVGL Pro](#lvgl-pro), um kit de ferramentas completo com Editor, integração com Figma, Online Viewer e CLI. Ele exporta código C puro do LVGL a partir de XML, sem runtime extra ou mágica oculta. É gratuito para uso não comercial e avaliação.
-**Gratuito e portátil**
- - Biblioteca totalmente em C (compatível com C++) sem dependências externas.
- - Pode ser compilada para qualquer MCU ou MPU, com qualquer (RT)OS. Make, CMake e globbing simples são suportados.
- - Suporta displays monocromáticos, ePaper, OLED, TFT e até monitores. [Displays](https://docs.lvgl.io/master/main-modules/display/index.html)
- - Licença MIT, o que facilita o uso em projetos comerciais.
- - Precisa de apenas 32 kB de RAM, 128 kB de Flash, um frame buffer e pelo menos um buffer de 1/10 da tela para renderização.
- - Sistema operacional, memória externa e GPU são suportados, mas não obrigatórios.
+**Para começar**, navegue pelos [Exemplos](#examples), inicie um [projeto de Simulador](https://lvgl.io/docs/open/integration/pc), explore o [Online Viewer](https://viewer.lvgl.io/) do LVGL Pro, compile e execute uma UI em uma janela no [LVGL Pro](https://lvgl.io/docs/pro/integration/simulator) com um clique, ou mergulhe na nossa [documentação](https://lvgl.io/docs/open) pronta para IA. Basta clicar em [**Ask AI**](https://lvgl.io/docs/open)
+e perguntar qualquer coisa!
-**Widgets, estilos, layouts e mais**
- - 30+ [Widgets](https://docs.lvgl.io/master/widgets/index.html) embutidos: Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table e muitos outros.
- - [Sistema de estilos](https://docs.lvgl.io/master/common-widget-features/styles/index.html) flexível com ~100 propriedades para personalizar qualquer parte dos widgets em qualquer estado.
- - Motores de layout tipo [Flexbox](https://docs.lvgl.io/master/common-widget-features/layouts/flex.html) e [Grid](https://docs.lvgl.io/master/common-widget-features/layouts/grid.html) para dimensionar e posicionar widgets de forma responsiva.
- - Texto renderizado com codificação UTF-8, com suporte a CJK, tailandês, híndi, árabe e persa.
- - [Data bindings](https://docs.lvgl.io/master/main-modules/observer/index.html) para conectar facilmente a UI ao aplicativo.
- - Motor de renderização com suporte a animações, antialiasing, opacidade, rolagem suave, sombras, transformação de imagens e mais.
- - [Poderoso motor de renderização 3D](https://docs.lvgl.io/master/libs/gltf.html) para exibir [modelos glTF](https://sketchfab.com/) com OpenGL.
- - Suporte a mouse, touchpad, keypad, teclado, botões externos e encoder. [Dispositivos de entrada](https://docs.lvgl.io/master/main-modules/indev.html)
- - Suporte a [múltiplos displays](https://docs.lvgl.io/master/main-modules/display/overview.html#how-many-displays-can-lvgl-use).
+
+## Recursos
-## 📦️ Plataformas compatíveis
+**Livre, portátil e escalável**
+ - Uma biblioteca C totalmente portátil (compatível com C++) sem dependências externas.
+ - Pode ser compilada para qualquer MCU ou MPU, com qualquer (RT)OS. Make, CMake e globbing simples são todos suportados.
+ - Suporta displays monocromáticos, ePaper, OLED ou TFT, ou até monitores. [Displays](https://lvgl.io/docs/open/main-modules/display)
+ - Distribuída sob a licença MIT, então você pode usá-la facilmente em projetos comerciais também.
+ - No mínimo absoluto, precisa apenas de 32kB de RAM e 128kB de Flash, um frame buffer e pelo menos um buffer com 1/10 do tamanho da tela para renderização.
+ - OS, memória externa e GPU são suportados, mas não obrigatórios.
-O LVGL não possui dependências externas, por isso é fácil de compilar para qualquer dispositivo e também está disponível em vários gerenciadores de pacotes e RTOS:
+**Widgets, estilos, layouts e muito mais**
+ - Mais de 30 [Widgets](https://lvgl.io/docs/open/widgets) integrados: Button, Label, Slider, Chart, Keyboard, Meter, Arc, Table e muitos outros.
+ - [Sistema de estilos](https://lvgl.io/docs/open/common-widget-features/styles) flexível com mais de 100 propriedades de estilo para personalizar qualquer parte dos widgets em qualquer estado.
+ - Motores de layout semelhantes a [Flexbox](https://lvgl.io/docs/open/common-widget-features/layouts/flex) e [Grid](https://lvgl.io/docs/open/common-widget-features/layouts/grid) para dimensionar e posicionar os widgets de forma responsiva automaticamente.
+ - [Data bindings](https://lvgl.io/docs/open/main-modules/observer) para conectar facilmente a UI à aplicação.
+ - Suporta Mouse, Touchpad, Keypad, Keyboard, botões externos e Encoder [dispositivos de entrada](https://lvgl.io/docs/open/main-modules/indev).
+ - Suporte a [múltiplos displays](https://lvgl.io/docs/open/main-modules/display/overview#how-many-displays-can-lvgl-use).
-- [Biblioteca Arduino](https://docs.lvgl.io/master/integration/framework/arduino.html)
-- [Pacote PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl)
-- [Biblioteca Zephyr](https://docs.lvgl.io/master/integration/os/zephyr.html)
-- [Componente ESP-IDF (ESP32)](https://components.espressif.com/components/lvgl/lvgl)
-- [Componente NXP MCUXpresso](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)
-- [Biblioteca NuttX](https://docs.lvgl.io/master/integration/os/nuttx.html)
-- [RT-Thread RTOS](https://docs.lvgl.io/master/integration/os/rt-thread.html)
-- CMSIS-Pack
-- [Pacote RIOT OS](https://doc.riot-os.org/group__pkg__lvgl.html#details)
+**Renderização**
+ - Motor de renderização 2D integrado com suporte a formas básicas, gradientes, anti-aliasing, opacidade, rolagem suave, sombras de caixa e projetadas, transformação de imagens, etc.
+ - [Motor de renderização 3D poderoso](https://lvgl.io/docs/open/libs/gltf) para exibir [modelos glTF](https://sketchfab.com/) com OpenGL.
+ - Suporte a gráficos vetoriais, SVG e Lottie.
+ - O texto é renderizado com codificação UTF-8, com suporte aos sistemas de escrita CJK, tailandês, hindi, árabe e persa.
+ - Suporte integrado a GPUs como VG-Lite, Dave2D, NeoChrome, OpenGL, etc.
-## 🚀 Editor LVGL Pro
+
+## LVGL Pro
-O LVGL Pro é um conjunto completo para criar, testar, compartilhar e entregar UIs embarcadas com eficiência.
+Construir UIs em C funciona bem, mas se torna lento para iterar e mais difícil de manter consistente à medida que um projeto cresce.
+O [LVGL Pro](https://lvgl.io/pro) permite construir componentes e telas reutilizáveis visualmente, visualizar mudanças
+instantaneamente e gerenciar data bindings, traduções, animações e testes em um só lugar.
-Ele é composto por quatro ferramentas integradas:
+O Pro exporta código C puro do LVGL: o mesmo LVGL que você já usa, sem runtime extra ou dependência. Ele se encaixa
+em um projeto existente sem mudar a forma como você compila ou entrega.
-1. **Editor XML**: o coração do LVGL Pro. Um app de desktop para criar componentes e telas em XML, gerenciar data bindings, traduções, animações, testes e mais. Saiba mais sobre o [formato XML](https://docs.lvgl.io/master/xml/xml/index.html) e o [Editor](https://docs.lvgl.io/master/xml/editor/index.html).
-2. **Visualizador online**: execute o Editor no navegador, abra projetos do GitHub e compartilhe facilmente sem configurar um ambiente de desenvolvimento. Visite [https://viewer.lvgl.io](https://viewer.lvgl.io).
-3. **Ferramenta CLI**: gere código C e rode testes no CI/CD. Veja os detalhes [aqui](https://docs.lvgl.io/master/xml/tools/cli.html).
-4. **Plugin Figma**: sincronize e extraia estilos diretamente do Figma. Veja como funciona [aqui](https://docs.lvgl.io/master/xml/tools/figma.html).
+
+
+
-Juntas, essas ferramentas permitem criar UIs com eficiência, testá-las com confiabilidade e colaborar com colegas e clientes.
+Você pode experimentá-lo no navegador em [viewer.lvgl.io](https://viewer.lvgl.io) sem instalar nada, ou
+[baixar o Editor](https://lvgl.io/pro#download) e usá-lo sob a licença gratuita Community.
-Saiba mais em https://pro.lvgl.io
+O LVGL Pro consiste em quatro ferramentas fortemente relacionadas:
-## 🤝 Serviços comerciais
+1. **Editor**: o coração do LVGL Pro. Um aplicativo desktop para construir componentes e telas em XML, gerenciar data bindings, traduções, animações, testes e muito mais. Saiba mais sobre o [Formato XML](https://lvgl.io/docs/pro/syntax) e os [Widgets](https://lvgl.io/docs/pro/built_in_widgets).
+2. **Online Viewer**: execute o Editor no seu navegador, abra projetos do GitHub e compartilhe facilmente sem configurar um ambiente de desenvolvimento. Visite [https://viewer.lvgl.io](https://viewer.lvgl.io).
+3. **Plugin do Figma**: mova um design do Figma para o LVGL Pro com um clique. Veja como funciona [aqui](https://lvgl.io/docs/pro/figma).
+4. **Ferramenta CLI**: gere código C e execute testes em CI/CD. Veja os detalhes [aqui](https://lvgl.io/docs/pro/cli).
-A LVGL LLC oferece vários tipos de serviços comerciais para apoiar o seu desenvolvimento de UI. Com mais de 15 anos de experiência em interfaces de usuário e gráficos, ajudamos você a levar sua UI para o próximo nível.
+As camadas Community e Evaluation são gratuitas para uso; consulte o [licenciamento](#license) para uso comercial.
-- **Design gráfico**: nossos designers internos são especialistas em criar visuais modernos e bonitos que combinam com seu produto e com as capacidades do hardware.
-- **Implementação de UI**: implementamos sua UI com base no design criado por você ou por nós. Vamos tirar o máximo do seu hardware e do LVGL. Se faltar algum recurso ou widget no LVGL, nós implementamos para você.
-- **Consultoria e suporte**: oferecemos consultoria para evitar erros caros e demorados durante o desenvolvimento da UI.
-- **Certificação de placas**: para empresas que oferecem placas de desenvolvimento ou kits prontos para produção, fornecemos certificação demonstrando como a placa roda o LVGL.
+
+## Exemplos
-Veja nossos [Demos](https://lvgl.io/demos) como referência. Para mais informações, acesse a [página de Serviços](https://lvgl.io/services).
+Você pode conferir mais de 100 exemplos em C e XML em https://lvgl.io/docs/open/examples
-[Entre em contato](https://lvgl.io/#contact) e conte como podemos ajudar.
+O [Online Viewer](https://viewer.lvgl.io/) do LVGL Pro também contém muitos tutoriais e os mesmos exemplos, com os quais você pode interagir de forma interativa.
-## 🧑💻 Integração do LVGL
+Como prévia, aqui está a mesma UI simples escrita em C e em XML:
-Integrar o LVGL é simples. Basta adicioná-lo ao projeto e compilar como você compila outros arquivos.
-Para configurar, copie `lv_conf_template.h` para `lv_conf.h`, habilite o primeiro `#if 0` e ajuste as configs conforme necessário.
-(A configuração padrão geralmente é suficiente.) Quando disponível, o LVGL também pode ser usado com Kconfig.
+
+
+
-Depois de incluído no projeto, você pode inicializar o LVGL e criar dispositivos de display e de entrada assim:
+
+
+
+|
```c
-#include "lvgl/lvgl.h" /*Defina LV_LVGL_H_INCLUDE_SIMPLE para incluir como "lvgl.h"*/
+static void button_clicked_cb(lv_event_t * e)
+{
+ printf("Clicked\n");
+}
+
+/* ... */
+
+lv_obj_t * button = lv_button_create(lv_screen_active());
+lv_obj_center(button);
+lv_obj_add_event_cb(button, button_clicked_cb,
+ LV_EVENT_CLICKED, NULL);
+
+lv_obj_t * label = lv_label_create(button);
+lv_label_set_text(label, "Hello from LVGL!");
+```
+
+ |
+
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+ |
+
+
+
+O XML acima é com o que o [LVGL Pro](#lvgl-pro) trabalha: você constrói a tela visualmente e ele gera o C para você.
+
+
+## Integração
+
+O LVGL não possui dependências externas, então pode ser facilmente compilado para qualquer dispositivo. Ele vem com drivers integrados, está disponível em
+muitos gerenciadores de pacotes e RTOSes, e também é fácil de portar para qualquer novo dispositivo.
+
+### Pré-integrado
+
+- **Fabricantes de chips**: [ESP32](https://components.espressif.com/components/lvgl/lvgl), [componente NXP MCUXpresso](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY), [Renesas FSP](https://lvgl.io/docs/open/integration/chip/renesas), [STM32](https://lvgl.io/docs/open/integration/chip/stm32)
+
+- **RTOSes**: [Zephyr](https://lvgl.io/docs/open/integration/os/zephyr), [NuttX](https://lvgl.io/docs/open/integration/os/nuttx), [RT-Thread](https://lvgl.io/docs/open/integration/os/rt-thread)
+
+- **Frameworks**: [Arduino](https://lvgl.io/docs/open/integration/framework/arduino), [PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl), [CMSIS-Pack](https://lvgl.io/docs/open/integration/framework/cmsis-pack)
+
+- **Fabricantes de placas**: [Seeed Studio](https://www.seeedstudio.com), [Elecrow](https://www.elecrow.com/display/esp-hmi-display.html), [Riverdi](https://lvgl.io/docs/open/integration/boards/manufacturers/riverdi), [VIEWE](https://lvgl.io/docs/open/integration/boards/manufacturers/viewe), e [muitos outros](https://lvgl.io/boards)
+
+### Drivers integrados
+O LVGL vem com drivers prontos para uso, então em plataformas comuns você não precisa escrever o tratamento de display e entrada por conta própria:
+
+- **Simulador / desktop**: janelas [SDL](https://lvgl.io/docs/open/integration/pc/sdl), X11 e [Wayland](https://lvgl.io/docs/open/integration/embedded_linux/drivers/wayland) para desenvolver e pré-visualizar sua UI em um PC.
+- **Controladores de display**: LCDs MIPI-DBI/SPI genéricos ([ILI9341](https://lvgl.io/docs/open/integration/external_display_controllers/ili9341), ST7789 e similares), além de controladores de fabricantes como o [LTDC](https://lvgl.io/docs/open/integration/chip_vendors/stm32/ltdc) da ST e o [eLCDIF](https://lvgl.io/docs/open/integration/chip_vendors/nxp/elcdif) da NXP.
+- **Linux embarcado**: framebuffer (fbdev), DRM/KMS, Wayland e `libinput`/`evdev` para entrada de toque e ponteiro. Saiba mais [aqui](https://lvgl.io/docs/open/integration/embedded_linux).
+- **GPU / aceleradores**: VG-Lite, NXP PXP, ThinkSilicon NemaGFX, Arm-2D e [OpenGL ES](https://lvgl.io/docs/open/integration/embedded_linux/drivers/opengl_driver)
+
+Veja a lista completa e os guias de configuração na [documentação de Integração](https://lvgl.io/docs/open/integration).
+
+### No LVGL Pro
+
+No LVGL Pro você pode criar projetos prontos para uso somente de UI, VSCode, Zephyr e Linux com um único clique.
+
+
+### Portando manualmente
+
+Integrar o LVGL é muito simples. Basta colocá-lo em qualquer projeto e compilá-lo como você compilaria outros arquivos.
+Para configurar o LVGL, copie `lv_conf_template.h` como `lv_conf.h`, habilite o primeiro `#if 0` e ajuste as configurações conforme necessário.
+(A configuração padrão geralmente é suficiente.) Se disponível, o LVGL também pode ser usado com Kconfig.
+
+Uma vez no projeto, você pode inicializar o LVGL e criar os dispositivos de display e entrada da seguinte forma:
+
+```c
+#include "lvgl/lvgl.h" /*Define LV_LVGL_H_INCLUDE_SIMPLE to include as "lvgl.h"*/
#define TFT_HOR_RES 320
#define TFT_VER_RES 240
@@ -139,7 +218,11 @@ static uint32_t my_tick_cb(void)
static void my_flush_cb(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map)
{
- /*Escreva px_map na área (x1..x2, y1..y2) do frame buffer ou do controlador externo*/
+ /*Write px_map to the area->x1, area->x2, area->y1, area->y2 area of the
+ *frame buffer or external display controller. */
+
+ /* signal LVGL that we're done */
+ lv_display_flush_ready(disp);
}
static void my_touch_read_cb(lv_indev_t * indev, lv_indev_data_t * data)
@@ -157,220 +240,63 @@ void main(void)
{
my_hardware_init();
- /*Inicialize o LVGL*/
+ /*Initialize LVGL*/
lv_init();
- /*Defina a fonte de tick em milissegundos para o LVGL controlar o tempo*/
+ /*Set millisecond-based tick source for LVGL so that it can track time.*/
lv_tick_set_cb(my_tick_cb);
- /*Crie um display onde telas e widgets serão adicionados*/
+ /*Create a display where screens and widgets can be added*/
lv_display_t * display = lv_display_create(TFT_HOR_RES, TFT_VER_RES);
- /*Adicione buffers de renderização
- *Aqui adicionamos um buffer parcial menor assumindo 16 bits (formato RGB565)*/
- static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 por causa de 16 bits por pixel */
+ /*Add rendering buffers to the screen.
+ *Here adding a smaller partial buffer assuming 16-bit (RGB565 color format)*/
+ static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 because of 16-bit color depth */
lv_display_set_buffers(display, buf, NULL, sizeof(buf), LV_DISPLAY_RENDER_MODE_PARTIAL);
- /*Adicione o callback que faz o flush do conteúdo de `buf` quando renderizado*/
+ /*Add a callback that can flush the content from `buf` when it has been rendered*/
lv_display_set_flush_cb(display, my_flush_cb);
- /*Crie um dispositivo de entrada para toque*/
+ /*Create an input device for touch handling*/
lv_indev_t * indev = lv_indev_create();
lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER);
lv_indev_set_read_cb(indev, my_touch_read_cb);
- /*Drivers prontos, agora crie a UI*/
+ /*The drivers are in place; now we can create the UI*/
lv_obj_t * label = lv_label_create(lv_screen_active());
lv_label_set_text(label, "Hello world");
lv_obj_center(label);
- /*Execute as tarefas do LVGL em loop*/
+ /*Execute the LVGL-related tasks in a loop*/
while(1) {
lv_timer_handler();
- my_sleep_ms(5); /*Espere um pouco para o sistema respirar*/
+ my_sleep_ms(5); /*Wait a little to let the system breathe*/
}
}
```
-## 🤖 Exemplos
-Você pode conferir mais de 100 exemplos em https://docs.lvgl.io/master/examples.html
+
+## Contribuindo
-O Visualizador Online também contém tutoriais para aprender XML com facilidade: https://viewer.lvgl.io/
+O LVGL é um projeto aberto, e as contribuições são muito bem-vindas. Existem muitas maneiras de contribuir, desde simplesmente falar sobre o seu projeto, escrever exemplos, melhorar a documentação, corrigir bugs, ou até mesmo hospedar o seu próprio projeto sob a organização LVGL.
-
-### Botão Hello World com evento
-
-
-
-
- C code
-
- ```c
-static void button_clicked_cb(lv_event_t * e)
-{
- printf("Clicked\n");
-}
-
-[...]
-
- lv_obj_t * button = lv_button_create(lv_screen_active());
- lv_obj_center(button);
- lv_obj_add_event_cb(button, button_clicked_cb, LV_EVENT_CLICKED, NULL);
-
- lv_obj_t * label = lv_label_create(button);
- lv_label_set_text(label, "Hello from LVGL!");
-```
-
-
-
- Em XML com o LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-```
-
-
-
-### Slider estilizado com data binding
-
-
-
-
- C code
-
-```c
-static void my_observer_cb(lv_observer_t * observer, lv_subject_t * subject)
-{
- printf("Slider value: %d\n", lv_subject_get_int(subject));
-}
-
-[...]
-
-static lv_subject_t subject_value;
-lv_subject_init_int(&subject_value, 35);
-lv_subject_add_observer(&subject_value, my_observer_cb, NULL);
-
-lv_style_t style_base;
-lv_style_init(&style_base);
-lv_style_set_bg_color(&style_base, lv_color_hex(0xff8800));
-lv_style_set_bg_opa(&style_base, 255);
-lv_style_set_radius(&style_base, 4);
-
-lv_obj_t * slider = lv_slider_create(lv_screen_active());
-lv_obj_center(slider);
-lv_obj_set_size(slider, lv_pct(80), 16);
-lv_obj_add_style(slider, &style_base, LV_PART_INDICATOR);
-lv_obj_add_style(slider, &style_base, LV_PART_KNOB);
-lv_obj_add_style(slider, &style_base, 0);
-lv_obj_set_style_bg_opa(slider, LV_OPA_50, 0);
-lv_obj_set_style_border_width(slider, 3, LV_PART_KNOB);
-lv_obj_set_style_border_color(slider, lv_color_hex3(0xfff), LV_PART_KNOB);
-lv_slider_bind_value(slider, &subject_value);
-
-lv_obj_t * label = lv_label_create(lv_screen_active());
-lv_obj_align(label, LV_ALIGN_CENTER, 0, -30);
-lv_label_bind_text(label, &subject_value, "Temperature: %d °C");
-```
-
-
-
-
- Em XML com o LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-### Checkboxes em um layout
-
-
-
-
- C code
-
- ```c
-/*Crie uma nova tela e carregue-a*/
-lv_obj_t * scr = lv_obj_create(NULL);
-lv_screen_load(scr);
-
-/*Defina um layout em coluna*/
-lv_obj_set_flex_flow(scr, LV_FLEX_FLOW_COLUMN);
-lv_obj_set_flex_align(scr, LV_FLEX_ALIGN_SPACE_EVENLY, /*Alinhamento vertical*/
- LV_FLEX_ALIGN_START, /*Alinhamento horizontal na trilha*/
- LV_FLEX_ALIGN_CENTER); /*Alinhamento da trilha*/
-
-/*Crie 5 checkboxes*/
-const char * texts[5] = {"Input 1", "Input 2", "Input 3", "Output 1", "Output 2"};
-for(int i = 0; i < 5; i++) {
- lv_obj_t * cb = lv_checkbox_create(scr);
- lv_checkbox_set_text(cb, texts[i]);
-}
-
-/*Altere alguns estados*/
-lv_obj_add_state(lv_obj_get_child(scr, 1), LV_STATE_CHECKED);
-lv_obj_add_state(lv_obj_get_child(scr, 3), LV_STATE_DISABLED);
-```
-
-
-
-
- Em XML com o LVGL Pro
-
-```xml
-
-
-
-
-
-
-
-
-
-```
-
-
-
-
-## 🌟 Como contribuir
-
-O LVGL é um projeto aberto, e contribuições são muito bem-vindas. Há muitas formas de contribuir, desde falar sobre o seu projeto, escrever exemplos, melhorar a documentação, corrigir bugs, até hospedar seu próprio projeto na organização LVGL.
-
-Para uma descrição detalhada das oportunidades de contribuição, visite a seção [Contributing](https://docs.lvgl.io/master/contributing/index.html)
+Para uma descrição detalhada das oportunidades de contribuição, visite a seção [Contribuindo](https://lvgl.io/docs/open/contributing)
da documentação.
-Mais de 600 pessoas já deixaram sua marca no LVGL. Junte-se a nós. Até breve 🙂
+Centenas de pessoas já deixaram sua marca no LVGL. Seja uma delas! Vejo você por aqui! 🙂
-
-... e muitas outras.
+
+## Licença
+A biblioteca LVGL é distribuída sob a **licença MIT**, então você pode usá-la livremente tanto em
+produtos de código aberto quanto comerciais sem royalties. Veja [`LICENCE.txt`](../LICENCE.txt).
+
+Todas as bibliotecas de terceiros incluídas no LVGL também são lançadas sob licenças compatíveis com a MIT,
+então você pode usar o LVGL e suas dependências com confiança.
+
+O **[LVGL Pro](https://lvgl.io/pro)** possui licenciamento separado:
+- As camadas **Community** e **Evaluation** são **gratuitas para uso não comercial**, perfeitas para
+ aprendizado, projetos de hobby e avaliação das ferramentas.
+- O uso comercial do LVGL Pro requer uma licença paga. Veja os [Preços e Detalhes](https://lvgl.io/pro#pricing).
diff --git a/docs/README_zh.md b/docs/README_zh.md
index c1f50c00cd..da28f9c520 100644
--- a/docs/README_zh.md
+++ b/docs/README_zh.md
@@ -1,125 +1,199 @@
-
-
-
- English | 中文 | Português do Brasil | 日本語 | עברית
-
-
-
-
+ 文档 •
+ 论坛 •
+ 博客 •
+ 服务
+
+ EN •
+ 中文 •
+ 日本語 •
+ 한국어 •
+ PT •
+ עברית
-
-
- Light and Versatile Graphics Library
-
-
-
- 轻量级通用型图形库
-
-
-
-

-
-

-
-
-
-
- 网站 |
- LVGL Pro 编辑器 |
- 文档 |
- 论坛 |
- 演示 |
- 服务
+
+
轻量级多功能图形库
+
-## 📒 概述
+
+

+
+

+
-**LVGL** 是一个免费、开源的 UI 库,可用于为来自任何厂商、任何平台的 MCU 或 MPU 创建图形用户界面。
+
+
+
-**要求**:LVGL 无需外部依赖,因此可以轻松编译到任何现代平台上,从小型 MCU 到支持 3D 的多核 Linux MPU。简单 UI 仅需约 100kB RAM、200–300kB Flash,以及 1/10 屏幕大小的渲染缓冲区。
+
+ 概述 •
+ 功能特性 •
+ LVGL Pro •
+ 示例 •
+ 集成 •
+ 参与贡献 •
+ 许可证
+
-**开始使用**:选择一个可直接使用的 VSCode、Eclipse 或其他项目,在 PC 上尝试 LVGL。LVGL 的 UI 代码完全平台无关,因此也可直接用于嵌入式设备。
+
+## 概述
-**LVGL Pro** 是一套完整的工具包,可让你更快地构建、测试、共享和发布 UI。它附带一个 XML 编辑器,你可以在其中快速创建和测试可重用组件,导出 C 代码,或在运行时加载 XML。了解更多信息请点击这里。
+**LVGL** 是一个免费的开源 UI 库,让你能够为任何厂商、任何平台上的任何 MCU 和 MPU 创建图形用户界面。
-## 💡 特性
+**需求条件**:LVGL 没有任何外部依赖,因此可以轻松编译到任何现代目标平台,从小型 MCU 到支持 3D 的多核 Linux MPU 皆可。对于*典型*的 UI,你只需要约 100kB RAM、约 200–300kB flash,以及相当于屏幕 1/10 大小的缓冲区用于渲染。
-**免费与可移植性**
- - 纯 C(兼容 C++)库,无外部依赖。
- - 可为任意 MCU 或 MPU 编译,支持任何 (RT)OS。支持 Make、CMake 和简单文件匹配。
- - 支持单色、电子墨水、OLED、TFT 显示器,甚至是 PC 显示器。详见 [显示模块](https://docs.lvgl.io/master/main-modules/display/index.html)
- - 采用 MIT 许可证,可自由用于商业项目。
- - 仅需 32kB RAM、128kB Flash、一个帧缓冲区,以及至少 1/10 屏幕大小的渲染缓冲。
- - 支持但不强制要求使用操作系统、外部存储或 GPU。
+**广泛采用**:芯片厂商(如 NXP、Espressif、Renesas 等)、RTOS 项目(Zephyr、NuttX 等)以及开发板制造商(Riverdi、Seeed Studio、VIEWE、Elecrow 等)都已经集成了 LVGL。如果一块开发板带有显示屏,那么厂商很可能也提供了 LVGL 支持。
-**控件、样式、布局等**
- - 超过 30 个内置 [控件](https://docs.lvgl.io/master/widgets/index.html):按钮、标签、滑块、图表、键盘、仪表、弧形、表格等。
- - 灵活的 [样式系统](https://docs.lvgl.io/master/common-widget-features/styles/index.html),提供约 100 种属性,可自定义控件任意部分与状态。
- - [Flexbox](https://docs.lvgl.io/master/common-widget-features/layouts/flex.html) 和 [Grid](https://docs.lvgl.io/master/common-widget-features/layouts/grid.html) 布局引擎可实现自适应布局。
- - 文本支持 UTF-8 编码,兼容中日韩、泰语、印地语、阿拉伯语、波斯语等。
- - [数据绑定](https://docs.lvgl.io/master/main-modules/observer/index.html) 模块轻松连接 UI 与应用逻辑。
- - 渲染引擎支持动画、抗锯齿、不透明度、平滑滚动、阴影、图像变换等。
- - [强大的 3D 渲染引擎](https://docs.lvgl.io/master/libs/gltf.html),可使用 OpenGL 显示 [glTF 模型](https://sketchfab.com/)。
- - 支持鼠标、触摸板、按键、键盘、外部按钮、编码器等 [输入设备](https://docs.lvgl.io/master/main-modules/indev.html)。
- - 支持 [多显示屏](https://docs.lvgl.io/master/main-modules/display/overview.html#how-many-displays-can-lvgl-use)。
+**专业工具**:与其编写 C 代码,你还可以使用 [LVGL Pro](#lvgl-pro) 来大幅加速并简化 UI 开发。它是一套完整的工具包,包含 Editor、Figma 集成、Online Viewer 和 CLI。它能从 XML 导出纯粹的 LVGL C 代码,没有额外的运行时,也没有隐藏的黑魔法。它对非商业用途和评估用途免费。
-## 📦️ 平台支持
+**开始上手**,可以浏览[示例](#examples)、启动一个[模拟器项目](https://lvgl.io/docs/open/integration/pc)、探索 LVGL Pro 的 [Online Viewer](https://viewer.lvgl.io/)、在 [LVGL Pro](https://lvgl.io/docs/pro/integration/simulator) 中一键编译并在窗口中运行 UI,或者深入阅读我们面向 AI 就绪的[文档](https://lvgl.io/docs/open)。只需点击 [**Ask AI**](https://lvgl.io/docs/open),即可尽情提问!
-LVGL 无外部依赖,因此可轻松编译到任何设备,并已被多个包管理器与 RTOS 集成:
+
+## 功能特性
-- [Arduino 库](https://docs.lvgl.io/master/integration/framework/arduino.html)
-- [PlatformIO 包](https://registry.platformio.org/libraries/lvgl/lvgl)
-- [Zephyr 库](https://docs.lvgl.io/master/integration/os/zephyr.html)
-- [ESP-IDF (ESP32) 组件](https://components.espressif.com/components/lvgl/lvgl)
-- [NXP MCUXpresso 组件](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)
-- [NuttX 库](https://docs.lvgl.io/master/integration/os/nuttx.html)
-- [RT-Thread RTOS](https://docs.lvgl.io/master/integration/os/rt-thread.html)
-- CMSIS-Pack
-- [RIOT OS 包](https://doc.riot-os.org/group__pkg__lvgl.html#details)
+**免费、可移植、可扩展**
+ - 完全可移植的 C(兼容 C++)库,没有任何外部依赖。
+ - 可为任何 MCU 或 MPU、任何 (RT)OS 编译。支持 Make、CMake 以及简单的通配(globbing)。
+ - 支持单色屏、ePaper、OLED、TFT 显示屏,甚至显示器。[显示屏](https://lvgl.io/docs/open/main-modules/display)
+ - 基于 MIT 许可证发布,因此你也可以轻松将其用于商业项目。
+ - 最低仅需 32kB RAM 和 128kB Flash、一个帧缓冲区,以及至少屏幕 1/10 大小的缓冲区用于渲染。
+ - 支持 OS、外部内存和 GPU,但并非必需。
-## 🚀 LVGL Pro 编辑器
+**控件、样式、布局及更多**
+ - 30 多种内置[控件](https://lvgl.io/docs/open/widgets):Button、Label、Slider、Chart、Keyboard、Meter、Arc、Table 等等。
+ - 灵活的[样式系统](https://lvgl.io/docs/open/common-widget-features/styles),拥有 100 多个样式属性,可在任何状态下定制控件的任何部分。
+ - 类似 [Flexbox](https://lvgl.io/docs/open/common-widget-features/layouts/flex) 和 [Grid](https://lvgl.io/docs/open/common-widget-features/layouts/grid) 的布局引擎,可自动地响应式调整控件的尺寸和位置。
+ - [数据绑定](https://lvgl.io/docs/open/main-modules/observer),可轻松将 UI 与应用程序连接起来。
+ - 支持鼠标、触摸板、小键盘、键盘、外部按钮、编码器等[输入设备](https://lvgl.io/docs/open/main-modules/indev)。
+ - 支持[多显示屏](https://lvgl.io/docs/open/main-modules/display/overview#how-many-displays-can-lvgl-use)。
-LVGL Pro 是一套完整的工具,用于高效构建、测试、共享和交付嵌入式 UI。
+**渲染**
+ - 内置 2D 渲染引擎,支持基本形状、渐变、抗锯齿、不透明度、平滑滚动、盒子阴影和投影阴影、图像变换等。
+ - [强大的 3D 渲染引擎](https://lvgl.io/docs/open/libs/gltf),可通过 OpenGL 展示 [glTF 模型](https://sketchfab.com/)。
+ - 支持矢量图形、SVG 和 Lottie。
+ - 文本采用 UTF-8 编码渲染,支持 CJK、泰文、印地文、阿拉伯文和波斯文书写系统。
+ - 内置对 VG-Lite、Dave2D、NeoChrome、OpenGL 等 GPU 的支持。
-它包含四个紧密集成的工具:
+
+## LVGL Pro
-1. **XML 编辑器**:LVGL Pro 的核心。桌面应用,用于通过 XML 构建组件与界面,管理数据绑定、翻译、动画、测试等。了解更多 [XML 格式](https://docs.lvgl.io/master/xml/xml/index.html) 和 [编辑器](https://docs.lvgl.io/master/xml/editor/index.html)。
-2. **在线预览器**:在浏览器中运行编辑器,打开 GitHub 项目,无需搭建开发环境即可共享。访问 [https://viewer.lvgl.io](https://viewer.lvgl.io)。
-3. **CLI 工具**:在 CI/CD 中生成 C 代码并运行测试。详见 [此处](https://docs.lvgl.io/master/xml/tools/cli.html)。
-4. **Figma 插件**:直接从 Figma 同步和提取样式。了解更多 [这里](https://docs.lvgl.io/master/xml/tools/figma.html)。
+用 C 构建 UI 效果不错,但随着项目变大,迭代会变慢,也更难保持一致性。[LVGL Pro](https://lvgl.io/pro) 让你能够可视化地构建可复用的组件和屏幕、即时预览变更,并在一处统一管理数据绑定、翻译、动画和测试。
-这些工具结合在一起,帮助开发者高效构建 UI、可靠测试,并便于团队协作。
+Pro 导出的是纯粹的 LVGL C 代码:就是你已经在用的那个 LVGL,没有额外的运行时或依赖。它能直接放入现有项目,无需改变你构建或发布的方式。
-了解更多:https://pro.lvgl.io
+
+
+
-## 🤝 商业服务
+你可以在浏览器中通过 [viewer.lvgl.io](https://viewer.lvgl.io) 直接试用,无需安装任何东西;也可以[下载 Editor](https://lvgl.io/pro#download) 并在免费的 Community 许可证下使用。
-LVGL LLC 提供多种商业服务,助力 UI 开发。凭借超过 15 年的用户界面与图形经验,我们能将你的产品 UI 提升到更高水平。
+LVGL Pro 由四个紧密关联的工具组成:
-- **图形设计**:我们的内部设计师擅长打造美观现代的设计,兼顾产品特性与硬件能力。
-- **UI 实现**:我们可以基于你提供或我们设计的 UI 进行实现,充分发挥硬件与 LVGL 的潜力。如缺少特定功能或控件,我们也可为你开发。
-- **咨询与支持**:提供 UI 开发咨询,帮助你避免代价高昂、耗时的错误。
-- **开发板认证**:为提供开发板或量产套件的企业提供认证服务,展示该板卡的 LVGL 运行能力。
+1. **Editor**:LVGL Pro 的核心。一款桌面应用,用于以 XML 构建组件和屏幕,管理数据绑定、翻译、动画、测试等。进一步了解 [XML 格式](https://lvgl.io/docs/pro/syntax) 和[控件](https://lvgl.io/docs/pro/built_in_widgets)。
+2. **Online Viewer**:在浏览器中运行 Editor,打开 GitHub 项目,无需搭建开发环境即可轻松分享。访问 [https://viewer.lvgl.io](https://viewer.lvgl.io)。
+3. **Figma 插件**:一键将 Figma 设计迁移到 LVGL Pro。在[这里](https://lvgl.io/docs/pro/figma)查看其工作原理。
+4. **CLI 工具**:在 CI/CD 中生成 C 代码并运行测试。详情见[这里](https://lvgl.io/docs/pro/cli)。
-查看我们的 [演示](https://lvgl.io/demos) 以了解示例。更多信息请访问 [服务页面](https://lvgl.io/services)。
+Community 和 Evaluation 层级可免费使用;商业用途请参见[许可证](#license)。
-[联系我们](https://lvgl.io/#contact),告诉我们如何帮助你。
+
+## 示例
-## 🧑💻 集成 LVGL
+你可以在 https://lvgl.io/docs/open/examples 查看 100 多个 C 和 XML 示例
-集成 LVGL 非常简单。将其添加到项目中并像其他源文件一样编译即可。
-配置时复制 `lv_conf_template.h` 为 `lv_conf.h`,启用第一个 `#if 0` 并按需修改配置。
-(默认配置通常已足够。)LVGL 也支持通过 Kconfig 配置。
+LVGL Pro 的 [Online Viewer](https://viewer.lvgl.io/) 还包含许多教程以及这些相同的示例,你可以进行交互式体验。
-项目中可按以下方式初始化 LVGL 并创建显示和输入设备:
+作为预告,下面是用 C 和 XML 编写的同一个简单 UI:
+
+
+
+
+
+
+
+
+|
```c
-#include "lvgl/lvgl.h" /*定义 LV_LVGL_H_INCLUDE_SIMPLE 可直接使用 "lvgl.h"*/
+static void button_clicked_cb(lv_event_t * e)
+{
+ printf("Clicked\n");
+}
+
+/* ... */
+
+lv_obj_t * button = lv_button_create(lv_screen_active());
+lv_obj_center(button);
+lv_obj_add_event_cb(button, button_clicked_cb,
+ LV_EVENT_CLICKED, NULL);
+
+lv_obj_t * label = lv_label_create(button);
+lv_label_set_text(label, "Hello from LVGL!");
+```
+
+ |
+
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+ |
+
+
+
+上面的 XML 正是 [LVGL Pro](#lvgl-pro) 所使用的:你可视化地构建屏幕,它就会为你生成 C 代码。
+
+
+## 集成
+
+LVGL 没有任何外部依赖,因此可以轻松地为任何设备编译。它自带内置驱动,可在众多包管理器和 RTOS 中获取,也很容易移植到任何新设备上。
+
+### 预集成
+
+- **芯片厂商**:[ESP32](https://components.espressif.com/components/lvgl/lvgl)、[NXP MCUXpresso 组件](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)、[Renesas FSP](https://lvgl.io/docs/open/integration/chip/renesas)、[STM32](https://lvgl.io/docs/open/integration/chip/stm32)
+
+- **RTOS**:[Zephyr](https://lvgl.io/docs/open/integration/os/zephyr)、[NuttX](https://lvgl.io/docs/open/integration/os/nuttx)、[RT-Thread](https://lvgl.io/docs/open/integration/os/rt-thread)
+
+- **框架**:[Arduino](https://lvgl.io/docs/open/integration/framework/arduino)、[PlatformIO](https://registry.platformio.org/libraries/lvgl/lvgl)、[CMSIS-Pack](https://lvgl.io/docs/open/integration/framework/cmsis-pack)
+
+- **开发板制造商**:[Seeed Studio](https://www.seeedstudio.com)、[Elecrow](https://www.elecrow.com/display/esp-hmi-display.html)、[Riverdi](https://lvgl.io/docs/open/integration/boards/manufacturers/riverdi)、[VIEWE](https://lvgl.io/docs/open/integration/boards/manufacturers/viewe),以及[更多](https://lvgl.io/boards)
+
+### 内置驱动
+LVGL 附带了开箱即用的驱动,因此在常见平台上,你无需自己编写显示和输入处理代码:
+
+- **模拟器 / 桌面**:[SDL](https://lvgl.io/docs/open/integration/pc/sdl)、X11 和 [Wayland](https://lvgl.io/docs/open/integration/embedded_linux/drivers/wayland) 窗口,可在 PC 上开发和预览你的 UI。
+- **显示控制器**:通用的 MIPI-DBI/SPI LCD([ILI9341](https://lvgl.io/docs/open/integration/external_display_controllers/ili9341)、ST7789 及类似型号),以及厂商控制器,如 ST 的 [LTDC](https://lvgl.io/docs/open/integration/chip_vendors/stm32/ltdc) 和 NXP 的 [eLCDIF](https://lvgl.io/docs/open/integration/chip_vendors/nxp/elcdif)。
+- **嵌入式 Linux**:framebuffer (fbdev)、DRM/KMS、Wayland,以及用于触摸和指针输入的 `libinput`/`evdev`。在[这里](https://lvgl.io/docs/open/integration/embedded_linux)进一步了解。
+- **GPU / 加速器**:VG-Lite、NXP PXP、ThinkSilicon NemaGFX、Arm-2D 和 [OpenGL ES](https://lvgl.io/docs/open/integration/embedded_linux/drivers/opengl_driver)
+
+在[集成文档](https://lvgl.io/docs/open/integration)中查看完整列表和设置指南。
+
+### 在 LVGL Pro 中
+
+在 LVGL Pro 中,你只需单击一下即可创建开箱即用的纯 UI、VSCode、Zephyr 和 Linux 项目。
+
+
+### 手动移植
+
+集成 LVGL 非常简单。只需将它放入任何项目,像编译其他文件一样编译它即可。要配置 LVGL,将 `lv_conf_template.h` 复制为 `lv_conf.h`,启用开头的 `#if 0`,并根据需要调整配置。(默认配置通常就够用了。)如果可用,LVGL 也可以配合 Kconfig 使用。
+
+进入项目后,你可以按如下方式初始化 LVGL 并创建显示设备和输入设备:
+
+```c
+#include "lvgl/lvgl.h" /*Define LV_LVGL_H_INCLUDE_SIMPLE to include as "lvgl.h"*/
#define TFT_HOR_RES 320
#define TFT_VER_RES 240
@@ -131,7 +205,11 @@ static uint32_t my_tick_cb(void)
static void my_flush_cb(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map)
{
- /*将 px_map 写入帧缓冲或显示控制器对应区域*/
+ /*Write px_map to the area->x1, area->x2, area->y1, area->y2 area of the
+ *frame buffer or external display controller. */
+
+ /* signal LVGL that we're done */
+ lv_display_flush_ready(disp);
}
static void my_touch_read_cb(lv_indev_t * indev, lv_indev_data_t * data)
@@ -149,218 +227,59 @@ void main(void)
{
my_hardware_init();
- /*初始化 LVGL*/
+ /*Initialize LVGL*/
lv_init();
- /*设置毫秒级时钟回调,用于 LVGL 计时*/
+ /*Set millisecond-based tick source for LVGL so that it can track time.*/
lv_tick_set_cb(my_tick_cb);
- /*创建显示对象,用于添加屏幕和控件*/
+ /*Create a display where screens and widgets can be added*/
lv_display_t * display = lv_display_create(TFT_HOR_RES, TFT_VER_RES);
- /*添加渲染缓冲,这里假设使用 16 位 RGB565 格式*/
- static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2];
+ /*Add rendering buffers to the screen.
+ *Here adding a smaller partial buffer assuming 16-bit (RGB565 color format)*/
+ static uint8_t buf[TFT_HOR_RES * TFT_VER_RES / 10 * 2]; /* x2 because of 16-bit color depth */
lv_display_set_buffers(display, buf, NULL, sizeof(buf), LV_DISPLAY_RENDER_MODE_PARTIAL);
- /*设置刷新回调,将缓冲内容写入显示设备*/
+ /*Add a callback that can flush the content from `buf` when it has been rendered*/
lv_display_set_flush_cb(display, my_flush_cb);
- /*创建输入设备用于触摸处理*/
+ /*Create an input device for touch handling*/
lv_indev_t * indev = lv_indev_create();
lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER);
lv_indev_set_read_cb(indev, my_touch_read_cb);
- /*驱动已就绪,创建 UI*/
+ /*The drivers are in place; now we can create the UI*/
lv_obj_t * label = lv_label_create(lv_screen_active());
lv_label_set_text(label, "Hello world");
lv_obj_center(label);
- /*循环执行 LVGL 任务*/
+ /*Execute the LVGL-related tasks in a loop*/
while(1) {
lv_timer_handler();
- my_sleep_ms(5);
+ my_sleep_ms(5); /*Wait a little to let the system breathe*/
}
}
```
-## 🤖 示例
-可在 https://docs.lvgl.io/master/examples.html 查看 100+ 示例。
+
+## 参与贡献
-在线预览器 https://viewer.lvgl.io/ 也提供了易学的 XML 教程。
+LVGL 是一个开放的项目,非常欢迎大家贡献。贡献的方式有很多,从简单地谈论你的项目、编写示例、改进文档、修复 bug,甚至到在 LVGL 组织下托管你自己的项目。
+
+有关贡献机会的详细说明,请访问文档的[参与贡献](https://lvgl.io/docs/open/contributing)章节。
+
+已经有数百人在 LVGL 上留下了他们的印记。快来成为其中一员吧!我们在这里等你!🙂
-### Hello World 按钮事件示例
+
+## 许可证
-
+LVGL 库基于 **MIT 许可证**发布,因此你可以在开源和商业产品中自由使用它,无需支付任何版税。参见 [`LICENCE.txt`](../LICENCE.txt)。
-
- C 代码
-
- ```c
-static void button_clicked_cb(lv_event_t * e)
-{
- printf("Clicked\n");
-}
-
-[...]
-
- lv_obj_t * button = lv_button_create(lv_screen_active());
- lv_obj_center(button);
- lv_obj_add_event_cb(button, button_clicked_cb, LV_EVENT_CLICKED, NULL);
-
- lv_obj_t * label = lv_label_create(button);
- lv_label_set_text(label, "Hello from LVGL!");
-```
-
-
-
- 使用 LVGL Pro 的 XML
-
-```xml
-
-
-
-
-
-
-
-
-```
-
-
-
-### 带数据绑定的滑块
-
-
-
-
- C 代码
-
-```c
-static void my_observer_cb(lv_observer_t * observer, lv_subject_t * subject)
-{
- printf("Slider value: %d\n", lv_subject_get_int(subject));
-}
-
-[...]
-
-static lv_subject_t subject_value;
-lv_subject_init_int(&subject_value, 35);
-lv_subject_add_observer(&subject_value, my_observer_cb, NULL);
-
-lv_style_t style_base;
-lv_style_init(&style_base);
-lv_style_set_bg_color(&style_base, lv_color_hex(0xff8800));
-lv_style_set_bg_opa(&style_base, 255);
-lv_style_set_radius(&style_base, 4);
-
-lv_obj_t * slider = lv_slider_create(lv_screen_active());
-lv_obj_center(slider);
-lv_obj_set_size(slider, lv_pct(80), 16);
-lv_obj_add_style(slider, &style_base, LV_PART_INDICATOR);
-lv_obj_add_style(slider, &style_base, LV_PART_KNOB);
-lv_obj_add_style(slider, &style_base, 0);
-lv_obj_set_style_bg_opa(slider, LV_OPA_50, 0);
-lv_obj_set_style_border_width(slider, 3, LV_PART_KNOB);
-lv_obj_set_style_border_color(slider, lv_color_hex3(0xfff), LV_PART_KNOB);
-lv_slider_bind_value(slider, &subject_value);
-
-lv_obj_t * label = lv_label_create(lv_screen_active());
-lv_obj_align(label, LV_ALIGN_CENTER, 0, -30);
-lv_label_bind_text(label, &subject_value, "Temperature: %d °C");
-```
-
-
-
-
- 使用 LVGL Pro 的 XML
-
-```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-### 布局中的复选框
-
-
-
-
- C 代码
-
- ```c
-/*创建新屏幕并加载*/
-lv_obj_t * scr = lv_obj_create(NULL);
-lv_screen_load(scr);
-
-/*设置列布局*/
-lv_obj_set_flex_flow(scr, LV_FLEX_FLOW_COLUMN);
-lv_obj_set_flex_align(scr, LV_FLEX_ALIGN_SPACE_EVENLY, /*垂直对齐*/
- LV_FLEX_ALIGN_START, /*主轴方向对齐*/
- LV_FLEX_ALIGN_CENTER); /*交叉轴方向对齐*/
-
-/*创建 5 个复选框*/
-const char * texts[5] = {"Input 1", "Input 2", "Input 3", "Output 1", "Output 2"};
-for(int i = 0; i < 5; i++) {
- lv_obj_t * cb = lv_checkbox_create(scr);
- lv_checkbox_set_text(cb, texts[i]);
-}
-
-/*更改状态*/
-lv_obj_add_state(lv_obj_get_child(scr, 1), LV_STATE_CHECKED);
-lv_obj_add_state(lv_obj_get_child(scr, 3), LV_STATE_DISABLED);
-```
-
-
-
-
- 使用 LVGL Pro 的 XML
-
-```xml
-
-
-
-
-
-
-
-
-
-```
-
-
-
-
-## 🌟 贡献
-
-LVGL 是一个开放项目,欢迎任何形式的贡献。无论是分享你的项目、编写示例、改进文档、修复错误,还是将项目托管到 LVGL 组织下,都非常欢迎。
-
-更多贡献方式详见 [贡献文档](https://docs.lvgl.io/master/contributing/index.html)。
-
-已有超过 600 位开发者为 LVGL 留下足迹。加入我们吧!🙂
-
-
-
-……还有更多人。
+与 LVGL 捆绑的所有第三方库也都在与 MIT 兼容的许可证下发布,因此你可以放心地使用 LVGL 及其依赖。
+**[LVGL Pro](https://lvgl.io/pro)** 采用单独的许可授权:
+- **Community** 和 **Evaluation** 层级对**非商业用途免费**,非常适合学习、业余项目以及评估这些工具。
+- LVGL Pro 的商业用途需要付费许可证。参见[价格与详情](https://lvgl.io/pro#pricing)。
diff --git a/docs/src/_static/images/ask_ai.png b/docs/src/_static/images/ask_ai.png
new file mode 100644
index 0000000000..29c7655c47
Binary files /dev/null and b/docs/src/_static/images/ask_ai.png differ
diff --git a/docs/src/_static/images/ebike.gif b/docs/src/_static/images/ebike.gif
new file mode 100644
index 0000000000..657f02b2ae
Binary files /dev/null and b/docs/src/_static/images/ebike.gif differ
diff --git a/docs/src/_static/images/ecg.gif b/docs/src/_static/images/ecg.gif
new file mode 100644
index 0000000000..9374b3a7f9
Binary files /dev/null and b/docs/src/_static/images/ecg.gif differ