Lines Matching refs:display
11 data type that represents a single display panel --- the hardware that displays
13 following for each display panel you want LVGL to use:
26 Why would you want multi-display support? Here are some examples:
28 - Have a "normal" TFT display with local UI and create "virtual" screens on VNC
30 - Have a large TFT display and a small monochrome display.
34 If you set up LVGL to use more than one display, be aware that some functions use the
49 Once created, a Display object remembers the characteristics of the display hardware
57 - 4 :ref:`screen_layers` automatically created with each display
58 - All :ref:`screens` created in association with this display (and not yet deleted---only
62 - What areas of the display have been updated (made "dirty") so rendering logic can
63 compute what to render during a :ref:`display refresh <basic_data_flow>`
97 You can get pointers to each of these screens on a specified display by using
125 While the Top Layer and System Layer are created by their owning :ref:`display`
154 an event handler to a display.
171 display. Usually needed with monochrome displays to invalidate ``N x 8``
196 To create a display for LVGL:
214 When the first :ref:`display` object is created, it becomes the Default Display. If
218 To set another :ref:`display` as the Default Display, call :cpp:func:`lv_display_set_default`.
233 display. Do so by calling:
245 to the display using buffers smaller than the size of the display. Use of
246 buffers at least 1/10 display size is recommended. In :ref:`flush_callback` the rendered
247 images needs to be copied to the given area of the display. In this mode if a
250 the size of the display. LVGL will render into the correct location of the
251 buffer. Using this method the buffer(s) always contain the whole display image.
257 the size of the display. LVGL will always redraw the whole screen even if only
258 1 pixel has been changed. If two display-sized draw buffers are provided,
259 LVGL's display handling works like "traditional" double buffering. This means
272 /* Set display buffer for display `display1`. */
279 that draw buffer and sends it to the display via the :ref:`flush_callback`. LVGL
282 display) before drawing something new into it.
288 of the other buffer is sent to the display in the background. DMA or
289 other hardware should be used to transfer data to the display so the MCU
291 display to become parallel operations.
299 Draw buffer(s) are simple array(s) that LVGL uses to render the display's
301 sent to the display using a Flush Callback function.
307 void my_flush_cb(lv_display_t * display, const lv_area_t * area, uint8_t * px_map)
311 uint16_t * buf16 = (uint16_t *)px_map; /* Let's say it's a 16 bit (RGB565) display */
322 lv_display_flush_ready(display);
326 rendered pixel-buffers to a particular display by doing the following:
332 Note that which display is targeted is passed to the function, so you can use the
355 To set the resolution of the display after creation use
356 :cpp:expr:`lv_display_set_resolution(display, hor_res, ver_res)`
358 It's not mandatory to use the whole display for LVGL, however in some
361 the active LVGL display area. So the physical resolution and the offset
384 LVGL supports rotation of the display in 90 degree increments.
386 The orientation of the display can be changed with
391 emitted to allow for hardware reconfiguration. If your display panel and/or its
395 :cpp:expr:`lv_display_rotate_area(display, &area)` rotates the rendered area
396 according to the current rotation settings of the display.
408 **display controller**.
478 The default color format of the display is set according to :c:macro:`LV_COLOR_DEPTH`
488 :cpp:expr:`lv_display_set_color_depth(display, LV_COLOR_FORMAT_...)`.
524 To enable it, set ``LV_COLOR_DEPTH 1`` or use :cpp:expr:`lv_display_set_color_format(display, LV_CO…
534 are represented on the display as:
561 layout. This conversion is necessary for certain display controllers that require a
570 rounder callback to your display driver. This callback will round the width and
586 lv_display_add_event_cb(display, my_rounder_cb, LV_EVENT_INVALIDATE_AREA, display);
596 Some display controllers have specific requirements for the window area where the rendered image ca…
600 (If the display uses `LV_COLOR_FORMAT_I1`, LVGL automatically applies this rounding. See :ref:`mono…
636 …numerator:`LV_DISPLAY_RENDER_MODE_DIRECT` mode on an 800x480 screen, the display buffer is 800x480…
660 However, in some cases you might need more control on when the display
668 /* Delete original display refresh timer */
671 /* Call this to refresh dirty (changed) areas of the display. */
675 select the display to refresh before :cpp:expr:`_lv_display_refr_timer(NULL)`.
682 consistent with the refresh period of the display to ensure that the statistical results are correc…
690 However, by using :cpp:expr:`lv_refr_now(display)` you can ask LVGL to redraw the
694 The parameter of :cpp:func:`lv_refr_now` is a display to refresh. If ``NULL`` is set
701 To mirror the image of a display to another display, you don't need to use
702 multi-display support. Just transfer the buffer received in the first display's
703 :ref:`flush_callback` to the other display as well.
709 You can create a larger virtual display from an array of smaller ones.
712 1. setting the resolution of the displays to the large display's resolution;
713 2. in :ref:`flush_callback`, truncate and modify the ``area`` parameter for each display; and
714 3. send the buffer's content to each real display with the truncated area.
733 Every use of an :ref:`Input Device <indev>` (if :ref:`associated with the display