File: index.htm

package info (click to toggle)
schoolkit 0.2-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 328 kB
  • sloc: javascript: 404; sh: 16; makefile: 2
file content (75 lines) | stat: -rw-r--r-- 2,502 bytes parent folder | download
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<html>  
  <head>  
    <title>Outils mobiles (développement)</title>
    <meta charset="utf-8" />
    <script type="text/javascript" src="schoolkit.js"></script>
    <style type="text/css"> 
      .svg_container {
          border: 1px solid #aaa;
	  z-index: 10;
	  display: inline-block;
	  vertical-align: top;
      }   
    </style>
  </head>  
  <body>
    <h1 style="color: orange;">Des outils graphiques mobiles (développement)</h1>
    <h2>Comment ajouter un outil</h2>
    <p>
      La classe JavaScript GeomToolFromFile permet de mettre en place des
      objets issus de fichiers SVG. Exemple :
    </p>
    <pre>
	let p = new GeomPaper("canvas_container1", 1000, 600);
	let o3 = new GeomToolFromFile(
	  p, "equerre01",
	  "/usr/share/javascript/schoolkit/equerre01.svg",
	  new DOMPoint(300,150),
	  1);
    </pre>
    <p>
      Le fichier SVG doit contenir
      <ul>
	<li>Un groupe &lt;g&gt; avec un attribut id="layer1" ;
	  ce groupe doit ensuite contenir :</li>
	<li>Un cercle &lt;circle&gt; dont le centre, définit par les
	  attributs cx et cy servira de point de rotation pour l'outil
	  géométrique ; ce cercle aura un attribut id="centre" ;
	</li>
	<li>Un élément graphique quelconque, avec un attribut
	  id="rotation_handle" ; il faut éviter que cet élément empiète
	  sur le centre, car il servira à contrôler la rotation par
	  tirer-glisser ;
	</li>
	<li>Un élément graphique quelconque, avec un attribut
	  id="translation_handle" qui servira à contrôler la translation par
	  tirer-glisser ;
	</li>
	<li>
	  On peut ajouter autant d'éléments graphiques qu'on veut à ceux-là.
	</li>
      </ul>
    </p>
    <h2>Démo</h2>
    <div class="svg_container" id="canvas_container1"></div>
    <script>
      let p = new GeomPaper("canvas_container1", 1000, 600);
      p.quadrillage();
      
      let o1 = new GeomToolFromFile(p, "rapporteur01", "rapporteur01.svg",
				    new DOMPoint(500,300), 1);
      
      // let o2 = new DoubleDecimetre(p, 105, 100, "dd01")
      // p.addTool(o2, new DOMPoint(100,100), 3);
      let o2 = new GeomToolFromFile(p, "dd01", "double_decimetre01.svg",
				    new DOMPoint(100,100), 1);

      let o3 = new GeomToolFromFile(p, "equerre01", "equerre01.svg",
				   new DOMPoint(300,150), 1);
    </script>
    <div style="display: inline-block; vertical-align: top;">
      <button onclick="p.rescale(0.8)">-20%</button><br/>
      <button onclick="p.rescale(1.2)">+20%</button>
    </div>
  </body>
</html>