~ubuntu-branches/ubuntu/lucid/graphviz/lucid-security

« back to all changes in this revision

Viewing changes to lefty/examples/slides.lefty

  • Committer: Bazaar Package Importer
  • Author(s): Stephen M Moraco
  • Date: 2002-02-05 18:52:12 UTC
  • Revision ID: james.westby@ubuntu.com-20020205185212-8i04c70te00rc40y
Tags: upstream-1.7.16
ImportĀ upstreamĀ versionĀ 1.7.16

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
load ('def.lefty');
 
2
definit ();
 
3
#
 
4
# initialize window data
 
5
#
 
6
canvas = defcanvas;
 
7
wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 800; 'y' = 1000;];];
 
8
lmargin = 100;
 
9
width = 800;
 
10
height = 1000;
 
11
setwidgetattr (canvas, ['window' = wrect;]);
 
12
fonts = [
 
13
    'timr' = [
 
14
        14 = 'timr14';
 
15
        18 = 'timr18';
 
16
        24 = 'timr24';
 
17
    ];
 
18
    'courr' = [
 
19
        14 = 'courr14';
 
20
        18 = 'courr18';
 
21
        24 = 'courr24';
 
22
    ];
 
23
];
 
24
x2ps = [
 
25
    'timr24' = 'Times-Roman';
 
26
    'timr18' = 'Times-Roman';
 
27
    'timr14' = 'Times-Roman';
 
28
    'courr24' = 'Courier';
 
29
    'courr18' = 'Courier';
 
30
    'courr14' = 'Courier';
 
31
];
 
32
 
 
33
calc = function () {
 
34
    local i, j, cpos, tsiz, dist, slidep;
 
35
    tsiz = ['x' = 0; 'y' = 0;];
 
36
    for (i = 0; slides[i]; i = i + 1) {
 
37
        slidep = slides[i];
 
38
        if (slidep.skip) {
 
39
            tsiz.y = tsiz.y + slidep.skip;
 
40
        } else {
 
41
            for (j = 0; slidep.text[j]; j = j + 1) {
 
42
                if (j > 0)
 
43
                    tsiz.y = tsiz.y + 5;
 
44
                if (~slidep.font)
 
45
                    slidep.font = slides.font;
 
46
                if (~slidep.size)
 
47
                    slidep.size = slides.size;
 
48
                if (~slidep.just)
 
49
                    slidep.just = slides.just;
 
50
                slidep.tsiz[j] = textsize (canvas, slidep.text[j],
 
51
                        fonts[slidep.font][slidep.size], 0);
 
52
                tsiz.y = tsiz.y + slidep.tsiz[j].y;
 
53
            }
 
54
        }
 
55
    }
 
56
    dist = (height - tsiz.y) / (i + 1);
 
57
    cpos = ['x' = lmargin; 'y' = height - dist;];
 
58
    for (i = 0; slides[i]; i = i + 1) {
 
59
        slidep = slides[i];
 
60
        if (slidep.skip) {
 
61
            cpos.y = cpos.y - slidep.skip - dist;
 
62
        } else {
 
63
            for (j = 0; slidep.text[j]; j = j + 1) {
 
64
                if (j > 0)
 
65
                    cpos.y = cpos.y - 5;
 
66
                if (slidep.just == 0)
 
67
                    slidep.tpos[j].x = cpos.x;
 
68
                else
 
69
                    slidep.tpos[j].x = width / 2;
 
70
                cpos.y = cpos.y - slidep.tsiz[j].y;
 
71
                slidep.tpos[j].y = cpos.y;
 
72
            }
 
73
            cpos.y = cpos.y - dist;
 
74
        }
 
75
    }
 
76
};
 
77
redraw = function () {
 
78
    local i, j, slidep;
 
79
    for (i = 0; slides[i]; i = i + 1) {
 
80
        slidep = slides[i];
 
81
        if (~slidep.skip)
 
82
            for (j = 0; slidep.text[j]; j = j + 1)
 
83
                text (canvas, slidep, slidep.tpos[j], slidep.text[j],
 
84
                        fonts[slidep.font][slidep.size], 0, slidep.just);
 
85
    }
 
86
};
 
87
dops = function () {
 
88
    local i, j, slidep, r;
 
89
 
 
90
    r = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 8 * 300; 'y' = 10.5 * 300;];];
 
91
    canvas = createwidget (-1, ['type' = 'ps'; 'origin' = r[0]; 'size' = r[1]
 
92
;]);
 
93
    setwidgetattr (canvas, ['window' = wrect;]);
 
94
    for (i = 0; slides[i]; i = i + 1) {
 
95
        slidep = slides[i];
 
96
        if (~slidep.skip)
 
97
            for (j = 0; slidep.text[j]; j = j + 1)
 
98
                text (canvas, slidep, slidep.tpos[j], slidep.text[j],
 
99
                        x2ps[fonts[slidep.font][slidep.size]],
 
100
                        slidep.tsiz[j].y, slidep.just, 1);
 
101
    }
 
102
    destroywidget (canvas);
 
103
    canvas=defcanvas;
 
104
};
 
105
doit = function () {
 
106
    calc ();
 
107
    redraw ();
 
108
    dops ();
 
109
};