input: timers: Implement remove + docs.
[gfxprim/pasky.git] / gfxprim_config.py
blobae32019b8f0e7a856f7cfa3f4d2798e68c75fc93
2 # gfxprim_config.py - module configuring GfxPrim code generation and
3 # known PixelTypes
4 #
7 # 2011 Tomas Gavenciak <gavento@ucw.cz>
8 # 2011-2013 Cyril Hrubis <metan@ucw.cz>
10 # This file is sourced by all the generating scripts.
11 # Moreover, the generated files are sourced by almost all Gfxprim sources,
12 # so a complete recompilation is required after any change.
15 # Declared pixel sizes:
16 PS_1BPP_LE = PixelSize(1, bit_endian=LE)
17 PS_1BPP_BE = PixelSize(1, bit_endian=BE)
18 PS_2BPP_LE = PixelSize(2, bit_endian=LE)
19 PS_2BPP_BE = PixelSize(2, bit_endian=BE)
20 PS_4BPP_LE = PixelSize(4, bit_endian=LE)
21 PS_4BPP_BE = PixelSize(4, bit_endian=BE)
22 PS_8BPP = PixelSize(8)
23 PS_16BPP = PixelSize(16)
24 PS_24BPP = PixelSize(24)
25 PS_32BPP = PixelSize(32)
26 # Experimental:
27 PS_18BPP_LE = PixelSize(18, bit_endian=LE)
29 config = GfxPrimConfig(
31 # C name and bit-size of the GP_pixel type
32 pixel_type = "uint32_t",
33 pixel_size = 32,
35 # List of pixel sizes (bpp), explicit on purpose
36 pixelsizes = [PS_1BPP_LE, PS_1BPP_BE, PS_2BPP_LE, PS_2BPP_BE, PS_4BPP_LE, PS_4BPP_BE,
37 PS_8BPP, PS_16BPP, PS_24BPP, PS_32BPP,
38 PS_18BPP_LE,
41 # List of PixelTypes, order defines the numbering.
42 # The "Undefined" type is added automatically.
43 pixeltypes = [
46 # Standard RGB types
48 PixelType(name='xRGB8888', pixelsize=PS_32BPP, chanslist=[
49 ('R', 16, 8),
50 ('G', 8, 8),
51 ('B', 0, 8)]),
53 PixelType(name='RGBA8888', pixelsize=PS_32BPP, chanslist=[
54 ('R', 24, 8),
55 ('G', 16, 8),
56 ('B', 8, 8),
57 ('A', 0, 8)]),
59 PixelType(name='RGB888', pixelsize=PS_24BPP, chanslist=[
60 ('R', 16, 8),
61 ('G', 8, 8),
62 ('B', 0, 8)]),
64 PixelType(name='BGR888', pixelsize=PS_24BPP, chanslist=[
65 ('B', 16, 8),
66 ('G', 8, 8),
67 ('R', 0, 8)]),
69 PixelType(name='RGB555', pixelsize=PS_16BPP, chanslist=[
70 ('R', 10, 5),
71 ('G', 5, 5),
72 ('B', 0, 5)]),
74 PixelType(name='RGB565', pixelsize=PS_16BPP, chanslist=[
75 ('R', 11, 5),
76 ('G', 5, 6),
77 ('B', 0, 5)]),
79 PixelType(name='RGB666', pixelsize=PS_18BPP_LE, chanslist=[
80 ('R', 12, 6),
81 ('G', 6, 6),
82 ('B', 0, 6)]),
85 # CMYK
87 PixelType(name="CMYK8888", pixelsize=PS_32BPP, chanslist=[
88 ('K', 24, 8),
89 ('Y', 16, 8),
90 ('M', 8, 8),
91 ('C', 0, 8)]),
94 # Palette types
96 PixelType(name='P2', pixelsize=PS_2BPP_LE, chanslist=[
97 ('P', 0, 2)]),
99 PixelType(name='P4', pixelsize=PS_4BPP_LE, chanslist=[
100 ('P', 0, 4)]),
102 PixelType(name='P8', pixelsize=PS_8BPP, chanslist=[
103 ('P', 0, 8)]),
106 # Gray-only pixel types
108 PixelType(name='G1', pixelsize=PS_1BPP_LE, chanslist=[
109 ('V', 0, 1)]),
111 PixelType(name='G2', pixelsize=PS_2BPP_LE, chanslist=[
112 ('V', 0, 2)]),
114 PixelType(name='G4', pixelsize=PS_4BPP_LE, chanslist=[
115 ('V', 0, 4)]),
117 PixelType(name='G8', pixelsize=PS_8BPP, chanslist=[
118 ('V', 0, 8)]),
120 PixelType(name='G16', pixelsize=PS_16BPP, chanslist=[
121 ('V', 0, 16)]),