Home
last modified time | relevance | path

Searched full:it (Results 1 – 25 of 336) sorted by relevance

12345678910>>...14

/lvgl-3.6.0/src/extra/libs/png/
Dlodepng.h11 including commercial applications, and to alter it and redistribute it
111 particular disallowed color type byte values, or cast to integer to print it.*/
350 then lodepng_palette_add per color to correctly initialize it (to ensure size
396 If a palette is used, it counts as 1 channel.*/
398 /*is it a grayscale type? (only colortype 0 or 4)*/
400 /*has it got an alpha channel? (only colortype 2 or 6)*/
402 /*has it got a palette? (only colortype 3)*/
409 Returns true if the image can have translucent or invisible pixels (it still be opaque if it doesn'…
411 In detail, it returns true only if it's a color type with alpha, or has a palette with non-opaque v…
453 use it to interpret these values (and convert copies of them to its chosen color model).
[all …]
Dlodepng.c11 including commercial applications, and to alter it and redistribute it
28 Rename this file to lodepng.cpp to use it for C++, or to lodepng.c to use it for C.
81 /* NOTE: when realloc returns NULL, it leaves the original memory untouched */
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 */
172 Often in case of an error a value is assigned to a variable and then it breaks
174 It makes the error handling code shorter and more readable.
186 /*Set error var to the error code, and return it.*/
192 /*Try the code, if it returns error, also return the error.*/
294 /*free string pointer and set it to NULL*/
[all …]
/lvgl-3.6.0/docs/overview/
Ddrawing.md5 However, it can be useful to have a basic understanding of how drawing happens in LVGL to add custo…
12 1. It avoids flickering while the layers of the UI are drawn. For example, if LVGL drew directly on…
13 2. It's faster to modify a buffer in internal RAM and finally write one pixel only once than readin…
34 …- Takes the first joined area, if it's smaller than the *draw buffer*, then simply renders the are…
41 …on's label has changed, the library will see that it's enough to draw the button under the text an…
50 To use LVGL it's not required to know about the mechanisms described here but you might find intere…
54 LVGL performs the following steps to render any shape, image or text. It can be considered as a dra…
57 …th the draw descriptor and some other parameters (e.g. `lv_draw_rect()`). It will render the prim…
59 4. **Calculate all the added mask** It composites opacity values into a *mask buffer* with the "sha…
60 …k" according to the parameters of the mask, keep one side of the buffer as it is (255 by default) …
[all …]
Dstyle.md4 …ariable which can hold properties like border width, text color and so on. It's similar to a `clas…
6 For example one can add `style_blue` to the knob of a slider when it's in pressed state.
9 … a style. LVGL will search for a property until a style defines it or use a default if it's not sp…
12 - Some properties (e.g. text color) can be inherited from a parent(s) if it's not specified in an o…
48 1. Initially the object is in the default state, so it's a simple case: the property is perfectly d…
53 5. It's possible to set e.g. rose color for `LV_STATE_PRESSED | LV_STATE_FOCUSED`.
58 …ite intuitive, and it's something the user would expect naturally. E.g. if an object is focused th…
59 If the focused state had a higher precedence it would overwrite the pressed color.
60 …. red background color) just set it for the default state. If the object can't find a property for…
62 - It might be a good idea to use different style elements for different states.
[all …]
Dimage.md34 - **LV_IMG_CF_TRUE_COLOR_ALPHA** Like `LV_IMG_CF_TRUE_COLOR` but it also adds an alpha (transparenc…
35 …_COLOR` but if a pixel has the `LV_COLOR_TRANSP` color (set in *lv_conf.h*) it will be transparent.
57 You can store images in a *Raw* format to indicate that it's not encoded with one of the built-in c…
89 If you are generating an image at run-time, you can craft an image variable to display it using LVG…
111 The simplest way to use an image in LVGL is to display it with an [lv_img](/widgets/core/img) objec…
123 …should use `LV_IMG_DECLARE(my_icon_dsc)` to declare the image in the file where you want to use it.
133 - **open** open an image: either store a decoded image or set it to `NULL` to indicate the image ca…
137 … to be drawn, the library will try all the registered image decoders until it finds one which can …
143 …pha` or `Raw with chroma-keyed` format. It will just take every byte of the binary file you upload…
149 …brary can draw images only in *True color* format (or *Raw* but ultimately it will be in *True col…
[all …]
Dscroll.md4 … (the size without padding), the parent becomes scrollable and scrollbar(s) will appear. That's it.
34 An object goes to the `LV_STATE_SCROLLED` state while it's being scrolled. This allows adding diffe…
47 Note that, the `base_dir` style property is inherited. Therefore, it can be set directly on the `LV…
69 It's possible to make an object non-scrollable with `lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE)…
87 …agated to its parent. If the parent can be scrolled in that direction than it will be scrolled ins…
88 It continues propagating to the grandparent and grand-grandparents as well.
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…
102 When the object is released the content scrolled in it will be animated back to the valid position.
128 …a scrollable object. Pressing the "Tab" button focuses the next object but it might be outside the…
[all …]
Dcoords.md17 …al value to set the width/height of an object to involve all the children. It's similar to `auto` …
38 …e redrawing the screen LVGL checks if there are any "dirty" objects. If so it refreshes their posi…
46 As it's described in the [Using styles](#using-styles) section, coordinates can also be set via sty…
64 lv_obj_remove_style_all(obj1); /*It removes the set sizes*/
91 In some cases it's convenient to change the origin of the positioning from the default top left. If…
113 It's quite common to align a child to the center of its parent, therefore a dedicated function exis…
123 The functions introduced above align the object to its parent. However, it's also possible to align…
165 The size settings support a special value: `LV_SIZE_CONTENT`. It means the object's size in the res…
189 - It makes it easy to set the width/height/etc. for several objects together. E.g. make all the sli…
190 - It also makes possible to modify the values in one place.
[all …]
Dfont.md9 Fonts have a **bpp (bits per pixel)** property. It shows how many bits are used to describe a pixel…
19 To test it try
96 However, in LVGL, the base direction is not only applied to labels. It's a general property which c…
97 If not set then it will be inherited from the parent.
98 This means it's enough to set the base direction of a screen and every object will inherit it.
119 A different form of the same letter needs to be used when it is isolated, at start, middle or end p…
144 Compression is more effective with larger fonts and higher bpp. However, it's about 30% slower to r…
145 Therefore, it's recommended to compress only the largest fonts of a user interface, because
153 …ameters, click the *Convert* button, copy the font to your project and use it. **Be sure to carefu…
177 … in `style.text.font` properties. To use the symbol you may need to change it. Eg ` style.text.fon…
[all …]
Dtimer.md3 LVGL has a built-in timer system. You can register a function to have it be called periodically. Th…
10 To create a new timer, use `lv_timer_create(timer_cb, period_ms, user_data)`. It will create an `lv…
41 `lv_timer_reset(timer)` resets the period of a timer. It will be called again after the defined per…
51 …repeat_count(timer, count)`. The timer will automatically be deleted after it's called the defined…
56 …rcentage time of `lv_timer_handler` with `lv_timer_get_idle()`. Note that, it doesn't measure the …
57 It can be misleading if you use an operating system and call `lv_timer_handler` in a timer, as it w…
61 … example, you can't delete an object because something else is still using it, or you don't want t…
62 …he next invocation of `lv_timer_handler`. `data_p` will be passed to the function when it's called.
63 … to ensure that the variable will be "alive" while the function is called. It can be *static*, glo…
83 /*The screen is still valid so you can do other things with it*/
/lvgl-3.6.0/docs/
DCONTRIBUTING.md10 It might be scary to make the first step but you have nothing to be afraid of.
19 …lates in the Forum or GitHub (or at least provide equivalent information). It makes understanding …
20 …inimal but buildable code example in order to reproduce the issue. Be sure it contains all the req…
21 …dam-p/markdown-here/wiki/Markdown-Cheatsheet) to format your posts. You can learn it in 10 minutes.
22 - Speak about one thing in one issue or topic. It makes your post easier to find later for someone …
24 - For non-trivial fixes and features, it's better to open an issue first to discuss the details ins…
32 You can see what it looks like on GitHub for LVGL here: [https://github.com/lvgl/lvgl/pulls](https:…
46 The instructions describe the main `lvgl` repository but it works the same way for the other reposi…
48 It will "copy" the `lvgl` repository to your GitHub account (`https://github.com/<YOUR_NAME>?tab=re…
53 7. Set the base branch. It means where you want to merge your update. In the `lvgl` repo both the f…
[all …]
/lvgl-3.6.0/scripts/
DDoxyfile7 # front of the TAG it is preceding.
58 # entered, it will be relative to the location where doxygen was started. If
213 # documentation from any documented member that it re-implements.
220 # of the file/class/namespace that contains it.
277 # Doxygen selects the parser to use depending on the extension of the files it
279 # extension. Doxygen has a built-in mapping, but you can override or extend it
374 # type (e.g. under the Public Functions section). Set it to NO to prevent
515 # will be excluded. Set it to YES to include the internal documentation.
613 # type resolution of all parameters of a function it will reject a match between
615 # only one candidate or it is obvious which candidate to choose by doing a
[all …]
/lvgl-3.6.0/src/font/
Dlv_font_loader.c70 static int read_bits_signed(bit_iterator_t * it, int n_bits, lv_fs_res_t * res);
71 static unsigned int read_bits(bit_iterator_t * it, int n_bits, lv_fs_res_t * res);
99 * When `lvgl_load_font` fails it can leak some pointers. in lv_font_load()
187 bit_iterator_t it; in init_bit_iterator() local
188 it.fp = fp; in init_bit_iterator()
189 it.bit_pos = -1; in init_bit_iterator()
190 it.byte_value = 0; in init_bit_iterator()
191 return it; in init_bit_iterator()
194 static unsigned int read_bits(bit_iterator_t * it, int n_bits, lv_fs_res_t * res) in read_bits() argument
198 it->byte_value = it->byte_value << 1; in read_bits()
[all …]
/lvgl-3.6.0/src/extra/libs/tiny_ttf/
Dstb_truetype_htcw.h10 // meaning an attacker can use it to read arbitrary memory.
95 // Include this file in whatever places need to refer to it. In ONE C/C++
104 // Simple 3D API (don't ship this, but it's fine for tools and quick start)
109 // #include "stb_rect_pack.h" -- optional, but you really want it
135 // where multiple shapes overlap, in which case it overestimates the AA pixel
219 // Compute the bounding box of the character. It will contain signed values
220 // relative to <current_point, baseline>. I.e. if it returns x0,y0,x1,y1,
246 // - There are a lot of memory allocations. We should modify it to take
252 // The system uses the raw data found in the .ttf file without changing it
257 // It appears to be very hard to programmatically determine what font a
[all …]
/lvgl-3.6.0/docs/porting/
Ddisplay.md25 Note that `lv_disp_draw_buf_t` must be a static, global or dynamically allocated variable. It canno…
31 Therefore it's recommended to choose the size of the draw buffer(s) to be at least 1/10 screen size…
40 If only one buffer is used LVGL draws the content of the screen into that draw buffer and sends it
41 … to wait until the content of the buffer is sent to the display before drawing something new in it.
56 It this case `flush_cb` will be called only once when all dirty areas are redrawn.
57 With `direct_mode` the frame buffer always contains the current frame as it should be displayed on …
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 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…
[all …]
Dgpu.md2 LVGL has a flexible and extendable draw pipeline. You can hook it to do some rendering with a GPU o…
6 It contains a pointer to a buffer where drawing should happen and a couple of callbacks to draw rec…
16 - `lv_res_t (*draw_img)()` Draw an image before decoding it (it bypasses LVGL's internal image deco…
27 e.g. for `draw_rect` it's called [lv_draw_rect_dsc_t](https://github.com/lvgl/lvgl/blob/master/src/…
28 for `lv_draw_line` it's called [lv_draw_line_dsc_t](https://github.com/lvgl/lvgl/blob/master/src/dr…
40 …v_register()` will allocate a `draw_ctx` based on `draw_ctx_size` and call `draw_ctx_init()` on it.
43 It makes it possible to use your own `draw_ctx` with your own callbacks.
47 …nderer extends the basic `lv_draw_ctx_t` structure and sets the draw callbacks. It looks like this:
66 As you saw above the software renderer adds the `blend` callback field. It's a special callback rel…
69 The `lv_draw_sw_blend_dsc_t` parameter describes what and how to blend. It has the following fields:
[all …]
/lvgl-3.6.0/src/core/
Dlv_event.h39 … /**< The object was pressed for a short period of time, then released it. Not called if scrol…
69 LV_EVENT_REFRESH, /**< Notify the object to refresh something on it (for the user)*/
90 LV_EVENT_PREPROCESS = 0x80, /** This is a flag that can be set with an event so it's processed
116 … that point non clickable. If you want to respect it leave it as `false` or set `true` to overwrit…
118 * - If already set to `true` you agree that `point` can click the object leave it as `true`
121 …const lv_point_t * point; /**< A point relative to screen to check if it can click the object or…
122 bool res; /**< true: `point` can click the object; false: it cannot*/
152 …* @return LV_RES_OK: the target object was not deleted in the event; LV_RES_INV: it was d…
157 * Get the object originally targeted by the event. It's the same even if the event is bubbled.
164 * Get the current target of the event. It's the object which event handler being called.
[all …]
Dlv_indev.c112 /*Handle reset query if it happened in during processing*/ in lv_indev_read_timer_cb()
317 /*If a child matches use it*/ in lv_indev_search_obj()
325 /*If not return earlier for a clicked child and this obj's hittest was ok use it in lv_indev_search_obj()
415 /*Save the last key to compare it with the current latter on RELEASE*/ in indev_keypad_proc()
419 *It must be done here else `lv_indev_get_key` will return the last key in events*/ 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()
500 … lv_group_set_editing(g, false); /*Editing is not used by KEYPAD is be sure it is disabled*/ in indev_keypad_proc()
506 … lv_group_set_editing(g, false); /*Editing is not used by KEYPAD is be sure it is disabled*/ in indev_keypad_proc()
520 /*The user might clear the key when it was released. Always release the pressed key*/ in indev_keypad_proc()
[all …]
/lvgl-3.6.0/docs/get-started/
Dquick-overview.md9 Instead of porting LVGL to embedded hardware straight away, it's highly recommended to get started …
22 …very `x` milliseconds in a Timer or Task (`x` should be between 1 and 10). It is required for the …
45 /*It's a very slow but simple implementation.
79 It will redraw the screen if required, handle input devices, animation etc.
89 Every object has a parent object where it is created. For example, if a label is created on a butto…
99 You can create a new object with `lv_<type>_create(parent)`. It will return an `lv_obj_t *` variabl…
173 … if you press an object it will automatically go to the `LV_STATE_FOCUSED` and `LV_STATE_PRESSED` …
175 To check if an object is in a given state use `lv_obj_has_state(obj, LV_STATE_...)`. It will return…
187 Before using a style it needs to be initialized with `lv_style_init(&style1)`. After that, properti…
202 If the *part* is `LV_PART_MAIN` it can be omitted:
[all …]
/lvgl-3.6.0/docs/widgets/
Dobj.md12 In object-oriented thinking, it is the base class from which all other objects in LVGL are inherite…
16 …ect can be directly used as a simple widget: it's nothing more than a rectangle. In HTML terms, th…
64 `lv_obj_get_index(obj)` returns the index of the object in its parent. It is equivalent to the numb…
66 You can bring an object to the foreground or send it to the background with `lv_obj_move_foreground…
74 …play or simulator). A display can have one or more screens associated with it. Each screen contain…
76 When you have created a screen like `lv_obj_t * screen = lv_obj_create(NULL)`, you can make it acti…
78 If you have multiple displays, it's important to know that the screen functions operate on the most…
103 - `LV_OBJ_FLAG_HIDDEN` Make the object hidden. (Like it wasn't there at all)
114 - `LV_OBJ_FLAG_SCROLL_ON_FOCUS` Automatically scroll object to make it visible when focused
116 - `LV_OBJ_FLAG_SNAPPABLE` If scroll snap is enabled on the parent it can snap to this object
[all …]
/lvgl-3.6.0/docs/get-started/platforms/
Dtasmota-berry.md5 …is a widely used open-source firmware for ESP8266 and EPS32 based devices. It supports a wide vari…
11It is designed for lower-performance embedded devices. The interpreter of Berry include a one-pass…
20 - Flexible: Berry is a dynamic type script, and it's intended for embedding in applications. It can…
22 …ed in read-only code data segments, so the RAM usage of the interpreter is very low when it starts.
30 In 2021, Tasmota added full support of LVGL for ESP32 based devices. It also introduced the Berry s…
32 …ow available, similar to the mapping of Micropython. It allows to use +98% of all LVGL features. I…
47 ## So what does it look like?
50 > Similar to MicroPython, it's very much like the C API, but Object-Oriented for LVGL components.
65 ## How can I use it?
/lvgl-3.6.0/env_support/cmsis-pack/
Dlv_conf_cmsis.h7 #if 1 /*Set it to "1" to enable content*/
26 *It's required if opa, and transform_* style properties are used.
47 …/*Set an address for the memory pool instead of allocating it as a normal array. Can be in externa…
81 *It removes the need to manually update the tick with `lv_tick_inc()`)*/
102 *(Not so important, you can adjust it to modify default sizes and spaces)*/
132 * and blend it as an image with the given opacity.
136 * - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it
158 …*When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them …
160 *If the cache is too small the map will be allocated only while it's required for the drawing.
391 *Compiler error will be triggered if a font needs it.*/
[all …]
/lvgl-3.6.0/src/misc/
Dlv_anim.h52 * The `x` in `_xcb_t` means it's not a fully generic prototype because
53 * it doesn't receive `lv_anim_t *` as its first argument*/
57 * It's more consistent but less convenient. Might be used by binding generator functions.*/
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*/
180 * it's more consistent to have `lv_anim_t *` as first parameter.
345 * or NULL to ignore it and delete all the animations of 'var
372 * This function exists because it's logical that all anim. functions receives an
373 * `lv_anim_t` as their first parameter. It's not practical in C but might make
[all …]
/lvgl-3.6.0/
Dlv_conf_template.h15 #if 0 /*Set it to "1" to enable content*/
33 *It's required if opa, and transform_* style properties are used.
54 …/*Set an address for the memory pool instead of allocating it as a normal array. Can be in externa…
87 *It removes the need to manually update the tick with `lv_tick_inc()`)*/
98 *(Not so important, you can adjust it to modify default sizes and spaces)*/
128 * and blend it as an image with the given opacity.
132 * - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it
154 …*When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them …
156 *If the cache is too small the map will be allocated only while it's required for the drawing.
406 *Compiler error will be triggered if a font needs it.*/
[all …]
/lvgl-3.6.0/docs/intro/
Dindex.md51 This means you can use it even in commercial projects.
53 It's not mandatory, but we highly appreciate it if you write a few words about your project in the …
55 …for free there is a massive amount of work behind it. It's created by a group of volunteers who ma…
132 If you can do this with your display then you can use it with LVGL.
147 - Be sure your display works without LVGL. E.g. paint it to red on start up.
192 It swaps the upper and lower bytes of the pixels.
195 - Turn on compiler optimization and enable cache if your MCU has it
199 - If your display has an SPI port consider changing to a model with a parallel interface because it
200 - Keep the display buffer in internal RAM (not in external SRAM) because LVGL uses it a lot and it
/lvgl-3.6.0/src/hal/
Dlv_hal_disp.h58 …/*1: flushing is in progress. (It can't be a bit field because when it's cleared from IRQ Read-Mod…
60 …/*1: It was the last chunk to flush. (It can't be a bit field because when it's cleared from IRQ R…
75 * Only its pointer will be saved in `lv_disp_t` so it should be declared as
101 * Use only if required because it's slower.*/
204 * It is used to have known values in the fields and not junk in memory.
205 * After it you can safely set only the fields you need.
221 * It lets LVGL to render next frame into the other buffer while previous is being
249 * Set a default display. The new screens will be created on it by default.
340 * Tell if it's the last area of the refreshing process.
343 …* @return true: it's the last area to flush; false: there are other areas too which will be refres…

12345678910>>...14