/lvgl-3.7.0/src/extra/libs/png/ |
D | lodepng.h | 82 source files with custom allocators.*/ 105 LCT_GREY_ALPHA = 4, /*grayscale with alpha: 8,16 bit*/ 106 LCT_RGBA = 6, /*RGB with alpha: 8,16 bit*/ 109 not use, compare with or set the name LCT_MAX_OCTET_VALUE, instead either use 121 Must be freed after usage with free(*out). 125 in: Memory buffer with the PNG file. 145 Load PNG from disk, from file with given name. 170 Must be freed after usage with free(*out). 348 Dynamically allocated with the colors of the palette, including alpha. 370 pixels with this key to transparent already in the raw RGBA output. [all …]
|
D | lodepng.c | 51 with the "LODEPNG_COMPILE_" #defines divide this up further in an intermixed way. 64 /*The malloc, realloc and free functions defined here with "lodepng_" in front 208 -The string tools are made to avoid problems with compilers that declare things like strncat as dep… 210 -As with many other structs in this file, the init and cleanup functions serve as ctor and dtor. 310 /* dynamically allocates a new string with a copy of the null terminated input text */ 563 /* Get bits without advancing the bit pointer. Must have enough bits available with ensureBits. Max… 569 /* Must have enough bits available with ensureBits */ 575 /* Must have enough bits available with ensureBits */ 720 /*initialize with an invalid length to indicate unused entries*/ in HuffmanTree_makeTable() 751 …if(tree->table_len[index] != 16) return 55; /*invalid tree: long symbol shares prefix with short s… in HuffmanTree_makeTable() [all …]
|
/lvgl-3.7.0/docs/ |
D | CHANGELOG.md | 16 - fix(table):fix issue with abnormal string output of 'lv_table_set_cell_value_fmt' [`4804`](https:… 31 - fix(draw): fix scaling rectangle parts with opa [`7a8fcbf`](https://github.com/lvgl/lvgl/commit/7… 138 - fix(btnmatrix): fix array out of bounds addressing with groups and no buttons [`edd5ad2`](https:/… 140 - fix(draw): typo with LV_COLOR_DEPTH 8 [`45b13c3`](https://github.com/lvgl/lvgl/commit/45b13c378f6… 141 - fix(disp): fix memory leak lv_scr_load_anim with auto_del and time=0 [`1caafc5`](https://github.c… 180 - fix: color mixing with LV_COLOR_SWAP == 1 [`4101`](https://github.com/lvgl/lvgl/pull/4101) 199 - fix(gif): synchronize with master [`4003`](https://github.com/lvgl/lvgl/pull/4003) 261 - feat(table): scroll to the selected cell with key navigation [`39d03a8`](https://github.com/lvgl/… 275 - fix(draw): fix text color with sub pixel rendering and BGR order [`e050f5c`](https://github.com/l… 277 - fix(gridnav): fix stucking in pressed state with encoder [`ad56dfa`](https://github.com/lvgl/lvgl… [all …]
|
D | CONTRIBUTING.md | 22 … in one issue or topic. It makes your post easier to find later for someone with the same question. 55 9. If you need to make more changes, just update your forked `lvgl` repo with new commits. They wil… 126 …ing to any repositories of the LVGL project you agree that your contribution complies with the DCO. 160 The GPL license is not compatible with the MIT license. Therefore, LVGL can not accept GPL licensed… 164 Even if you're just getting started with LVGL there are plenty of ways to get your feet wet. 178 So with this, you already helped a lot! 183 Was it easy or were there some obstacles? Are you happy with the result? 192 It's a good place to talk about a project you created with LVGL, write a tutorial, or share some ni… 198 Any of these help to spread the word and familiarize new developers with LVGL. 203 As you learn LVGL you will probably play with the features of widgets. Why not publish your experim… [all …]
|
/lvgl-3.7.0/scripts/ |
D | Doxyfile | 49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included 87 # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), 88 # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, 117 # following values are used ($name is automatically replaced with the name of 237 # documentation, which will result in a user-defined paragraph with heading 278 # parses. With this tag you can assign which parser to use for a given 300 # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in 386 # Note that this feature does not work in combination with 393 # with only public data fields or simple typedef fields will be shown inline in 403 # enum is documented as struct, union, or enum with the name of the typedef. So [all …]
|
/lvgl-3.7.0/docs/intro/ |
D | index.md | 4 … graphics library providing everything you need to create an embedded GUI with easy-to-use graphic… 9 - Advanced graphics with animations, anti-aliasing, opacity, smooth scrolling 11 - Multi-language support with UTF-8 encoding 13 - Fully customizable graphic elements with CSS-like styles 14 - Hardware independent: use with any microcontroller or display 15 - Scalable: able to operate with little memory (64 kB Flash, 16 kB RAM) 17 - Single frame buffer operation even with advanced graphic effects 64 - [lvgl](https://github.com/lvgl/lvgl) The library itself with many [examples](https://github.com/l… 127 - Linux with frame buffer device such as /dev/fb0. This includes Single-board computers like the Ra… 128 - Anything else with a strong enough MCU and a peripheral to drive a display [all …]
|
/lvgl-3.7.0/docs/widgets/ |
D | obj.md | 14 The functions and functionalities of the Base object can be used with other widgets too. For exampl… 23 …dual axes with `lv_obj_set_width(obj, new_width)` and `lv_obj_set_height(obj, new_height)`, or bot… 26 …ion relative to the parent with `lv_obj_set_x(obj, new_x)` and `lv_obj_set_y(obj, new_y)`, or both… 29 You can align the object on its parent with `lv_obj_set_align(obj, LV_ALIGN_...)`. After this every… 48 You can set a new parent for an object with `lv_obj_set_parent(obj, new_parent)`. To get the curren… 60 /*Do something with child*/ 66 You can bring an object to the foreground or send it to the background with `lv_obj_move_foreground… 70 You can swap the position of two objects with `lv_obj_swap(obj1, obj2)`. 74 … display or simulator). A display can have one or more screens associated with it. Each screen con… 76 …en like `lv_obj_t * screen = lv_obj_create(NULL)`, you can make it active with `lv_scr_load(screen… [all …]
|
/lvgl-3.7.0/docs/get-started/platforms/ |
D | nxp.md | 5 today and get started with your next GUI application. 7 ## Creating new project with LVGL 8 …CU SDK example project is recommended as a starting point. It comes fully configured with LVGL (and 9 with PXP/VGLite support if the modules are present), no additional integration work is required. 30 All operations can be used in conjunction with optional transparency. 33 - Area fill with color 80 - src/draw/nxp/pxp/lv_draw_pxp_blend.c[.h]: fill and blit (with optional transformation) 93 …- Implementation depends on multiple OS-specific functions. The struct `lv_nxp_pxp_cfg_t` with cal… 103 - `LV_GPU_NXP_PXP_SIZE_LIMIT`: size threshold for fill/blit (with optional transformation) 123 All operations can be used in conjunction with optional transparency. [all …]
|
/lvgl-3.7.0/src/draw/nxp/vglite/ |
D | lv_draw_vglite_blend.h | 25 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 74 * Fill area, with optional opacity. 76 * @param[in] dest_area Area with relative coordinates of destination buffer 87 * BLock Image Transfer - copy rectangular image from src_buf to dst_buf with effects. 88 * By default, image is copied directly, with optional opacity. 91 * @param[in] dest_area Area with relative coordinates of destination buffer 94 * @param[in] src_area Source area with relative coordinates of source buffer 106 * BLock Image Transfer - copy rectangular image from src_buf to dst_buf with effects. 107 * By default, image is copied directly, with optional opacity. 111 * @param[in] src_area Source area with relative coordinates of source buffer [all …]
|
/lvgl-3.7.0/docs/overview/ |
D | drawing.md | 3 With LVGL, you don't need to draw anything manually. Just create objects (like buttons, labels, arc… 14 (e.g. via a display controller with SPI interface). 18 The main difference is that with LVGL you don't have to store two frame buffers (which usually requ… 23 Be sure to get familiar with the [Buffering modes of LVGL](/porting/display) first. 38 - Repeat the same with remaining joined areas. 57 2. **Call the draw function** Call the draw function with the draw descriptor and some other parame… 59 4. **Calculate all the added mask** It composites opacity values into a *mask buffer* with the "sha… 65 Essentially, every (skew) line is bounded with four line masks forming a rectangle. 66 - `LV_DRAW_MASK_TYPE_RADIUS` Removes the inner or outer corners of a rectangle with a radiused tran… 72 - **letters** Create a mask from the letter and draw a rectangle with the letter's color using the … [all …]
|
D | image.md | 11 Images stored internally in a variable are composed mainly of an `lv_img_dsc_t` structure with the … 24 To deal with files you need to add a storage *Drive* to LVGL. In short, a *Drive* is a collection o… 36 - **LV_IMG_CF_INDEXED_1/2/4/8BIT** Uses a palette with 2, 4, 16 or 256 colors and stores each pixel… 37 - **LV_IMG_CF_ALPHA_1/2/4/8BIT** **Only stores the Alpha value with 1, 2, 4 or 8 bits.** The pixels… 50 - Byte 2: Alpha byte (only with LV_IMG_CF_TRUE_COLOR_ALPHA) 54 - Byte 2: Alpha byte (only with LV_IMG_CF_TRUE_COLOR_ALPHA) 57 You can store images in a *Raw* format to indicate that it's not encoded with one of the built-in c… 111 The simplest way to use an image in LVGL is to display it with an [lv_img](/widgets/core/img) objec… 123 If the image was converted with the online converter, you should use `LV_IMG_DECLARE(my_icon_dsc)` … 143 …age is to use the online image converter and select `Raw`, `Raw with alpha` or `Raw with chroma-ke… [all …]
|
D | display.md | 8 In LVGL you can have multiple displays, each with their own driver and objects. The only limitation… 15 - Have a "normal" TFT display with local UI and create "virtual" screens on VNC on demand. (You nee… 36 3. Send the buffer's content to each real display with the truncated area. 45 … high-level root objects associated with a particular display. One display can have multiple scree… 54 …_scr_act(disp)` and `lv_disp_load_scr(disp, scr)`. A screen can be loaded with animations too. Rea… 56 Screens can be deleted with `lv_obj_del(scr)`, but ensure that you do not delete the currently load… 65 …ixing algorithms need to be used by LVGL so this feature needs to enabled with `LV_COLOR_SCREEN_TR… 70 - Set the screen's opacity to `LV_OPA_TRANSP` e.g. with `lv_obj_set_style_bg_opa(lv_scr_act(), LV_O… 71 - Set the display opacity to `LV_OPA_TRANSP` with `lv_disp_set_bg_opa(NULL, LV_OPA_TRANSP);` 77 … display. Every use of an [Input device](/overview/indev) (if [associated with the display](/porti… [all …]
|
D | font.md | 10 This way, with higher *bpp*, the edges of the letter can be smoother. The possible *bpp* values are… 29 There are several built-in fonts in different sizes, which can be enabled in `lv_conf.h` with *LV_F… 53 - `LV_FONT_MONTSERRAT_12_SUBPX` Same as normal 12 px font but with [subpixel rendering](#subpixel-r… 54 …COMPRESSED` Same as normal 28 px font but stored as a [compressed font](#compress-fonts) with 3 bpp 55 - `LV_FONT_DEJAVU_16_PERSIAN_HEBREW` 16 px font with normal range + Hebrew, Arabic, Persian letters… 56 - `LV_FONT_SIMSUN_16_CJK`16 px font with normal range plus 1000 of the most common CJK radicals 57 - `LV_FONT_UNSCII_8` 8 px pixel perfect font with only ASCII characters 58 - `LV_FONT_UNSCII_16` 16 px pixel perfect font with only ASCII characters 61 The built-in fonts are **global variables** with names like `lv_font_montserrat_16` for a 16 px hei… 63 The built-in fonts with *bpp = 4* contain the ASCII characters and use the [Montserrat](https://fon… [all …]
|
D | object.md | 22 You can set/get these attributes with `lv_obj_set_...` and `lv_obj_get_...` functions. For example: 57 If the position of a parent changes, the children will move along with it. 75 lv_obj_set_pos(parent, 50, 50); /*Move the parent. The child will move with it.*/ 90 This behavior can be overwritten with `lv_obj_add_flag(obj, LV_OBJ_FLAG_OVERFLOW_VISIBLE);` which a… 101 Every widget has its own **create** function with a prototype like this: 108 The return value is a pointer to the created object with `lv_obj_t *` type. 134 Screens can be created with any object type. For example, a [Base object](/widgets/obj) or an image… 151 …restricted to system-level things (e.g. mouse cursor will be placed there with `lv_indev_set_curso… 158 #### Load screen with animation 160 A new screen can be loaded with animation by using `lv_scr_load_anim(scr, transition_type, time, de… [all …]
|
D | indev.md | 6 - Encoders with left/right turn and push options 73 Objects you want to control with a keypad or encoder need to be added to a *Group*. 78 You need to associate an input device with a group. An input device can send key events to only one… 82 To associate a group with an input device use `lv_indev_set_group(indev, g)`, where `indev` is the … 100 …our keys to these special keys to support navigation in a group and interact with selected objects. 102 …it's enough to use only `LV_KEY_LEFT/RIGHT` because most objects can be fully controlled with them. 104 With an encoder you should use only `LV_KEY_LEFT`, `LV_KEY_RIGHT`, and `LV_KEY_ENTER`. 108 …sing the default options. *Navigate* and *Edit* modes are used to avoid this problem with encoders. 115 …Slider](/widgets/core/slider)) leaves *Edit* mode upon a short click. But with objects where a sho… 119 Just create a group with `lv_group_t * g = lv_group_create();` and set the default group with `lv_g… [all …]
|
D | coords.md | 4 …te implementation of CSS but a comparable subset is implemented (sometimes with minor adjustments). 11 - width/height means the full size, the "content area" is smaller with padding and border width 27 ![The box models of LVGL: The content area is smaller than the bounding box with the padding and bo… 148 Note that, unlike with `lv_obj_align()`, `lv_obj_align_to()` can not realign the object if its coor… 168 Objects with `LV_OBJ_FLAG_HIDDEN` or `LV_OBJ_FLAG_FLOATING` will be ignored by the `LV_SIZE_CONTENT… 170 … can be set as well. This means an object's bounding box will be enlarged with the addition of pad… 176 The size of the bounding box and the content area can be retrieved with the following functions: 256 …to the size of the parent). For example `lv_pct(50)` will move the object with half of its width/h… 313 LVGL comes with two very powerful layouts: 317 Both are heavily inspired by the CSS layouts with the same name. [all …]
|
/lvgl-3.7.0/docs/porting/ |
D | display.md | 5 - `lv_disp_drv_t` contains callback functions to interact with the display and manipulate low level… 21 /*Initialize `disp_buf` with the buffer(s). With only one buffer use NULL instead buf_2 */ 52 …with an external display controller (e.g. ILI9341 or SSD1963) accessed via serial link. The latter… 57 With `direct_mode` the frame buffer always contains the current frame as it should be displayed on … 72 1. initialized with `lv_disp_drv_init(&disp_drv)` 74 3. it needs to be registered in LVGL with `lv_disp_drv_register(&disp_drv)` 101 Some other optional callbacks to make it easier and more optimal to work with monochrome, grayscale… 103 …if the display controller can refresh only areas with specific height or width (usually 8 px heigh… 105 … the required number of bits for the given area size. Note that rendering with `set_px_cb` is slow… 111 - `gpu_fill_cb` fill an area in the memory with a color. [all …]
|
/lvgl-3.7.0/docs/widgets/extra/ |
D | chart.md | 5 Charts are a basic object to visualize data points. Currently *Line* charts (connect points with li… 34 You can specify the display type with `lv_chart_set_type(chart, LV_CHART_TYPE_...)`. 53 The value array of a series can be obtained with `lv_chart_get_y_array(chart, ser)`, which can be u… 59 1. Set the values manually in the array like `ser1->points[3] = 7` and refresh the chart with `lv_c… 62 4. Initialize all points to a given value with: `lv_chart_set_all_value(chart, ser, value)`. 74 The update mode can be changed with `lv_chart_set_update_mode(chart, LV_CHART_UPDATE_MODE_...)`. 85 You can specify the minimum and maximum values in y-direction with `lv_chart_set_range(chart, axis,… 97 index with the function `lv_chart_set_x_start_point(chart, ser, id)` where `id` is the new index po… 102 Ticks and labels can be added to the axis with `lv_chart_set_axis_tick(chart, axis, major_len, mino… 109 - `draw_size` extra size required to draw the tick and labels (start with 20 px and increase if the… [all …]
|
/lvgl-3.7.0/docs/layouts/ |
D | flex.md | 8 …ms and tracks, handle *grow* to make the item(s) fill the remaining space with respect to min/max … 12 Note that the flex layout feature of LVGL needs to be globally enabled with `LV_USE_FLEX` in `lv_co… 25 With the following functions you can set a Flex layout on any parent. 34 - `LV_FLEX_FLOW_ROW_WRAP` Place the children in a row with wrapping 35 - `LV_FLEX_FLOW_COLUMN_WRAP` Place the children in a column with wrapping 38 - `LV_FLEX_FLOW_ROW_WRAP_REVERSE` Place the children in a row with wrapping but in reversed order 39 - `LV_FLEX_FLOW_COLUMN_WRAP_REVERSE` Place the children in a column with wrapping but in reversed o… 53 - `LV_FLEX_ALIGN_SPACE_AROUND` items are evenly distributed in the track with equal space around th… 62 For example, there is 400 px remaining space and 4 objects with grow: 63 - `A` with grow = 1 [all …]
|
/lvgl-3.7.0/ |
D | lv_conf_template.h | 41 /*Images pixels with this color will not be drawn if they are chroma keyed)*/ 80 /*Default display refresh period. LVG will redraw changed areas with this period time*/ 87 *It removes the need to manually update the tick with `lv_tick_inc()`)*/ 128 * and blend it as an image with the given opacity. 137 * and can't be drawn in chunks. So these settings affects only widgets with opacity. 144 …*With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of imag… 224 /*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/ 245 /*1: Print the log with 'printf'; 246 *0: User need to register a callback with `lv_log_register_print_cb()`*/ 335 /*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary … [all …]
|
/lvgl-3.7.0/docs/widgets/core/ |
D | textarea.md | 5 The Text Area is a [Base object](widgets/obj) with a [Label](/widgets/core/label) and a cursor on i… 24 You can insert text or characters to the current cursor's position with: 35 A placeholder text can be specified - which is displayed when the Text area is empty - with `lv_tex… 48 You can step the cursor with 60 The Text area can be configured to be on a single line with `lv_textarea_set_one_line(textarea, tru… 64 The text area supports password mode which can be enabled with `lv_textarea_set_password_mode(texta… 66 …ist in the font, `*` will be used. You can override the default character with `lv_textarea_set_pa… 70 The visibility time can be adjusted with `LV_TEXTAREA_DEF_PWD_SHOW_TIME)` in `lv_conf.h`. 73 You can set a list of accepted characters with `lv_textarea_set_accepted_chars(textarea, "012345678… 77 The maximum number of characters can be limited with `lv_textarea_set_max_length(textarea, max_char… [all …]
|
D | img.md | 18 - a variable in code (a C array with the pixels). 20 - a text with [Symbols](/overview/font). 24 …r tool](https://lvgl.io/tools/imageconverter) and set the converted image with its pointer: `lv_im… 25 To make the variable visible in the C file, you need to declare it with `LV_IMG_DECLARE(converted_i… 28 You also need to use LVGL's file system module and register a driver with some functions for the ba… 41 - **Chroma-keying** - Pixels with `LV_COLOR_CHROMA_KEY` (*lv_conf.h*) color will be transparent. 52 A color can be mixed with every pixel of an image with a given intensity. 65 For example, you can have a *300 x 5* image with a special gradient and set it as a wallpaper using… 68 With `lv_img_set_offset_x(img, x_ofs)` and `lv_img_set_offset_y(img, y_ofs)`, you can add some offs… 82 By default, the pivot point of the rotation is the center of the image. It can be changed with `lv_… [all …]
|
/lvgl-3.7.0/env_support/cmsis-pack/ |
D | lv_conf_cmsis.h | 37 /*Images pixels with this color will not be drawn if they are chroma keyed)*/ 76 /*Default display refresh period. LVG will redraw changed areas with this period time*/ 84 *It removes the need to manually update the tick with `lv_tick_inc()`)*/ 135 * and blend it as an image with the given opacity. 144 * and can't be drawn in chunks. So these settings affects only widgets with opacity. 151 …*With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of imag… 233 /*1: Print the log with 'printf'; 234 *0: User need to register a callback with `lv_log_register_print_cb()`*/ 323 /*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary … 339 /*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> t… [all …]
|
/lvgl-3.7.0/src/draw/stm32_dma2d/ |
D | lv_gpu_stm32_dma2d.c | 34 #error "Cannot use DMA2D with LV_COLOR_DEPTH other than 16 or 32" 182 // merge mask alpha bytes with src RGB bytes in lv_draw_stm32_dma2d_blend() 205 … bitmap hardware blending with mask and background is possible, but requires a temp 24 or 32-bit b… in lv_draw_stm32_dma2d_blend() 268 …// simple bitmap blending, optionally with supported color format conversion - handle directly by … in lv_draw_stm32_dma2d_img_decoded() 360 * @brief Fills draw_area with specified color. 390 …MA2D->CR = 0x2UL << DMA2D_CR_MODE_Pos; // Memory-to-memory with blending (FG and BG fetch with PFC… in _lv_draw_stm32_dma2d_blend_fill() 476 …DMA2D->CR = 0x1UL << DMA2D_CR_MODE_Pos; // Memory-to-memory with PFC (FG fetch only with FG PFC ac… in _lv_draw_stm32_dma2d_blend_map() 482 …MA2D->CR = 0x2UL << DMA2D_CR_MODE_Pos; // Memory-to-memory with blending (FG and BG fetch with PFC… in _lv_draw_stm32_dma2d_blend_map() 485 …original foreground image alpha channel value by FGPFCCR.ALPHA multiplied with original alpha chan… in _lv_draw_stm32_dma2d_blend_map() 528 …* @brief Paints solid color with alpha mask with additional constant opacity. Useful e.g. for pain… [all …]
|
/lvgl-3.7.0/src/draw/nxp/pxp/ |
D | lv_draw_pxp_blend.h | 25 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 60 * Fill area, with optional opacity. 63 * @param[in] dest_area Area with relative coordinates of destination buffer 72 * BLock Image Transfer - copy rectangular image from src_buf to dst_buf with effects. 73 * By default, image is copied directly, with optional opacity. This function can also 77 * @param[in] dest_area Area with relative coordinates of destination buffer 80 * @param[in] src_area Source area with relative coordinates of source buffer 90 * BLock Image Transfer - copy rectangular image from src_buf to dst_buf with transformation. 94 * @param[in] dest_area Area with relative coordinates of destination buffer 97 * @param[in] src_area Area with relative coordinates of source buffer [all …]
|