summaryrefslogtreecommitdiff
path: root/doc/doxygen/dot/x-architecture.gv
blob: 4ea49bfacfbea7b298114a24757cc37d4ac3df72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
digraph arch_x {
    edge[
        fontname="DejaVu Sans",
        dir="both",
        arrowtail="dot",
        arrowsize=.5,
        fontname="DejaVu Sans",
        fontsize="18",
    ]

    node[
        shape="Mrecord",
        color=none,
        fillcolor="#ffbc00",
        style="filled",
        fontname="DejaVu Sans",
        fontsize="18",
    ]

    {
        rank=same;
        c1 [label="X Client", URL="#c1"]
        c3 [label="X Client", URL="#c3"]
    }
    c2 [label="X Client", URL="#c2"]

    {
        rank=same;
        xserver [tooltip="X Server", label="|{|X Server|}|", URL="#xserver"]
        comp [tooltip="Compositor", label="|{|Compositor|}|", URL="#comp"]
    }

    impl [tooltip="KMS evdev Kernel", label="|{{KMS|evdev}|Kernel}|", URL="#impl"]

    c1 -> xserver [taillabel="③", labeldistance=2, URL="#step_3"];
    c2 -> xserver;
    c3 -> xserver;

    xserver -> c1 [taillabel="②", labeldistance=2, URL="#step_2"];
    xserver -> c2;
    xserver -> c3;

    xserver -> impl [taillabel="⑥", labeldistance=1.75, URL="#step_6"];
    xserver -> impl [style=invis, label="    "];
    impl -> xserver [taillabel="①", labeldistance=1.75, URL="#step_1"];

    xserver -> comp [style=invis];
    xserver -> comp [taillabel="④", labeldistance=1.75, labelangle=-45, URL="#step_4"];
    comp -> xserver [taillabel="⑤", URL="#step_5"];
    comp -> xserver [style=invis]

    c1 -> c2 [style=invis];
    c3 -> c2 [style=invis];
 }