xref: /aosp_15_r20/external/pigweed/pw_display/docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1.. _module-pw_display:
2
3==========
4pw_display
5==========
6.. pigweed-module::
7   :name: pw_display
8
9.. attention::
10   This module's initial implementation is informed by SEED :ref:`seed-0104`,
11   but is being reevaluated as it is migrated from `Pigweed's experimental
12   repsitory <https://pigweed.googlesource.com/pigweed/experimental/>`_.
13
14---------
15Libraries
16---------
17
18Color
19-----
20.. seealso::
21   Color API: :ref:`module-pw_display-api-color`
22
23The color library defines base pixel format types and the `ColorRgba` class for
24converting between various types.
25
26Display controllers often support a variety of data formats for representing a
27single pixel. For example:
28
29256 color grayscale:
30    8 bits per pixel for a total of 256 shades of gray
314k color: RGB444
32    12 bits total; 4 bits for each color: red, green, blue
3365k color: RGB565
34    16 bits total; 5 bits for red, 6 bits for green and 5 bits for blue
35262k color: RGB666
36    18 bits total; 6 bits for each color: red, green, blue
3716.7M color: RGB888
38    24 bits total; 8 bits for each color: red, green, blue
39
40.. note::
41   ``pw_display`` drawing libraries will initially only operate on RGB565 pixels
42   for a few reasons:
43
44   - 16 bits per color is easily represented as a single 16 bit unsigned
45     integer. No special framebuffer data packing logic is needed for 100%
46     memory utilization.
47   - RGB565 is 65k color which is a good compromise on color fidelity and memory
48     footprint.
49   - RGB565 has wide support by common display controllers used in the embedded
50     space.
51
52.. toctree::
53   :hidden:
54   :maxdepth: 1
55
56   api
57