mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
Merge branch 'master' of https://github.com/littlevgl/lvgl into dev-5.2
This commit is contained in:
commit
9780277e48
34
README.md
34
README.md
@ -1,6 +1,6 @@
|
|||||||
# Littlev Graphics Libraray
|
# Littlev Graphics Library
|
||||||
|
|
||||||
![LittlevGL cover](http://www.gl.littlev.hu/home/main_cover_small.png)
|
![LittlevGL cover](https://littlevgl.com/docs/themes/lv_theme_intro.png)
|
||||||
|
|
||||||
LittlevGL provides everything you need to create a Graphical User Interface (GUI) on embedded systems with easy-to-use graphical elements, beautiful visual effects and low memory footprint.
|
LittlevGL provides everything you need to create a Graphical User Interface (GUI) on embedded systems with easy-to-use graphical elements, beautiful visual effects and low memory footprint.
|
||||||
|
|
||||||
@ -11,18 +11,19 @@ Homepage: https://littlevgl.com
|
|||||||
* [Porting](#porting)
|
* [Porting](#porting)
|
||||||
* [Project set-up](#project-set-up)
|
* [Project set-up](#project-set-up)
|
||||||
* [PC simulator](#pc-simulator)
|
* [PC simulator](#pc-simulator)
|
||||||
|
* [Related repositories](#related-repositories)
|
||||||
* [Screenshots](#screenshots)
|
* [Screenshots](#screenshots)
|
||||||
* [Contributing](#contributing)
|
* [Contributing](#contributing)
|
||||||
* [Donate](#donate)
|
* [Donate](#donate)
|
||||||
|
|
||||||
## Key features
|
## Key features
|
||||||
* Powerful building blocks buttons, charts, lists, sliders, images etc
|
* Powerful building blocks: buttons, charts, lists, sliders, images, etc.
|
||||||
* Advanced graphics with animations, anti-aliasing, opacity, smooth scrolling
|
* Advanced graphics with animations, anti-aliasing, opacity, smooth scrolling
|
||||||
* Various input devices touch pad, mouse, keyboard, encoder, buttons etc
|
* Various input devices: touch pad, mouse, keyboard, encoder, buttons, etc.
|
||||||
* Multi language support with UTF-8 decoding
|
* Multi-language support with UTF-8 encoding
|
||||||
* Fully customizable graphical elements
|
* Fully customizable graphical elements
|
||||||
* Hardware independent to use with any microcontroller or display
|
* Hardware independent to use with any microcontroller or display
|
||||||
* Scalable to operate with few memory (50 kB Flash, 10 kB RAM)
|
* Scalable to operate with little memory (50 kB Flash, 10 kB RAM)
|
||||||
* OS, External memory and GPU supported but not required
|
* OS, External memory and GPU supported but not required
|
||||||
* Single frame buffer operation even with advances graphical effects
|
* Single frame buffer operation even with advances graphical effects
|
||||||
* Written in C for maximal compatibility
|
* Written in C for maximal compatibility
|
||||||
@ -31,19 +32,20 @@ Homepage: https://littlevgl.com
|
|||||||
* Documentation and API references online
|
* Documentation and API references online
|
||||||
|
|
||||||
## Porting
|
## Porting
|
||||||
In the most sime case you need 4 things:
|
In the simplest case you need 5 things:
|
||||||
1. Call `lv_tick_inc(1)` in every millisecods in a Timer or Task
|
1. Call `lv_tick_inc(x)` every `x` millisecods in a Timer or Task (`x` should be between 1 and 10)
|
||||||
2. Register a function which can **copy a pixel array** to an area of the screen.
|
2. Register a function which can **copy a pixel array** to an area of the screen.
|
||||||
3. Register a function which can **read an input device**. (E.g. touch pad)
|
3. Register a function which can **read an input device**. (E.g. touch pad)
|
||||||
4. Call `lv_task_handler()` periodically in every few milliseconds
|
4. Copy `lv_conf_templ.h` as `lv_conf.h` and set at least `LV_HOR_RES`, `LV_VER_RES` and `LV_COLOR_DEPTH`.
|
||||||
For more information visit https://littlevgl.com/porting
|
5. Call `lv_task_handler()` periodically every few milliseconds.
|
||||||
|
For a detailed description visit https://littlevgl.com/porting
|
||||||
Or check the [Porting tutorial](https://github.com/littlevgl/lv_examples/blob/master/lv_tutorial/0_porting/lv_tutorial_porting.c)
|
Or check the [Porting tutorial](https://github.com/littlevgl/lv_examples/blob/master/lv_tutorial/0_porting/lv_tutorial_porting.c)
|
||||||
|
|
||||||
## Project set-up
|
## Project set-up
|
||||||
1. **Clone** or [Download](https://littlevgl.com/download) the lvgl repository: `git clone https://github.com/littlevgl/lvgl.git`
|
1. **Clone** or [Download](https://littlevgl.com/download) the lvgl repository: `git clone https://github.com/littlevgl/lvgl.git`
|
||||||
2. **Create project** with your prefered IDE and add the *lvgl* folder
|
2. **Create project** with your prefered IDE and add the *lvgl* folder
|
||||||
3. Copy **lvgl/lv_conf_templ.h** as **lv_conf.h** next to the *lvgl* folder
|
3. Copy **lvgl/lv_conf_templ.h** as **lv_conf.h** next to the *lvgl* folder
|
||||||
4. In the lv_conf.h delete the first `#if 0` and its `#endif`. Let the default configurations at first.
|
4. In the lv_conf.h delete the first `#if 0` and its `#endif`. Leave the default configuration for the first try.
|
||||||
5. In your *main.c*: #include "lvgl/lvgl.h"
|
5. In your *main.c*: #include "lvgl/lvgl.h"
|
||||||
6. In your *main function*:
|
6. In your *main function*:
|
||||||
* lvgl_init();
|
* lvgl_init();
|
||||||
@ -53,10 +55,16 @@ Or check the [Porting tutorial](https://github.com/littlevgl/lv_examples/blob/ma
|
|||||||
9. Compile the code and load it to your embedded hardware
|
9. Compile the code and load it to your embedded hardware
|
||||||
|
|
||||||
## PC Simulator
|
## PC Simulator
|
||||||
If you don't have got an embedded hardware you can test the graphics library in a PC simulator. The simulator uses [SDL2](https://www.libsdl.org/) to emulate a display on your monitor and a touch pad with your mouse.
|
If you don't have an embedded hardware you can test the graphics library in a PC simulator. The simulator uses [SDL2](https://www.libsdl.org/) library to emulate a display on your monitor and a touch pad with your mouse.
|
||||||
|
|
||||||
There is a pre-configured PC project for **Eclipse CDT** in this repository: https://github.com/littlevgl/pc_simulator
|
There is a pre-configured PC project for **Eclipse CDT** in this repository: https://github.com/littlevgl/pc_simulator
|
||||||
|
|
||||||
|
## Related repositories
|
||||||
|
* PC simualtor: https://github.com/littlevgl/pc_simulator
|
||||||
|
* Projects: https://github.com/littlevgl/lv_projects
|
||||||
|
* Examples: https://github.com/littlevgl/lv_examples
|
||||||
|
* Drivers: https://github.com/littlevgl/lv_drivers
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
![TFT material](http://www.gl.littlev.hu/github_res/tft_material.png)
|
![TFT material](http://www.gl.littlev.hu/github_res/tft_material.png)
|
||||||
![TFT zen](http://www.gl.littlev.hu/github_res/tft_zen.png)
|
![TFT zen](http://www.gl.littlev.hu/github_res/tft_zen.png)
|
||||||
@ -67,6 +75,6 @@ There is a pre-configured PC project for **Eclipse CDT** in this repository: htt
|
|||||||
See [CONTRIBUTING.md](https://github.com/littlevgl/lvgl/blob/master/docs/CONTRIBUTING.md)
|
See [CONTRIBUTING.md](https://github.com/littlevgl/lvgl/blob/master/docs/CONTRIBUTING.md)
|
||||||
|
|
||||||
## Donate
|
## Donate
|
||||||
If you are pleased with the graphics library, found it useful or be happy with the support you got, please help its further development:
|
If you are pleased with this graphics library, found it useful, or are happy with the support you got, please help its further development:
|
||||||
|
|
||||||
[![Donate](https://littlevgl.com/donate_dir/donate_btn.png)](https://littlevgl.com/donate)
|
[![Donate](https://littlevgl.com/donate_dir/donate_btn.png)](https://littlevgl.com/donate)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user