roo_display
API Documentation for roo_display
Loading...
Searching...
No Matches
traits.h
Go to the documentation of this file.
1#pragma once
2
3#include <inttypes.h>
4
5namespace roo_display {
6
7/// Traits for a color mode's storage characteristics.
8template <typename ColorMode, int8_t bits_per_pixel = ColorMode::bits_per_pixel>
10
11/// Storage traits for 1-bit modes.
12template <typename ColorMode>
13struct ColorTraits<ColorMode, 1> {
15 static const int8_t bytes_per_pixel = 1;
16 static const int8_t pixels_per_byte = 8;
17};
18
19/// Storage traits for 2-bit modes.
20template <typename ColorMode>
21struct ColorTraits<ColorMode, 2> {
23 static const int8_t bytes_per_pixel = 1;
24 static const int8_t pixels_per_byte = 4;
25};
26
27/// Storage traits for 4-bit modes.
28template <typename ColorMode>
29struct ColorTraits<ColorMode, 4> {
31 static const int8_t bytes_per_pixel = 1;
32 static const int8_t pixels_per_byte = 2;
33};
34
35/// Storage traits for 8-bit modes.
36template <typename ColorMode>
37struct ColorTraits<ColorMode, 8> {
39 static const int8_t bytes_per_pixel = 1;
40 static const int8_t pixels_per_byte = 1;
41};
42
43/// Storage traits for 16-bit modes.
44template <typename ColorMode>
45struct ColorTraits<ColorMode, 16> {
47 static const int8_t bytes_per_pixel = 2;
48 static const int8_t pixels_per_byte = 1;
49};
50
51/// Storage traits for 24-bit modes.
52template <typename ColorMode>
53struct ColorTraits<ColorMode, 24> {
55 static const int8_t bytes_per_pixel = 3;
56 static const int8_t pixels_per_byte = 1;
57};
58
59/// Storage traits for 32-bit modes.
60template <typename ColorMode>
61struct ColorTraits<ColorMode, 32> {
63 static const int8_t bytes_per_pixel = 4;
64 static const int8_t pixels_per_byte = 1;
65};
66
67/// Convenience alias for the raw storage type of a color mode.
68template <typename ColorMode>
70
71} // namespace roo_display
Defines 140 opaque HTML named colors.
typename ColorTraits< ColorMode >::storage_type ColorStorageType
Convenience alias for the raw storage type of a color mode.
Definition traits.h:69
Traits for a color mode's storage characteristics.
Definition traits.h:9