digraph {
rankdir=LR;
node [shape=plaintext];
subgraph cluster__pcx {
label="Pcx";
graph[style=dotted];
pcx__seq [label=<
pos | size | type | id |
0 | 128 | Header | hdr |
>];
pcx__inst__palette_256 [label=<
pos | size | type | id |
(_io.size - 769) | 769 | TPalette256 | palette_256 |
>];
subgraph cluster__header {
label="Pcx::Header";
graph[style=dotted];
header__seq [label=<
pos | size | type | id |
0 | 1 | | magic |
1 | 1 | u1→Versions | version |
2 | 1 | u1→Encodings | encoding |
3 | 1 | u1 | bits_per_pixel |
4 | 2 | u2le | img_x_min |
6 | 2 | u2le | img_y_min |
8 | 2 | u2le | img_x_max |
10 | 2 | u2le | img_y_max |
12 | 2 | u2le | hdpi |
14 | 2 | u2le | vdpi |
16 | 48 | | palette_16 |
64 | 1 | | reserved |
65 | 1 | u1 | num_planes |
66 | 2 | u2le | bytes_per_line |
68 | 2 | u2le | palette_info |
70 | 2 | u2le | h_screen_size |
72 | 2 | u2le | v_screen_size |
>];
}
subgraph cluster__t_palette_256 {
label="Pcx::TPalette256";
graph[style=dotted];
t_palette_256__seq [label=<
pos | size | type | id |
0 | 1 | | magic |
1 | 3 | Rgb | colors |
repeat 256 times |
>];
}
subgraph cluster__rgb {
label="Pcx::Rgb";
graph[style=dotted];
rgb__seq [label=<
pos | size | type | id |
0 | 1 | u1 | r |
1 | 1 | u1 | g |
2 | 1 | u1 | b |
>];
}
}
pcx__seq:hdr_type -> header__seq [style=bold];
pcx__inst__palette_256:palette_256_type -> t_palette_256__seq [style=bold];
t_palette_256__seq:colors_type -> rgb__seq [style=bold];
}