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
5
namespace
roo_display
{
6
7
/// Traits for a color mode's storage characteristics.
8
template
<
typename
ColorMode,
int
8_t bits_per_pixel = ColorMode::bits_per_pixel>
9
struct
ColorTraits
;
10
11
/// Storage traits for 1-bit modes.
12
template
<
typename
ColorMode>
13
struct
ColorTraits
<ColorMode, 1> {
14
typedef
uint8_t
storage_type
;
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.
20
template
<
typename
ColorMode>
21
struct
ColorTraits
<ColorMode, 2> {
22
typedef
uint8_t
storage_type
;
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.
28
template
<
typename
ColorMode>
29
struct
ColorTraits
<ColorMode, 4> {
30
typedef
uint8_t
storage_type
;
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.
36
template
<
typename
ColorMode>
37
struct
ColorTraits
<ColorMode, 8> {
38
typedef
uint8_t
storage_type
;
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.
44
template
<
typename
ColorMode>
45
struct
ColorTraits
<ColorMode, 16> {
46
typedef
uint16_t
storage_type
;
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.
52
template
<
typename
ColorMode>
53
struct
ColorTraits
<ColorMode, 24> {
54
typedef
uint32_t
storage_type
;
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.
60
template
<
typename
ColorMode>
61
struct
ColorTraits
<ColorMode, 32> {
62
typedef
uint32_t
storage_type
;
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.
68
template
<
typename
ColorMode>
69
using
ColorStorageType
=
typename
ColorTraits<ColorMode>::storage_type
;
70
71
}
// namespace roo_display
roo_display
Defines 140 opaque HTML named colors.
Definition
roo_display.cpp:7
roo_display::ColorStorageType
typename ColorTraits< ColorMode >::storage_type ColorStorageType
Convenience alias for the raw storage type of a color mode.
Definition
traits.h:69
roo_display::BlendOp
Definition
blending.h:200
roo_display::ColorTraits< ColorMode, 16 >::storage_type
uint16_t storage_type
Definition
traits.h:46
roo_display::ColorTraits< ColorMode, 1 >::storage_type
uint8_t storage_type
Definition
traits.h:14
roo_display::ColorTraits< ColorMode, 24 >::storage_type
uint32_t storage_type
Definition
traits.h:54
roo_display::ColorTraits< ColorMode, 2 >::storage_type
uint8_t storage_type
Definition
traits.h:22
roo_display::ColorTraits< ColorMode, 32 >::storage_type
uint32_t storage_type
Definition
traits.h:62
roo_display::ColorTraits< ColorMode, 4 >::storage_type
uint8_t storage_type
Definition
traits.h:30
roo_display::ColorTraits< ColorMode, 8 >::storage_type
uint8_t storage_type
Definition
traits.h:38
roo_display::ColorTraits
Traits for a color mode's storage characteristics.
Definition
traits.h:9
temp_repos
roo_display
src
roo_display
color
traits.h
Generated by
1.9.8