/lvgl-latest/scripts/ |
D | Doxyfile | 12 # For lists, items can also be appended using: 37 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This 43 # Using the PROJECT_BRIEF tag one can provide an optional one line description 49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included 66 # option can be useful when feeding doxygen a huge amount of source files, where 155 # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. 157 # part of the path. The tag can be used to show relative paths in the file list. 161 # Note that you can specify absolute paths here, but also relative paths, which 167 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the 177 # less readable) file names. This can be useful is your file systems doesn't [all …]
|
D | style_api_gen.py | 11 …'dsc': "Sets the width of object. Pixel, percentage and `LV_SIZE_CONTENT` values can be used. Perc… 15 …'dsc': "Sets a minimal width. Pixel and percentage values can be used. Percentage values are relat… 19 …'dsc': "Sets a maximal width. Pixel and percentage values can be used. Percentage values are relat… 23 …'dsc': "Sets the height of object. Pixel, percentage and `LV_SIZE_CONTENT` can be used. Percentage… 27 …'dsc': "Sets a minimal height. Pixel and percentage values can be used. Percentage values are rela… 31 …'dsc': "Sets a maximal height. Pixel and percentage values can be used. Percentage values are rela… 35 …ate of the object considering the set `align`. Pixel and percentage values can be used. Percentage… 39 …ate of the object considering the set `align`. Pixel and percentage values can be used. Percentage… 47 …both sides with this value. Pixel and percentage (with `lv_pct(x)`) values can be used. Percentage… 51 …both sides with this value. Pixel and percentage (with `lv_pct(x)`) values can be used. Percentage… [all …]
|
/lvgl-latest/docs/overview/ |
D | style.md | 4 - A style is an `lv_style_t` variable which can hold properties like border width, text color and s… 5 … can be assigned to objects to change their appearance. Upon assignment, the target part (*pseudo-… 6 For example one can add `style_blue` to the knob of a slider when it's in pressed state. 7 - The same style can be used by any number of objects. 8 - Styles can be cascaded which means multiple styles may be assigned to an object and each style ca… 10 For example `style_btn` can result in a default gray button and `style_btn_red` can add only a `bac… 12 - Some properties (e.g. text color) can be inherited from a parent(s) if it's not specified in an o… 13 - Objects can also have local styles with higher precedence than "normal" styles. 15 - Transitions can be applied when the object changes state. 19 The objects can be in the combination of the following states: [all …]
|
D | drawing.md | 5 However, it can be useful to have a basic understanding of how drawing happens in LVGL to add custo… 9 The draw buffer can be smaller than a display's size. LVGL will simply render in "tiles" that fit i… 18 …(which usually requires external RAM) but only smaller draw buffer(s) that can easily fit into int… 45 2. **Two buffers** - LVGL can immediately draw to the second buffer when the first is sent to `flu… 54 LVGL performs the following steps to render any shape, image or text. It can be considered as a dra… 63 LVGL has the following built-in mask types which can be calculated and applied real-time: 90 … draw engine with `int16_t mask_id = lv_draw_mask_add(¶m, ptr)`. `ptr` can be any pointer to i… 95 A parameter can be added and removed any number of times, but it needs to be freed when not require… 100 Although widgets can be easily customized by styles there might be cases when something more custom… 102 Some fields of these parameters can be modified to draw something else or any custom drawing operat… [all …]
|
D | image.md | 3 An image can be a file or a variable which stores the bitmap itself and some metadata. 6 You can store images in two places 25 You can add an interface to a standard file system (FAT32 on SD card) or you create your simple fil… 37 … This is ideal for bitmaps similar to fonts where the whole image is one color that can be altered. 57 You can store images in a *Raw* format to indicate that it's not encoded with one of the built-in c… 65 You can add images to LVGL in two ways: 77 …support](#files). Choosing a variable will generate a standard C file that can be linked into your… 89 If you are generating an image at run-time, you can craft an image variable to display it using LVG… 105 If the color format is `LV_IMG_CF_TRUE_COLOR_ALPHA` you can set `data_size` like `80 * 60 * LV_IMG_… 127 As you can see in the [Color formats](#color-formats) section, LVGL supports several built-in image… [all …]
|
D | object.md | 6 You can see all the [Object types](/widgets/index) here. 8 All objects are referenced using an `lv_obj_t` pointer as a handle. This pointer can later be used … 22 You can set/get these attributes with `lv_obj_set_...` and `lv_obj_get_...` functions. For example: 46 The API of the widgets is described in their [Documentation](/widgets/index) but you can also check… 52 …rent object can be considered as the container of its children. Every object has exactly one paren… 90 This behavior can be overwritten with `lv_obj_add_flag(obj, LV_OBJ_FLAG_OVERFLOW_VISIBLE);` which a… 95 In LVGL, objects can be created and deleted dynamically at run time. It means only the currently cr… 99 UIs can be created based on the current environment of the device. For example one can create meter… 118 If for any reason you can't delete the object immediately you can use `lv_obj_del_async(obj)` which… 121 You can remove all the children of an object (but not the object itself) using `lv_obj_clean(obj)`. [all …]
|
D | coords.md | 46 As it's described in the [Using styles](#using-styles) section, coordinates can also be set via sty… 102 The following alignment options can be used: 128 Besides the alignments options above, the following can be used to align an object outside the refe… 148 Note that, unlike with `lv_obj_align()`, `lv_obj_align_to()` can not realign the object if its coor… 153 The width and the height of an object can be set easily as well: 170 The above functions set the size of an object's bounding box but the size of the content area can b… 176 The size of the bounding box and the content area can be retrieved with the following functions: 191 - The values can be partially overwritten by other styles. For example `style_btn` makes the object… 192 - The object can have different position or size depending on state. E.g. 100 px wide in `LV_STATE_… 193 - Style transitions can be used to make the coordinate changes smooth. [all …]
|
D | scroll.md | 6 Any object can be scrollable including `lv_obj_t`, `lv_img`, `lv_btn`, `lv_meter`, etc 8 The object can either be scrolled horizontally or vertically in one stroke; diagonal scrolling is n… 23 …ir own dedicated part, called `LV_PART_SCROLLBAR`. For example a scrollbar can turn to red like th… 47 Note that, the `base_dir` style property is inherited. Therefore, it can be set directly on the `LV… 54 …eter is `NULL` or an `lv_anim_t *` with a scroll animation descriptor that can be modified if requ… 71 Non-scrollable objects can still propagate the scrolling (chain) to their parents. 73 The direction in which scrolling happens can be controlled by `lv_obj_set_scroll_dir(obj, LV_DIR_..… 87 …t can't be scrolled further (e.g. its content has reached the bottom-most position) additional scr… 90 The propagation on scrolling is called "scroll chaining" and it can be enabled/disabled with `LV_OB… 94 When the user scrolls an object and releases it, LVGL can emulate inertial momentum for the scrolli… [all …]
|
D | display.md | 8 In LVGL you can have multiple displays, each with their own driver and objects. The only limitation… 9 If the displays are different in this regard the rendered image can be converted to the correct for… 21 Using more displays can be useful but in most cases it's not required. Therefore, the whole concept… 33 You can create a larger virtual display from an array of smaller ones. You can create it as below: 45 * **Screens** are the high-level root objects associated with a particular display. One display can… 47 Screens can be considered the highest level containers which have no parent. 48 …herefore, a screen's coordinates can't be changed, i.e. `lv_obj_set_pos()`, `lv_obj_set_size()` or… 50 A screen can be created from any object type but the two most typical types are [Base object](/widg… 52 To create a screen, use `lv_obj_t * scr = lv_<type>_create(NULL, copy)`. `copy` can be an existing … 54 …se `lv_disp_get_scr_act(disp)` and `lv_disp_load_scr(disp, scr)`. A screen can be loaded with anim… [all …]
|
D | font.md | 4 A font is stored in a `lv_font_t` variable and can be set in a style's *text_font* field. For examp… 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… 69 The symbols can be used singly as: 96 …ase direction is not only applied to labels. It's a general property which can be set for every ob… 100 The default base direction for screens can be set by `LV_BIDI_BASE_DIR_DEF` in *lv_conf.h* and othe… 139 …h the library settings. By default, LVGL assumes `RGB` order, however this can be swapped by setti… 142 The bitmaps of fonts can be compressed by 149 - they can be compressed better 157 …s (Montserrat font and symbols) but in a different size and/or ranges, you can use the `built_in_f… [all …]
|
D | event.md | 11 The user can assign callback functions to an object to see its events. In practice, it looks like t… 24 `LV_EVENT_ALL` can be used to receive all events. 28 More events can be added to an object, like this: 35 Even the same event callback can be used on an object with different `user_data`. For example: 44 Other objects can use the same *event callback*. 49 Events can be removed from an object with the `lv_obj_remove_event_cb(obj, event_cb)` function or `… 53 The event codes can be grouped into these categories: 77 …eter is `NULL` or an `lv_anim_t *` with a scroll animation descriptor that can be modified if requ… 85 …t_test_info_t * a = lv_event_get_hit_test_info(e)` and check if `a->point` can click the object or… 100 In `LV_EVENT_DRAW_...` events it's not allowed to adjust the widgets' properties. E.g. you can not … [all …]
|
D | timer.md | 3 LVGL has a built-in timer system. You can register a function to have it be called periodically. Th… 6 Timers are non-preemptive, which means a timer cannot interrupt another timer. Therefore, you can c… 10 …, period_ms, user_data)`. It will create an `lv_timer_t *` variable, which can be used later to mo… 11 `lv_timer_create_basic()` can also be used. This allows you to create a new timer without specifyin… 45 You can modify some timer parameters later: 51 You can make a timer repeat only a given number of times with `lv_timer_set_repeat_count(timer, cou… 56 You can get the idle percentage time of `lv_timer_handler` with `lv_timer_get_idle()`. Note that, i… 57 It can be misleading if you use an operating system and call `lv_timer_handler` in a timer, as it w… 61 In some cases, you can't perform an action immediately. For example, you can't delete an object bec… 62 For these cases, `lv_async_call(my_function, data_p)` can be used to call `my_function` on the next… [all …]
|
/lvgl-latest/docs/get-started/ |
D | quick-overview.md | 4 Here you can learn the most important things about LVGL. 12 Go to the [Simulators](/get-started/pc-simulator) section to get ready-to-use projects that can be … 13 This way you can save the time of porting for now and get some experience with LVGL immediately. 23 Alternatively, configure `LV_TICK_CUSTOM` (see `lv_conf.h`) so that LVGL can retrieve the current t… 26 The buffer size can be set freely but 1/10 screen size is a good starting point. 32 - Implement and register a function which can copy the rendered image to an area of your display: 58 - Implement and register a function which can read an input device. E.g. for a touchpad: 93 Children can be visible only within their parent's bounding area. In other words, the parts of the … 95 A Screen is the "root" parent. You can have any number of screens. 99 You can create a new object with `lv_<type>_create(parent)`. It will return an `lv_obj_t *` variabl… [all …]
|
/lvgl-latest/src/extra/libs/png/ |
D | lodepng.h | 36 The following #defines are used to create code sections. They can be disabled 37 to disable code sections, which can give faster compile time and smaller binary. 41 In addition to those below, you can also define LODEPNG_NO_COMPILE_CRC to 81 you can define the functions lodepng_free, lodepng_malloc and lodepng_realloc in your 87 /*compile the C++ version (you can disable the C++ wrapper here even when compiling for C++)*/ 277 not hard limit nor a guarantee, but can prevent excessive memory usage. This setting is 278 …ignored by the PNG decoder, but is used by the deflate/zlib decoder and can be used by custom ones. 312 …unsigned minmatch; /*minimum lz77 length. 3 is normally best, 6 can be better for some PNGs. Defau… 355 When decoding, by default you can ignore this palette, since LodePNG already 366 …This color uses the same bit depth as the bitdepth value in this struct, which can be 1-bit to 16-… [all …]
|
/lvgl-latest/docs/ |
D | CONTRIBUTING.md | 21 …m/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to format your posts. You can learn it in 10 minu… 30 … like "Hey, I made some updates to your project. Here are the changes, you can add them if you wan… 32 You can see what it looks like on GitHub for LVGL here: [https://github.com/lvgl/lvgl/pulls](https:… 34 To add your changes you can edit files online on GitHub and send a new Pull request from there (rec… 50 3. Add your changes. You can create a *feature branch* from *master* for the updates: `git checkout… 79 …file, or sub-system that is affected by the commit. It's usually one word and can be chosen freely. 80 For example `img`, `layout`, `txt`, `anim`. The scope can be omitted. 88 `<body>` optional and can be used to describe the details of this change. 124 The text of DCO can be read here: [https://developercertificate.org/](https://developercertificate.… 137 In this case you can just send a Pull Request without worrying about any licensing issues. [all …]
|
/lvgl-latest/docs/widgets/ |
D | obj.md | 14 The functions and functionalities of the Base object can be used with other widgets too. For exampl… 16 The Base object can be directly used as a simple widget: it's nothing more than a rectangle. In HTM… 23 …ject size can be modified on individual axes with `lv_obj_set_width(obj, new_width)` and `lv_obj_s… 26 You can set the position relative to the parent with `lv_obj_set_x(obj, new_x)` and `lv_obj_set_y(o… 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… 55 The children can be iterated lke this: 66 You can bring an object to the foreground or send it to the background with `lv_obj_move_foreground… 68 You can change the index of an object in its parent using `lv_obj_move_to_index(obj, index)`. 70 You can swap the position of two objects with `lv_obj_swap(obj1, obj2)`. [all …]
|
/lvgl-latest/docs/widgets/extra/ |
D | chart.md | 7 Charts can have: 29 - `LV_CHART_TYPE_NONE` Do not display any data. Can be used to hide the series. 34 You can specify the display type with `lv_chart_set_type(chart, LV_CHART_TYPE_...)`. 38 You can add any number of series to the charts by `lv_chart_add_series(chart, color, axis)`. This a… 39 `axis` can have the following values: 53 The value array of a series can be obtained with `lv_chart_get_y_array(chart, ser)`, which can be u… 55 …t_ext_x_array(chart, ser, value_array)` and `lv_chart_get_x_array(chart, ser)` can be used as well. 66 … ser, id, value)` and `lv_chart_set_next_value2(chart, ser, x_valuem y_value)` can be used as well. 70 `lv_chart_set_next_value` can behave in two ways depending on *update mode*: 74 The update mode can be changed with `lv_chart_set_update_mode(chart, LV_CHART_UPDATE_MODE_...)`. [all …]
|
/lvgl-latest/src/core/ |
D | lv_event.h | 44 …crolling begins. The event parameter is a pointer to the animation of the scroll. Can be modified*/ 89 LV_EVENT_PREPROCESS = 0x80, /** This is a flag that can be set with an event so it's processed 113 …* Used as the event parameter of ::LV_EVENT_HIT_TEST to check if an `point` can click the object o… 117 * - If already set to `true` you agree that `point` can click the object leave it as `true` 120 …const lv_point_t * point; /**< A point relative to screen to check if it can click the object or… 121 bool res; /**< true: `point` can click the object; false: it cannot*/ 207 * It can be used the same way as e.g. `LV_EVENT_CLICKED` to send custom events 219 * Nested events can be called and one of them might belong to an object that is being deleted. 228 …* An object can have multiple event handler. They will be called in the same order as they were ad… 230 …g. `LV_EVENT_CLICKED`) on which the event should be called. `LV_EVENT_ALL` can be sued the receive… [all …]
|
/lvgl-latest/docs/widgets/core/ |
D | textarea.md | 6 Texts or characters can be added to it. 7 Long lines are wrapped and when the text becomes long enough the Text area can be scrolled. 14 …el.html#text-selection). Only `text_color` and `bg_color` style properties can be used. `bg_color`… 16 A block cursor can be created by adding a background color and background opacity to `LV_PART_CURSO… 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… 44 The cursor position can be modified directly like `lv_textarea_set_cursor_pos(textarea, 10)`. 48 You can step the cursor with 57 The cursor is always visible, however it can be a good idea to style it to be visible only in `LV_S… 60 The Text area can be configured to be on a single line with `lv_textarea_set_one_line(textarea, tru… [all …]
|
D | img.md | 6 Images are the basic object to display images from flash (as arrays) or from files. Images can disp… 8 Using the [Image decoder interface](/overview/image.html#image-decoder) custom image formats can be… 16 To provide maximum flexibility, the source of the image can be: 31 …can also set a symbol similarly to [Labels](/widgets/core/label). In this case, the image will be … 35 Therefore, images and labels are somewhat interchangeable, that is the images can display texts by … 49 These options can be selected in the image converter. To learn more about the color formats, read t… 52 A color can be mixed with every pixel of an image with a given intensity. 53 This can be useful to show different states (checked, inactive, pressed, etc.) of an image without … 54 This feature can be enabled in the style by setting `img_recolor_opa` between `LV_OPA_TRANSP` (no r… 65 For example, you can have a *300 x 5* image with a special gradient and set it as a wallpaper using… [all …]
|
D | label.md | 7 …typical background properties and the text properties. The padding values can be used to add spac… 9 …he [selected text](#text-selection). Only `text_color` and `bg_color` style properties can be used. 14 You can set the text on a label at runtime with `lv_label_set_text(label, "New text")`. 18 With `lv_label_set_text_fmt(label, "Value: %d", 15)` printf formatting can be used to set the text. 22 This means that the array can't be a local variable which goes out of scope when the function exits. 27 Newline characters are handled automatically by the label object. You can use `\n` to make a line b… 31 ….g.`lv_obj_set_width` or a layout), the lines wider than the label's width can be manipulated acco… 32 Similarly, the policies can be applied if the height of the text is greater than the height of the … 39 You can specify the long mode with `lv_label_set_long_mode(label, LV_LABEL_LONG_...)` 46 In the text, you can use commands to recolor parts of the text. For example: `"Write a #ff0000 red#… [all …]
|
D | dropdown.md | 19 - `LV_PART_INDICATOR` Typically an arrow symbol that can be an image or a text (`LV_SYMBOL`). 24 - `LV_PART_MAIN` The list itself. Uses the typical background properties. `max_height` can be used … 35 Alternatively the theme can be extended with the new styles. 42 …t\nSecond\nThird"`. This string will be saved in the drop-down list, so it can in a local variable. 46 To save memory the options can set from a static(constant) string too with `lv_dropdown_set_options… 47 …s string should be alive while the drop-down list exists and `lv_dropdown_add_option` can't be used 49 You can select an option manually with `lv_dropdown_set_selected(dropdown, id)`, where `id` is the … 57 The list can be created on any side. The default `LV_DIR_BOTTOM` can be modified by `lv_dropdown_se… 62 A symbol (typically an arrow) can be added to the dropdown list with `lv_dropdown_set_symbol(dropdo… 67 The main part can either show the selected option or a static text. If a static is set with `lv_dro… [all …]
|
/lvgl-latest/docs/porting/ |
D | display.md | 12 A draw buffer can be initialized via a `lv_disp_draw_buf_t` variable like this: 27 As you can see above, the draw buffer may be smaller than the screen. In this case, larger areas ar… 37 You can measure the performance of different configurations using the [benchmark example](https://g… 44 If two buffers are used LVGL can draw into one buffer while the content of the other buffer is sen… 45 DMA or other hardware should be used to transfer data to the display so the MCU can continue drawin… 96 - `screen_transp` if `1` the screen itself can have transparency as well. `LV_COLOR_SCREEN_TRANSP` … 102 - `rounder_cb` Round the coordinates of areas to redraw. E.g. a 2x2 px can be converted to 2x8. 103 It can be used if the display controller can refresh only areas with specific height or width (usua… 104 - `set_px_cb` a custom function to write the draw buffer. It can be used to store the pixels more c… 105 This way the buffers used in `lv_disp_draw_buf_t` can be smaller to hold only the required number o… [all …]
|
D | indev.md | 19 The `type` member can be: 30 Input devices that can click points on the screen belong to this category. 77 With an encoder you can do the following: 84 - By turning the encoder you can focus on the next/previous object. 86 …ike a list, message box, etc.) the object will go to edit mode whereby you can navigate inside the… 108 In addition to standard encoder behavior, you can also utilize its logic to navigate(focus) and edi… 131 /* Optionally you can also use enc_diff, if you have encoder*/ 144 ``` important:: The points_array can't go out of scope. Either declare it as a global variable or … 171 The default value of the following parameters can be changed in `lv_indev_drv_t`: 176 - `read_timer` pointer to the `lv_timer` which reads the input device. Its parameters can be change… [all …]
|
/lvgl-latest/src/extra/libs/qrcode/ |
D | qrcodegen.h | 60 qrcodegen_Ecc_LOW = 0 , // The QR Code can tolerate about 7% erroneous codewords 61 qrcodegen_Ecc_MEDIUM , // The QR Code can tolerate about 15% erroneous codewords 62 qrcodegen_Ecc_QUARTILE, // The QR Code can tolerate about 25% erroneous codewords 63 qrcodegen_Ecc_HIGH , // The QR Code can tolerate about 30% erroneous codewords 104 * Even in the most favorable conditions, a QR Code can only hold 7089 characters of data. 119 // Can be null if the bit length is zero. 137 // can store any single QR Code from version 1 to 25 (inclusive). The result fits in an int (or int… 163 * can hold any UTF-8 string up to 2953 bytes, or any alphanumeric string 186 * - In the most optimistic case, a QR Code at version 40 with low ECC can hold any byte 201 …* of the result may be higher than the ecl argument if it can be done without increasing the versi… [all …]
|