/lvgl-3.6.0/scripts/ |
D | Doxyfile | 6 # All text after a double hash (##) is considered a comment and is placed in 7 # front of the TAG it is preceding. 9 # All text after a single hash (#) is considered a comment and will be ignored. 10 # The format is: 21 # that follow. The default is UTF-8 which is also the encoding used for all text 25 # The default value is: UTF-8. 29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by 31 # project for which the documentation is generated. This name is used in the 33 # The default value is: My Project. 39 # control system is used. [all …]
|
/lvgl-3.6.0/src/extra/libs/png/ |
D | lodepng.h | 6 This software is provided 'as-is', without any express or implied 10 Permission is granted to anyone to use this software for any purpose, 17 appreciated but is not required. 119 After decoding, its size is w * h * (bytes per pixel) bytes larger than 217 is the format to output the pixels to. Default is RGBA 8-bit per channel.*/ 237 is that of the raw input data. The output PNG color type will be auto chosen.*/ 272 …re_adler32; /*if 1, continue and don't give an error message if the Adler32 checksum is corrupted*/ 275 /*Maximum decompressed size, beyond this the decoder may (and is encouraged to) stop decoding, 276 return an error, output a data size > max_output_size and all the data up to that point. This is 277 not hard limit nor a guarantee, but can prevent excessive memory usage. This setting is [all …]
|
D | lodepng.c | 6 This software is provided 'as-is', without any express or implied 10 Permission is granted to anyone to use this software for any purpose, 17 appreciated but is not required. 44 #pragma warning( disable : 4996 ) /*VS does not like fopen, but fopen_s is not standard C so unusab… 50 This source file is built up in the following large parts. The code sections 100 /* inline is not available in C90, but use it when supported by the compiler */ 107 /* restrict is not available in C90, but use it when supported by the compiler */ 117 where a full C library is not available. The compiler can recognize them and compile 147 *result = a + b; /* Unsigned addition is well defined and safe in C90 */ in lodepng_addofl() 156 *result = a * b; /* Unsigned multiplication is well defined and safe in C90 */ in lodepng_mulofl() [all …]
|
/lvgl-3.6.0/docs/overview/ |
D | style.md | 3 …ce of objects. Styles in lvgl are heavily inspired by CSS. The concept in a nutshell is as follows: 4 - A style is an `lv_style_t` variable which can hold properties like border width, text color and s… 11 - The most recently added style has higher precedence. This means if a property is specified in two… 14 - Unlike CSS (where pseudo-classes describe different states, e.g. `:focus`), in LVGL a property is… 34 …ination of states such as being focused and pressed at the same time. This is represented as `LV_S… 38 …property is not defined in a state the best matching state's property will be used. Typically this… 39 If the property is not set even for the default state the default value will be used. (See later) 42 States have a precedence which is shown by their value (see in the above list). A higher value mean… 43 To determine which state's property to use let's take an example. Imagine the background color is d… 48 1. Initially the object is in the default state, so it's a simple case: the property is perfectly d… [all …]
|
D | drawing.md | 3 …ttons, labels, arc, etc.), move and change them, and LVGL will refresh and redraw what is required. 7 …ept is to not draw directly onto the display but rather to first draw on an internal draw buffer. … 16 Note that this concept is different from "traditional" double buffering where there are two display… 17 … happens to the other (inactive) frame buffer, and they are swapped when the rendering is finished. 18 The main difference is that with LVGL you don't have to store two frame buffers (which usually requ… 26 …appens in the UI which requires redrawing. For example, a button is pressed, a chart is changed, a… 36 - When the area is rendered, call `flush_cb` from the display driver to refresh the display. 40 When an area is redrawn the library searches the top-most object which covers that area and starts … 43 The difference between buffering modes regarding the drawing mechanism is the following: 45 2. **Two buffers** - LVGL can immediately draw to the second buffer when the first is sent to `flu… [all …]
|
D | image.md | 18 - **data** pointer to an array where the image itself is stored 24 To deal with files you need to add a storage *Drive* to LVGL. In short, a *Drive* is a collection o… 26 In every case, a *Drive* is just an abstraction to read and/or write data to memory. 33 - **LV_IMG_CF_TRUE_COLOR** Simply stores the RGB colors (in whatever color depth LVGL is configured… 37 …ource image has to be an alpha channel. This is ideal for bitmaps similar to fonts where the whole… 59 - **LV_IMG_CF_RAW_ALPHA** Indicates that an image has alpha and an alpha byte is added for every pi… 60 - **LV_IMG_CF_RAW_CHROMA_KEYED** Indicates that an image is chroma-keyed as described in `LV_IMG_CF… 70 The online Image converter is available here: https://lvgl.io/tools/imageconverter 72 Adding an image to LVGL via the online converter is easy. 78 5. Hit the *Convert* button. Once the conversion is finished, your browser will automatically downl… [all …]
|
D | event.md | 4 - is clicked 5 - is scrolled 7 - is redrawn, etc. 26 The last parameter of `lv_obj_add_event_cb` is a pointer to any custom data that will be available … 49 …nt_cb)` function or `lv_obj_remove_event_dsc(obj, event_dsc)`. `event_dsc` is a pointer returned b… 70 - `LV_EVENT_PRESSING` An object is being pressed (called continuously while pressing) 71 - `LV_EVENT_PRESS_LOST` An object is still being pressed but slid cursor/finger off of the object 77 - `LV_EVENT_SCROLL_BEGIN` Scrolling begins. The event parameter is `NULL` or an `lv_anim_t *` with … 80 - `LV_EVENT_GESTURE` A gesture is detected. Get the gesture with `lv_indev_get_gesture_dir(lv_… 81 - `LV_EVENT_KEY` A key is sent to an object. Get the key with `lv_indev_get_key(lv_indev_g… [all …]
|
D | scroll.md | 4 In LVGL scrolling works very intuitively: if an object is outside its parent content area (the size… 8 The object can either be scrolled horizontally or vertically in one stroke; diagonal scrolling is n… 16 - `LV_SCROLLBAR_MODE_ACTIVE` Show scroll bars while an object is being scrolled 17 - `LV_SCROLLBAR_MODE_AUTO` Show scroll bars when the content is large enough to be scrolled 35 This code makes the scrollbar blue when the object is scrolled: 46 If the base direction of the `LV_PART_SCROLLBAR` is RTL (`LV_BASE_DIR_RTL`) the vertical scrollbar … 47 Note that, the `base_dir` style property is inherited. Therefore, it can be set directly on the `LV… 54 - `LV_EVENT_SCROLL_BEGIN` Scrolling begins. The event parameter is `NULL` or an `lv_anim_t *` with … 87 ….g. its content has reached the bottom-most position) additional scrolling is propagated to its pa… 90 The propagation on scrolling is called "scroll chaining" and it can be enabled/disabled with `LV_OB… [all …]
|
D | coords.md | 4 …L has by no means a complete implementation of CSS but a comparable subset is implemented (sometim… 11 - width/height means the full size, the "content area" is smaller with padding and border width 21 An object's "box" is built from the following parts: 25 - content: the content area which is the size of the bounding box reduced by the border width and p… 27 ![The box models of LVGL: The content area is smaller than the bounding box with the padding and bo… 29 The border is drawn inside the bounding box. Inside the border LVGL keeps a "padding margin" when p… 31 The outline is drawn outside the bounding box. 37 LVGL doesn't recalculate all the coordinate changes immediately. This is done to improve performanc… 47 To be more precise, under the hood every style coordinate related property is stored as a style pro… 49 This is an internal mechanism and doesn't matter much as you use LVGL. However, there is one case i… [all …]
|
D | display.md | 3 ``` important:: The basic concept of a *display* in LVGL is explained in the [Porting](/porting/dis… 8 …iple displays, each with their own driver and objects. The only limitation is that every display n… 11 Creating more displays is easy: just initialize more display buffers and register another driver fo… 21 … it's not required. Therefore, the whole concept of multi-display handling is completely hidden if… 22 By default, the last created (and only) display is used. 48 A screen's size is always equal to its display and their origin is (0;0). Therefore, a screen's coo… 60 Usually, the opacity of the screen is `LV_OPA_COVER` to provide a solid background for its children… 61 …-background) section for more details. If the display's background opacity is also not `LV_OPA_COV… 63 …d be used to create for example OSD menus where a video is played on a lower layer, and a menu is … 77 A user's inactivity time is measured on each display. Every use of an [Input device](/overview/inde… [all …]
|
/lvgl-3.6.0/src/extra/libs/qrcode/ |
D | qrcodegen.h | 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of 11 * the Software, and to permit persons to whom the Software is furnished to do so, 15 * - The Software is provided "as is", without warranty of any kind, express or 37 * This library creates QR Code symbols, which is a type of two-dimension barcode. 39 * A QR Code structure is an immutable square grid of black and white cells. 100 * The mid-level way to create a segment is to take the payload data 102 * The low-level way to create a segment is to custom-make the bit buffer 105 * Any segment longer than this is meaningless for the purpose of generating QR Codes. 106 * Moreover, the maximum allowed bit length is 32767 because 119 // Can be null if the bit length is zero. [all …]
|
/lvgl-3.6.0/docs/get-started/platforms/ |
D | nxp.md | 8 Downloading the MCU SDK example project is recommended as a starting point. It comes fully configur… 9 with PXP/VGLite support if the modules are present), no additional integration work is required. 17 Several drawing features in LVGL can be offloaded to the PXP engine. The CPU is available for other… 18 PXP is running. RTOS is required to block the LVGL drawing thread and switch to another task or sus… 43 - Combination of recolor and/or rotation + color key/alpha blend/transparency is supported. 44 That is achieved by PXP in two steps: 45 - First step is to recolor/rotate the image to a temporary buffer (statically allocated) 46 - Second step is required to handle color keying, alpha channel or to apply transparency 49 - Rotation is not supported for images unaligned to blocks of 16x16 pixels. 50 PXP is set to process 16x16 blocks to optimize the system for memory bandwidth and image processing… [all …]
|
/lvgl-3.6.0/src/core/ |
D | lv_obj_pos.h | 44 * @note The position is interpreted on the content area of the parent 55 * @note The position is interpreted on the content area of the parent 66 * @note The position is interpreted on the content area of the parent 137 * Test whether the and object is positioned by a layout or not 185 …* @param base pointer to an other object (if NULL `obj`s parent is used). 'obj' will be align… 216 …* @note The position of the object is recalculated only on the next redraw. To force co… 218 …* @note Zero return value means the object is on the left padding of the parent, and no… 220 …* @note The returned value is always the distance from the parent even if `obj` is posi… 228 …* @note The position of the object is recalculated only on the next redraw. To force co… 230 …* @note Zero return value means the object is on the right padding of the parent, and n… [all …]
|
D | lv_indev.c | 304 /*If this obj is hidden the children are hidden too so return immediately*/ in lv_indev_search_obj() 312 /*If the point is on this object or has overflow visible check its children too*/ in lv_indev_search_obj() 359 LV_LOG_WARN("X is %d which is smaller than zero", (int)data->point.x); in indev_pointer_proc() 362 LV_LOG_WARN("X is %d which is greater than hor. res", (int)data->point.x); in indev_pointer_proc() 365 LV_LOG_WARN("Y is %d which is smaller than zero", (int)data->point.y); in indev_pointer_proc() 368 LV_LOG_WARN("Y is %d which is greater than ver. res", (int)data->point.y); in indev_pointer_proc() 423 *so if any event handler on the way returns `LV_RES_INV` the last state is remembered in indev_keypad_proc() 430 LV_LOG_INFO("%" LV_PRIu32 " key is pressed", data->key); in indev_keypad_proc() 435 … lv_group_set_editing(g, false); /*Editing is not used by KEYPAD is be sure it is disabled*/ in indev_keypad_proc() 441 … lv_group_set_editing(g, false); /*Editing is not used by KEYPAD is be sure it is disabled*/ in indev_keypad_proc() [all …]
|
D | lv_event.h | 37 …LV_EVENT_PRESSING, /**< The object is being pressed (called continuously while pressing… 38 …LV_EVENT_PRESS_LOST, /**< The object is still being pressed but slid cursor/finger off of… 44 …LV_EVENT_SCROLL_BEGIN, /**< Scrolling begins. The event parameter is a pointer to the anima… 47 …LV_EVENT_GESTURE, /**< A gesture is detected. Get the gesture with `lv_indev_get_gestu… 48 …LV_EVENT_KEY, /**< A key is sent to the object. Get the key with `lv_indev_get_key… 49 LV_EVENT_FOCUSED, /**< The object is focused*/ 50 LV_EVENT_DEFOCUSED, /**< The object is defocused*/ 51 LV_EVENT_LEAVE, /**< The object is defocused but still selected*/ 55 … /**< Check if the object fully covers an area. The event parameter is `lv_cover_check_info… 56 …d extra draw area around the object (e.g. for shadow). The event parameter is `lv_coord_t *` to st… [all …]
|
/lvgl-3.6.0/src/draw/stm32_dma2d/ |
D | lv_gpu_stm32_dma2d.c | 91 static bool isDma2dInProgess = false; // indicates whether DMA2D transfer *initiated here* is in pr… 147 // Note: x1 must be zero. Otherwise, there is no way to correctly calculate dest_stride. in lv_draw_stm32_dma2d_blend() 149 …art address and buffer size *must* be 32-byte aligned since draw buffer cache is being invalidated. in lv_draw_stm32_dma2d_blend() 151 …//LV_ASSERT_MSG(drawBufferLength % CACHE_ROW_SIZE == 0); // critical, but this is not the way to t… in lv_draw_stm32_dma2d_blend() 152 …//LV_ASSERT_MSG((uint32_t)draw_ctx->buf % CACHE_ROW_SIZE == 0, "draw_ctx.buf is not 32B aligned");… in lv_draw_stm32_dma2d_blend() 155 …art address and buffer size *should* be 32-byte aligned since source buffer cache is being cleaned. in lv_draw_stm32_dma2d_blend() 176 …start address and buffer size *should* be 32-byte aligned since mask buffer cache is being cleaned. in lv_draw_stm32_dma2d_blend() 221 …// Note: 16-bit bitmap hardware blending with mask and background is possible, but requires a temp… in lv_draw_stm32_dma2d_blend() 224 …he after software drawing - this does not help since this is not the only place where buffer is wr… in lv_draw_stm32_dma2d_blend() 254 …art address and buffer size *must* be 32-byte aligned since draw buffer cache is being invalidated. in lv_draw_stm32_dma2d_buffer_copy() [all …]
|
/lvgl-3.6.0/docs/porting/ |
D | display.md | 10 Once rendering is ready the content of the draw buffer is sent to the display using the `flush_cb` … 17 /*Static or global buffer(s). The second buffer is optional*/ 28 If only a small area changes (e.g. a button is pressed) then only that area will be refreshed. 30 A larger buffer results in better performance but above 1/10 screen sized buffer(s) there is no sig… 40 If only one buffer is used LVGL draws the content of the screen into that draw buffer and sends it … 41 LVGL then needs to wait until the content of the buffer is sent to the display before drawing somet… 44 If two buffers are used LVGL can draw into one buffer while the content of the other buffer is sen… 50 If `full_refresh` is enabled and two screen sized draw buffers are provided, LVGL's display handlin… 55 …f the `direct_mode` flag is enabled in the display driver LVGL will draw directly into a **screen … 71 Once the buffer initialization is ready a `lv_disp_drv_t` display driver needs to be: [all …]
|
/lvgl-3.6.0/src/extra/libs/tiny_ttf/ |
D | stb_truetype_htcw.h | 145 // After the sample programs is the "header file" section. This section 151 // Characters are defined by unicode codepoints, e.g. 65 is 152 // uppercase A, 231 is lowercase c with a cedilla, 0x7e30 is 156 // A visual character shape (every codepoint is rendered as 163 // Glyph shapes are defined relative to a baseline, which is the 169 // which is the origin of each character. The current point's vertical 170 // position is the baseline. Even "baked fonts" use this model. 178 // is to specify how tall the font's vertical extent should be in pixels. 191 // but the author has observed that this scale factor is often wrong 203 // You need to select a y-coordinate that is the baseline of where [all …]
|
/lvgl-3.6.0/src/misc/ |
D | lv_anim.h | 49 * First parameter is the variable to animate. 50 * Second parameter is the value to set. 60 /** Callback to call when the animation is ready*/ 69 /** Callback used when the animation is deleted*/ 76 …lv_anim_start_cb_t start_cb; /**< Call it when the animation is starts (considering `delay… 77 lv_anim_ready_cb_t ready_cb; /**< Call it when the animation is ready*/ 78 lv_anim_deleted_cb_t deleted_cb; /**< Call it when the animation is deleted*/ 93 uint8_t early_apply : 1; /**< 1: Apply start value immediately even is there is `delay`*/ 96 uint8_t playback_now : 1; /**< Play back is in progress*/ 179 * This function might be used when LVGL is bound to other languages because [all …]
|
/lvgl-3.6.0/docs/widgets/core/ |
D | label.md | 4 A label is the basic object type that is used to display text. 8 - `LV_PART_SCROLLBAR` The scrollbar that is shown when the text is larger than the widget's size. 21 In this case, the text is not stored in the dynamic memory and the given buffer is used directly in… 23 … as it modifies the buffer in-place), as they are stored in ROM memory, which is always accessible. 30 … default, the width and height of the label is set to `LV_SIZE_CONTENT`. Therefore, the size of th… 32 Similarly, the policies can be applied if the height of the text is greater than the height of the … 33 - `LV_LABEL_LONG_WRAP` Wrap too long lines. If the height is `LV_SIZE_CONTENT` the label's height w… 35 …OLL` If the text is wider than the label scroll it horizontally back and forth. If it's higher, sc… 36 …ULAR` If the text is wider than the label scroll it horizontally continuously. If it's higher, scr… 42 …lv_label_set_array_text` are used, a separate buffer is allocated and this implementation detail i… [all …]
|
/lvgl-3.6.0/docs/ |
D | CONTRIBUTING.md | 11 A friendly and helpful community is waiting for you. Get to know like-minded people and make someth… 23 - Give feedback and close the issue or mark the topic as solved if your question is answered. 30 A PR is a notification like "Hey, I made some updates to your project. Here are the changes, you ca… 54 8. Describe what is in the update. An example code is welcome if applicable. 58 The commit messages format is inspired by [Angular Commit Format](https://gist.github.com/brianclem… 79 `<scope>` is the module, file, or sub-system that is affected by the commit. It's usually one word … 96 fix(img): update size if a new source is set 128 If your contribution fulfills the requirements of the DCO no further action is needed. If you are u… 136 The simplest case is when the contribution is solely your own work. 141 If the code you would like to add is based on an article, post or comment on a website (e.g. StackO… [all …]
|
D | CHANGELOG.md | 18 - fix(ime_pinyin): keep cursor in the textarea when a candidate is pressed [`4731`](https://github.… 81 - demo(sress): fix issues when the stress test is opened/clsoed multiple times [`1c5df6c`](https://… 98 - fix(indev): fix warnings when loggin coordinates is enabled [`645006e`](https://github.com/lvgl/l… 137 - fix(tabview): remove the animation if the tab is selected by clicking the button on the header [`… 153 - docs(faq): don't say 24 bit is support as LVGL can't render in RGB888 directly [`227ac02`](https:… 204 - fix(bar): delete running animations when a new value is set without animation [`aa31380`](https:/… 287 v8.3.3 is the same as v8.3.2. It was released only because the version number was set incorrectly i… 306 - fix(group): be sure obj is removed from its current group in lv_group_add_obj [`5156ee0`](https:/… 312 - docs(disp): LV_COLOR_SCREEN_TRANSP remove dependency on LV_COLOR_DEPTH_32 as transparency is supp… 357 - **PubSub messaging** A publisher-subscriber based messaging system is added to make communication… [all …]
|
/lvgl-3.6.0/docs/intro/ |
D | index.md | 4 LVGL (Light and Versatile Graphics Library) is a free and open-source graphics library providing ev… 22 - Documentation is available online and as PDF 26 Basically, every modern controller which is able to drive a display is suitable to run LVGL. The mi… 29 <li>> 16 MHz clock speed is recommended</li> 30 <li> Flash/ROM: > 64 kB for the very essential components (> 180 kB is recommended)</li> 34 <li> Stack: > 2kB (> 8 kB is recommended)</li> 35 <li> Dynamic data (heap): > 4 KB (> 48 kB is recommended if using several objects). 37 …tal resolution"</em> pixels (> 10 × <em>"Horizontal resolution"</em> is recommended) </li> 50 The LVGL project (including all repositories) is licensed under [MIT license](https://github.com/lv… 55 Although you can get LVGL for free there is a massive amount of work behind it. It's created by a g… [all …]
|
/lvgl-3.6.0/docs/get-started/ |
D | quick-overview.md | 11 LVGL is ported to many IDEs to be sure you will find your favorite one. 22 …y `x` milliseconds in a Timer or Task (`x` should be between 1 and 10). It is required for the int… 26 The buffer size can be set freely but 1/10 screen size is a good starting point. 62 indev_drv.type = LV_INDEV_TYPE_POINTER; /*Touch pad is a pointer-like device*/ 89 …ery object has a parent object where it is created. For example, if a label is created on a button… 91 The child object moves with the parent and if the parent is deleted the children will be deleted to… 95 A Screen is the "root" parent. You can have any number of screens. 124 You can assign one or more callbacks to an object which will be called if the object is clicked, re… 126 A callback is assigned like this: 175 To check if an object is in a given state use `lv_obj_has_state(obj, LV_STATE_...)`. It will return… [all …]
|
/lvgl-3.6.0/docs/widgets/extra/ |
D | chart.md | 16 - `LV_PART_SCROLLBAR` The scrollbar used if the chart is zoomed. See the [Base object](/widgets/obj… 18 …operties are used by the lines. `width`, `height`, `bg_color` and `radius` is used to set the appe… 60 2. Use `lv_chart_set_value_by_id(chart, ser, id, value)` where `id` is the index of the point you w… 77 …he series can be modified by `lv_chart_set_point_count(chart, point_num)`. The default value is 10. 78 … points processed when an external buffer is assigned to a series, so you need to be sure the exte… 81 On line charts, if the number of points is greater than the pixels horizontally, the Chart will dra… 88 The value of the points will be scaled proportionally. The default range is: 0..100. 93 If there is a visible border on a side and no padding on that side, the division line would be draw… 96 If you want a plot to start from a point other than the default which is `point[0]` of the series, … 97 index with the function `lv_chart_set_x_start_point(chart, ser, id)` where `id` is the new index po… [all …]
|