annotate toolboxes/graph_visualisation/lib/lefty/slides.lefty @ 0:cc4b1211e677 tip

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