1<h1 align="center"> LVGL - Biblioteca gráfica leve e versátil</h1> 2<p align="center"> 3 <img src="https://lvgl.io/assets/images/lvgl_widgets_demo.gif"> 4</p> 5<p align="center"> 6 O LVGL fornece tudo o que você precisa para criar uma GUI incorporada com elementos gráficos fáceis de usar, belos efeitos visuais e um baixo consumo de memória. 7</p> 8<h4 align="center"> 9 <a href="https://lvgl.io">Site</a> · 10 <a href="https://docs.lvgl.io/">Documentação</a> · 11 <a href="https://forum.lvgl.io">Fórum</a> · 12 <a href="https://lvgl.io/services">Serviços</a> · 13 <a href="https://docs.lvgl.io/master/examples.html">Exemplos interativos</a> 14</h4> 15 16[English](./README.md) | [中文](./README_zh.md) | **Português do Brasil** 17 18--- 19 20### Tabela de conteúdo 21 22- [Visão Geral](#visão-geral) 23- [Iniciando](#iniciando) 24- [Exemplos](#exemplos) 25- [Serviços](#serviços) 26- [Contribuindo](#contribuindo) 27 28## Visão Geral 29 30### Recursos 31* Poderosos [widgets](https://docs.lvgl.io/master/widgets/index.html): botões, gráficos, listas, controles deslizantes (sliders), imagens, etc. 32* Mecanismo gráfico avançado: animações, anti-aliasing, opacidade, rolagem suave, modos de mesclagem (blending modes), etc. 33* Suporte à [vários dispositivos de entrada](https://docs.lvgl.io/master/overview/indev.html): tela sensível ao toque, mouse, teclado, codificador, botões, etc. 34* Suporte à [vários monitores](https://docs.lvgl.io/master/overview/display.html) 35* Pode ser usado com qualquer microcontrolador e display, independente do hardware 36* Escalável para operar com pouca memória (64 kB Flash, 16 kB RAM) 37* Suporte multilíngue com manipulação UTF-8, suporte ao alfabeto bidirecional, árabe e CJK (Chinês, Japonês e Coreano) 38* Elementos gráficos totalmente personalizáveis por meio de [CSS](https://docs.lvgl.io/master/overview/style.html) 39* Layouts poderosos inspirados em CSS: [Flexbox](https://docs.lvgl.io/master/layouts/flex.html) e [Grid](https://docs.lvgl.io/master/layouts/grid.html) 40* SO, memória externa e GPU são suportados, mas não obrigatórios. (suporte integrado para STM32 DMA2D, SWM341 DMA2D e NXP PXP e VGLite) 41* Renderização suave mesmo com um [buffer de quadro único](https://docs.lvgl.io/master/porting/display.html) (single frame buffer) 42* Escrito em C e compatível com C++ 43* Uso do LittlevGL com Micropython simplificado com [LVGL API in Micropython](https://blog.lvgl.io/2019-02-20/micropython-bindings) 44* [Simulador](https://docs.lvgl.io/master/get-started/platforms/pc-simulator.html) para desenvolver no PC sem hardware embutido 45* Mais de 100 [exemplos simples](https://github.com/lvgl/lvgl/tree/master/examples) 46* [Documentação](http://docs.lvgl.io/) e referências de API online e em PDF 47 48### Requerimentos 49Basicamente, todo controlador moderno (que é capaz de acionar um display) é adequado para executar LVGL. Os requisitos mínimos são: 50 51<table> 52 <tr> 53 <td> 54 <strong>Nome</strong> 55 </td> 56 <td> 57 <strong>Minímo</strong> 58 </td> 59 <td> 60 <strong>Recomendado</strong> 61 </td> 62 </tr> 63 <tr> 64 <td> 65 <strong>Arquitetura</strong> 66 </td> 67 <td colspan="2">Microcontrolador ou processador de 16, 32 ou 64 bits</td> 68 </tr> 69 <tr> 70 <td> 71 <strong>Clock</strong> 72 </td> 73 <td>> 16 MHz</td> 74 <td>> 48 MHz</td> 75 </tr> 76 <tr> 77 <td> 78 <strong>Flash/ROM</strong> 79 </td> 80 <td>> 64 kB</td> 81 <td>> 180 kB</td> 82 </tr> 83 84 <tr> 85 <td> 86 <strong>RAM estática</strong> 87 </td> 88 <td>> 16 kB</td> 89 <td>> 48 kB</td> 90 </tr> 91 92 <tr> 93 <td> 94 <strong>Draw buffer</strong> 95 </td> 96 <td>> 1 × <em>hor. res.</em> pixels</td> 97 <td>> tamanho da tela de 1/10</td> 98 </tr> 99 100 <tr> 101 <td> 102 <strong>Compilador</strong> 103 </td> 104 <td colspan="2">Padrão C99 ou mais recente</td> 105 </tr> 106</table> 107 108*Observe que o uso de memória pode variar dependendo da arquitetura, do compilador e das opções de compilação.* 109 110### Plataformas suportadas 111O LVGL é completamente independente de plataforma e pode ser usado com qualquer MCU que atenda aos requisitos. 112Apenas para citar algumas plataformas: 113 114- NXP: Kinetis, LPC, iMX, iMX RT 115- STM32F1, STM32F3, STM32F4, STM32F7, STM32L4, STM32L5, STM32H7 116- Microchip dsPIC33, PIC24, PIC32MX, PIC32MZ 117- [Linux frame buffer](https://blog.lvgl.io/2018-01-03/linux_fb) (/dev/fb) 118- [Raspberry Pi](http://www.vk3erw.com/index.php/16-software/63-raspberry-pi-official-7-touchscreen-and-littlevgl) 119- [Espressif ESP32](https://github.com/lvgl/lv_port_esp32) 120- [Infineon Aurix](https://github.com/lvgl/lv_port_aurix) 121- Nordic NRF52 Bluetooth modules 122- Quectel modems 123- [SYNWIT SWM341](https://www.synwit.cn/) 124 125LVGL também está disponível para: 126- [Arduino library](https://docs.lvgl.io/master/get-started/platforms/arduino.html) 127- [PlatformIO package](https://registry.platformio.org/libraries/lvgl/lvgl) 128- [Zephyr library](https://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_LVGL.html) 129- [ESP32 component](https://docs.lvgl.io/master/get-started/platforms/espressif.html) 130- [NXP MCUXpresso component](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY) 131- [NuttX library](https://docs.lvgl.io/master/get-started/os/nuttx.html) 132- [RT-Thread RTOS](https://docs.lvgl.io/master/get-started/os/rt-thread.html) 133 134## Iniciando 135Esta lista mostra a maneira recomendada de aprender sobre a biblioteca: 136 1371. Confira as [demos on-line](https://lvgl.io/demos) para ver o LVGL em ação (3 minutos) 1382. Leia a [introdução](https://docs.lvgl.io/master/intro/index.html) da documentação (5 minutos) 1393. Familiarize-se com o básico da [Visão geral rápida](https://docs.lvgl.io/master/get-started/quick-overview.html) (15 minutos) 1404. Configure um [simulador](https://docs.lvgl.io/master/get-started/platforms/pc-simulator.html) (10 minutos) 1415. Experimente alguns [Exemplos](https://github.com/lvgl/lvgl/tree/master/examples) 1426. Placa para porta LVGL. Veja o guia [porting](https://docs.lvgl.io/master/porting/index.html) ou verifique o pronto para usar [Projects](https://github.com/lvgl?q=lv_port_) 1437. Leia a [visão geral](https://docs.lvgl.io/master/overview/index.html) para entender melhor a biblioteca (2-3 horas) 1448. Verifique a documentação dos [widgets](https://docs.lvgl.io/master/widgets/index.html) para ver seus recursos e como utilizá-los 1459. Se você tiver dúvidas, acesse o [fórum](http://forum.lvgl.io/) 14610. Leia o guia de [contribuição](https://docs.lvgl.io/master/CONTRIBUTING.html) para ver como você pode ajudar a melhorar o LVGL (15 minutos) 147 148## Exemplos 149Para mais exemplos, veja a pasta [examples](https://github.com/lvgl/lvgl/tree/master/examples). 150 151![Exemplo de botão LVGL com rótulo (label)](https://github.com/lvgl/lvgl/raw/master/docs/misc/btn_example.png) 152 153### C 154 155```c 156lv_obj_t * button = lv_btn_create(lv_scr_act()); /* Adiciona um botão à tela atual */ 157lv_obj_set_pos(button, 10, 10); /* Define uma posição ao botão na tela */ 158lv_obj_set_size(button, 100, 50); /* Define o tamanho */ 159lv_obj_add_event_cb(button, button_event_callback, LV_EVENT_CLICKED, NULL); /* Atribui um retorno de chamada (callback) */ 160 161lv_obj_t * label = lv_label_create(button); /* Adiciona um rótulo (label) */ 162lv_label_set_text(label, "Clique aqui"); /* Define o texto do rótulo (label) */ 163lv_obj_center(label); /* Alinha o texto ao centro */ 164... 165 166void button_event_callback(lv_event_t * e) 167{ 168 printf("Clicado\n"); 169} 170``` 171 172### Micropython 173Saiba mais em [Micropython](https://docs.lvgl.io/master/get-started/bindings/micropython.html) 174 175```python 176def button_event_callback(event): 177 print("Clicado") 178 179# Cria um botão e um rótulo (label) 180button = lv.btn(lv.scr_act()) 181button.set_pos(10, 10) 182button.set_size(100, 50) 183button.add_event_cb(button_event_callback, lv.EVENT.CLICKED, None) 184 185label = lv.label(button) 186label.set_text("Cliquq aqui") 187label.center() 188``` 189 190## Serviços 191O LVGL Kft foi estabelecido para fornecer uma base sólida para a biblioteca LVGL. Oferecemos vários tipos de serviços 192para ajudá-lo no desenvolvimento da interface do usuário: 193 194- Design gráfico 195- Implementação de IU 196- Consultoria/Suporte 197 198Para mais informações, consulte [LVGL Serviços](https://lvgl.io/services). Sinta-se à vontade para entrar em contato 199conosco se tiver alguma dúvida. 200 201## Contribuindo 202O LVGL é um projeto aberto e sua contribuição é muito bem-vinda. Há muitas maneiras de contribuir, desde simplesmente 203falando sobre seu projeto, escrevendo exemplos, melhorando a documentação, corrigindo bugs até hospedar seu próprio 204projeto sob a organização LVGL. 205 206Para obter uma descrição detalhada das oportunidades de contribuição, visite a seção de [contribuição](https://docs.lvgl.io/master/CONTRIBUTING.html) da documentação. 207