/lvgl-latest/src/libs/thorvg/rapidjson/ |
D | reader.h | 266 void SkipWhitespace(InputStream& is) { in SkipWhitespace() argument 267 internal::StreamLocalCopy<InputStream> copy(is); in SkipWhitespace() 505 template<> inline void SkipWhitespace(InsituStringStream& is) { in SkipWhitespace() argument 506 is.src_ = const_cast<char*>(SkipWhitespace_SIMD(is.src_)); in SkipWhitespace() 510 template<> inline void SkipWhitespace(StringStream& is) { in SkipWhitespace() argument 511 is.src_ = SkipWhitespace_SIMD(is.src_); in SkipWhitespace() 514 template<> inline void SkipWhitespace(EncodedInputStream<UTF8<>, MemoryStream>& is) { in SkipWhitespace() argument 515 is.is_.src_ = SkipWhitespace_SIMD(is.is_.src_, is.is_.end_); in SkipWhitespace() 559 ParseResult Parse(InputStream& is, Handler& handler) { in Parse() argument 561 return IterativeParse<parseFlags>(is, handler); in Parse() [all …]
|
D | encodings.h | 146 static bool Decode(InputStream& is, unsigned* codepoint) { in Decode() 147 #define RAPIDJSON_COPY() c = is.Take(); *codepoint = (*codepoint << 6) | (static_cast<unsigned char… in Decode() 150 typename InputStream::Ch c = is.Take(); in Decode() 179 static bool Validate(InputStream& is, OutputStream& os) { in Validate() 180 #define RAPIDJSON_COPY() os.Put(c = is.Take()) in Validate() 223 static CharType TakeBOM(InputByteStream& is) { in TakeBOM() 225 typename InputByteStream::Ch c = Take(is); in TakeBOM() 227 c = is.Take(); in TakeBOM() 229 c = is.Take(); in TakeBOM() 231 c = is.Take(); in TakeBOM() [all …]
|
D | writer.h | 397 GenericStringStream<SourceEncoding> is(str); in WriteString() 398 while (ScanWriteUnescapedString(is, length)) { in WriteString() 399 const Ch c = is.Peek(); in WriteString() 403 if (RAPIDJSON_UNLIKELY(!SourceEncoding::Decode(is, &codepoint))) in WriteString() 432 is.Take(); in WriteString() 443 Transcoder<SourceEncoding, TargetEncoding>::Validate(is, *os_) : in WriteString() 444 Transcoder<SourceEncoding, TargetEncoding>::TranscodeUnsafe(is, *os_)))) in WriteString() 451 bool ScanWriteUnescapedString(GenericStringStream<SourceEncoding>& is, size_t length) { in ScanWriteUnescapedString() argument 452 return RAPIDJSON_LIKELY(is.Tell() < length); in ScanWriteUnescapedString() 462 GenericStringStream<SourceEncoding> is(json); in WriteRawValue() [all …]
|
/lvgl-latest/docs/ |
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-latest/docs/details/integration/driver/display/ |
D | st_ltdc.rst | 13 The driver within LVGL is designed to work with an 28 If OS is enabled, a synchronization primitive will be used to 36 which is only concerned with a specific layer of the LTDC peripheral, meaning 53 ``my_ltdc_framebuffer_address`` is the framebuffer configured for use by 54 LTDC. ``optional_other_full_size_buffer`` can be another buffer which is the same 56 mode, or ``NULL`` otherwise. ``my_ltdc_layer_index`` is the layer index of the 60 if enough memory is available. Single-buffered mode is what you should use 61 if memory is very scarce. If there is almost enough memory for double-buffered 84 a single buffer if :c:macro:`LV_ST_LTDC_USE_DMA2D_FLUSH` is enabled. 90 :cpp:expr:`lv_display_set_rotation(disp, rotation)` where rotation is one of [all …]
|
/lvgl-latest/docs/intro/add-lvgl-to-your-project/ |
D | threading.rst | 15 In the context of this document, a thread is any sequence of CPU instructions. 30 If operation X is atomic, that means that any thread observing the operation will 31 see it either as not yet started, or as completed, and not in any state that is 35 interfere with it, then operation X is not atomic. 46 A datum (i.e. contents of a variable or data structure) is atomic if any thread 49 state that is partially changed or otherwise inconsistent. 51 When reading or writing a value is started and completed with 1 CPU instruction, 52 it is automatically atomic, since it can never been seen in an inconsistent 54 values, no special protection is required by programmers to ensure all threads 64 LVGL is **not thread-safe**. [all …]
|
/lvgl-latest/docs/details/widgets/ |
D | checkbox.rst | 10 The Checkbox Widget is created from a "tick box" and a label. When the 11 Checkbox is clicked the tick box is toggled. 22 - :cpp:enumerator:`LV_PART_INDICATOR` The "tick box" is a square that uses the 24 size is equal to the height of the main part's font. Padding properties make the 27 The Checkbox is added to the default group (if one is set). 58 To find out whether the Checkbox is checked use 68 - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent when Checkbox is toggled. 85 - ``LV_KEY_RIGHT/UP`` Go to CHECKED state if Checkbox is enabled 86 - ``LV_KEY_LEFT/DOWN`` Go to non-CHECKED state if Checkbox is enabled 89 Note that, as usual, the state of :cpp:enumerator:`LV_KEY_ENTER` is translated to
|
D | arc.rst | 27 size is the same as the indicator's width. Larger padding makes it 40 value is interpreted in a range (minimum and maximum values) which can 42 is 0..100. 44 The indicator Arc is drawn on the main part's Arc. This if the value is 52 Zero degrees is at the middle right (3 o'clock) of the Widget and the 67 - :cpp:enumerator:`LV_ARC_MODE_NORMAL` Indicator Arc is drawn clockwise from minimum to current val… 68 - :cpp:enumerator:`LV_ARC_MODE_REVERSE` Indicator Arc is drawn counter-clockwise 70 - :cpp:enumerator:`LV_ARC_MODE_SYMMETRICAL` Indicator Arc is drawn from middle point to current val… 73 has no effect until angle is set by :cpp:func:`lv_arc_set_value` or value of the Arc 74 is changed by pointer input (finger, mouse, etc.). [all …]
|
D | textarea.rst | 11 The Text Area is a :ref:`base_widget_overview` with a :ref:`lv_label` and a cursor on 28 - :cpp:enumerator:`LV_PART_SCROLLBAR` The scrollbar that is shown when the text is 35 inserted. The cursor's area is always the bounding box of the current 69 Placeholder text is text that is displayed when the Text Area is empty. This can be 87 :cpp:expr:`lv_textarea_set_cursor_pos(textarea, corsor_pos)` where ``cursor_pos`` is 99 If :cpp:expr:`lv_textarea_set_cursor_click_pos(textarea, true)` is applied, the 105 The cursor is normally always visible. It it can be a good idea to style it 115 - the height is set automatically to show only one line, 117 - word wrap is disabled. 128 a configurable delay after each new character is entered. If ``•`` does not [all …]
|
D | win.rst | 11 The Window Widget is built from a header (like a title bar) with title and 21 The Window is built from other Widgets so you can check their 41 :cpp:expr:`lv_win_create(parent)` creates a Window that is initially 44 - Background (a :ref:`base_widget`, the main window container), is set up to be a 48 - Header (like a title bar) is initially empty, and is a Flex-Flow container set up 54 parent) the remainder of the available Background area below the Header. It is 69 at the end of the text. It is set to be FLEX GROW 1, so if it is the only Label 71 If more than one label is added, each label will share that space equally unless 72 its FLEX GROW value is altered. See :ref:`flex` for details about how this works. 78 ``icon`` is not NULL, an image is created, centered on the button, using ``icon`` [all …]
|
D | dropdown.rst | 12 The Drop-Down List is closed by default and displays a single value or 14 is created from which the user may select one item. When the user 15 selects a new value, the list is deleted again. 17 The Drop-down list is added to the default group (if one is set). 18 The Drop-down list is an editable Widget allowing list-item selection via 27 The Drop-Down List Widget is built from the elements: "button" and "list" 53 The list is shown/hidden on open/close. To add styles to it use 78 This string is copied by the Drop-Down List, so its contents do not need to remain 90 :cpp:expr:`lv_dropdown_set_selected(dropdown, id, LV_ANIM_ON/LV_ANIM_OFF)`, where ``id`` is the ind… 117 If the direction of the Drop-Down List is :cpp:enumerator:`LV_DIR_LEFT` the symbol [all …]
|
D | label.rst | 11 A Label is the Widget used to display text. 22 - :cpp:enumerator:`LV_PART_SCROLLBAR` The scrollbar that is shown when the text is 47 :cpp:expr:`lv_label_set_text_static(label, "Text")`. In this case, the text is not 48 stored in dynamic memory and the given buffer is used directly instead. This means 50 label or until another buffer is set via one of the above functions. 53 they are stored in ROM memory, which is always accessible. 58 Label is being used in :cpp:enumerator:`LV_LABEL_LONG_DOT` mode since the Label 66 If your Label is updated with new strings rapidly (e.g. > 30X / second, such as 68 frequently, it is advisable to: 94 :c:macro:`LV_SIZE_CONTENT`. Thus, the size of the Label is automatically expanded [all …]
|
D | table.rst | 13 The Table Widget is very lightweight because only the text strings are stored. 16 The Table is added to the default group (if one is set). 17 Table is an editable Widget, allow selecting a cell with encoder and keyboard 46 :cpp:expr:`lv_table_set_cell_value(table, row, col, "Content")`. The text is 67 Height is calculated automatically from the cell styles (font, 80 If a Table's width or height is set to :c:macro:`LV_SIZE_CONTENT` that size 85 If the width or height is set to a smaller number than its "intrinsic" 95 - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent when a new cell is selected with 115 Note that, as usual, the state of :cpp:enumerator:`LV_KEY_ENTER` is translated to 120 :c:macro:`LV_TABLE_CELL_NONE` if no cell is selected.
|
/lvgl-latest/docs/details/main-components/ |
D | draw.rst | 11 Drawing is writing pixel colors into a buffer where they will be delivered to a 17 MCUs come with hardware that is very good (and fast) at certain types of drawing 25 This Pipeline is designed so that it is both flexible and extendable. As a 36 A "Draw Task" (:cpp:type:`lv_draw_task_t`) is a package of information that is 37 created at the beginning of the Drawing Pipeline when a request to draw is made. 50 :transformation matrix: if :c:macro:`LV_DRAW_TRANSFORM_USE_MATRIX` is configured to '1' 66 A "Draw Unit" (based on :cpp:type:`lv_draw_unit_t`) is any "logic entity" that can 71 During LVGL's initialization (:cpp:func:`lv_init`), a list of Draw Units is created. 72 If :c:macro:`LV_USE_DRAW_SW` is set to ``1`` in ``lv_conf.h`` (it is by default), the 78 function, the newly-created draw unit is added to the head of that list, pushing [all …]
|
D | animation.rst | 8 let LVGL do the heavy lifting of making it happen. What makes it so powerful is that 9 the thing being changed can be virtually anything in your system. It is very 11 appearance, size or location over time. But because it is --- at its core --- a 18 "variable"), which is available in the callback functions that are called as the 19 Animation is playing through. 22 you specify, and there is even a variety of commonly-used non-linear effects that can 25 The main callback called during an Animation (when it is playing) is called an 50 Animations is really limited only by your imagination. 53 a given *animator* callback is one (1). However, the number of Animations that can 54 be playing at the same time is limited only by available RAM and CPU time for: [all …]
|
D | display.rst | 8 What is a Display? 10 In LVGL, an *lv_display_t* (not to be confused with a :ref:`Screen <screens>`) is a 24 LVGL can use any number of displays. It is only limited by available RAM and MCU time. 50 it is representing, as well as other things relevant to its lifetime: 55 - DPI (default is configured :c:macro:`LV_DPI_DEF` in ``lv_conf.h``, but can be 59 one is displayed at any given time) 72 When an ``lv_display_t`` object is created, 4 permanent :ref:`screens` that 81 they contain anything that is visible) regardless of which screen is the 118 the *System Layer* is intended for system-level things (e.g. mouse cursor will be 130 If the :cpp:enumerator:`LV_OBJ_FLAG_CLICKABLE` flag is set on the Top Layer, then it will [all …]
|
D | fs.rst | 8 any type of file system. A file system is identified by an assigned 9 identifier letter. For example, if an SD card is associated with the letter 34 As mentioned above, a file system is identified by an assigned identifier letter. 35 This identifier is merely a way for the LVGL File System abtraction logic to look up 42 or the character '/'. See :ref:`lv_fs_adding_a_driver` for how this is done. 78 - "Z:/Users/me/wip/proposal.txt" (if the default drive is known to be C:) 84 "Z:" is used to look up the driver for that file system in the list of all file-system 100 its contents need to remain valid as long as the driver is in use. 110 drv.ready_cb = my_ready_cb; /* Callback to tell if the drive is ready to use */ 126 Any of the callbacks can be ``NULL`` to indicate that operation is not [all …]
|
/lvgl-latest/docs/details/integration/os/yocto/ |
D | terms_and_variables.rst | 31 By default, this directory is ${WORKDIR}/${BPN}-${PV}, where ${BPN} is the 32 base recipe name and ${PV} is the recipe version. If the source tarball 34 the source code is fetched from an SCM such as Git or Subversion, then you 40 build system uses to keep the unpacked recipe for db is the following: 49 cloned to ${WORKDIR}/git during do_fetch. Since this path is different from the 81 directory is the same as the S directory, which is defined as: 98 builds a recipe. This directory is located within the TMPDIR directory 99 structure and is specific to the recipe being built and the system for which it 100 is being built. 102 The WORKDIR directory is defined as follows: [all …]
|
/lvgl-latest/docs/details/integration/bindings/ |
D | api_json.rst | 5 This is done so that bindings that generate code automatically will have an easy way to collect the… 13 - PyMSVC >= 0.4.0: Python library is using MSVC Compiler 20 - `--output-path`: output directory for JSON file. If one is not supplied then it will be output st… 21 - `--lvgl-config`: path to lv_conf.h (including file name), if this is not set then a config file w… 40 The JSON data is broken apart into a couple of main categories. 53 The value for each categry is an array of JSON elements. There is a bit of 59 - ``"array"``: The array type is used to identify arrays. 68 - ``"field"``: This type is used to describe fields in structures and unions. 69 It is used in the ``"fields"`` array of the ``"struct"`` and ``"union"`` JSON types. 76 if there is no bit size defined [all …]
|
/lvgl-latest/docs/details/integration/chip/ |
D | nxp.rst | 7 migration into your product design. LVGL is a free and open-source embedded 24 additional integration work is required. 44 c:macro:`LV_ASSERT_HANDLER` is set to `while(1);` (Halt by default). Else, 46 - If :c:macro:`SDK_OS_FREE_RTOS` symbol is defined, FreeRTOS implementation 52 PXP draw initialization is done automatically in :cpp:func:`lv_init()` once the 53 PXP is enabled as a draw unit or to rotate the screen, no user code is required: 62 with the additional callbacks, if :c:macro:`LV_USE_DRAW_PXP` is set to `1`: 81 If `LV_USE_PXP_DRAW_THREAD` is not defined, then no additional draw thread will be created 84 `_pxp_evaluate()` will get called after each task is being created and will 85 analyze if the task is supported by PXP or not. If it is supported, then an [all …]
|
/lvgl-latest/docs/details/base-widget/ |
D | scroll.rst | 11 In LVGL scrolling works very intuitively: if a Widget is outside its 19 stroke; diagonal scrolling is not possible. 33 - :cpp:enumerator:`LV_SCROLLBAR_MODE_ACTIVE`: Show scroll bars while a Widget is being scrolled 34 - :cpp:enumerator:`LV_SCROLLBAR_MODE_AUTO`: Show scroll bars when the content is large enough to be… 41 A Scrollbar is a dedicated part of a Widget, called 57 while it is being scrolled. For example, this code makes the scrollbar blue while 58 the Widget is being scrolled: 70 If the base direction of the :cpp:enumerator:`LV_PART_SCROLLBAR` is RTL 72 Note that, the ``base_dir`` style property is inherited. Therefore, it 79 If `length` is not set or left at `0` the scrollbar's length will be set automatically according to… [all …]
|
D | event.rst | 10 - is clicked 11 - is scrolled 13 - is redrawn, etc. 16 It is not detailed below, but you can do this by changing the prefix of the functions 44 The last parameter of :cpp:func:`lv_obj_add_event` is a pointer to any custom 46 there is no need to use that data when the event is processed. You can retrieve the 122 - :cpp:enumerator:`LV_EVENT_PRESSING`: Widget is being pressed (called continuously while pressing) 123 - :cpp:enumerator:`LV_EVENT_PRESS_LOST`: Widget is still being pressed but slid cursor/finger off … 132 - :cpp:enumerator:`LV_EVENT_SCROLL_BEGIN`: Scrolling begins. The event parameter is a pointer to t… 136 - :cpp:enumerator:`LV_EVENT_GESTURE`: A gesture is detected. Get the gesture with :cpp:expr:`lv_in… [all …]
|
/lvgl-latest/docs/details/integration/driver/ |
D | wayland.rst | 11 | It is an alternative to **X11** or **SDL2** 13 The main purpose for this driver is for testing/debugging the LVGL application, it can also be used… 60 An example simulator is available in this `repo <https://github.com/lvgl/lv_port_linux/>`__ 119 Wrapping the call to ``lv_timer_hander()`` is a necessity to have more control over 120 when the LVGL flush callback is called. 122 The custom timer handler returns ``false`` if the frame from previous cycle is not rendered. 123 When this happens, it usually means that the application is minimized or hidden behind another wind… 124 Causing the driver to wait until the arrival of any message on the wayland socket, the process is i… 129 An example simulator is available in this `repo <https://github.com/lvgl/lv_port_linux/>`__ 131 If there is a need to use driver with another build system. The source and header files for the XDG… [all …]
|
/lvgl-latest/docs/details/integration/framework/ |
D | tasmota-berry.rst | 5 What is Tasmota? 8 `Tasmota <https://github.com/arendst/Tasmota>`__ is a widely used 11 Cloud services. Tasmota firmware is downloaded more than 200,000 times 19 What is Berry? 22 `Berry <https://github.com/berry-lang/berry>`__ is a ultra-lightweight 23 dynamically typed embedded scripting language. It is designed for 25 one-pass compiler and register-based VM, all the code is written in ANSI 26 C99. Berry offers a syntax very similar to Python, and is inspired from 27 LUA VM. It is fully integrated in Tasmota 37 - Flexible: Berry is a dynamic type script, and it's intended for embedding in applications. [all …]
|
/lvgl-latest/docs/details/other-components/ |
D | obj_property.rst | 8 LVGL and whatever logic layer is just above it, to get and set the most important 9 properties of Widgets. It's intended use is to: 27 getting Widget properties, it is designed so minimize that additional CPU overhead. 31 What is a Widget Property? 72 This array is attached to the ``properties`` field of the Widget's class, so all 75 Some properties are read-only. When this is the case, only the ``getter`` field in 87 By default, this feature of LVGL is turned off. It can be turned on by configuring 99 An ``lv_prop_id_t`` is a :ref:`widget_property_id`, whereas an ``lv_property_t`` is a 102 The following is an example of an array that could be used as the ``values`` argument 125 :cpp:type:`lv_prop_id_t` identifies which property to get/set. It is an enum value [all …]
|