Modifications (couleurs, chanfreins...) pour un rapprochement vers Scratch
[mp-scratch.git] / src / Bloc.mp
1 vardef AffichageB=
2   path cadre;
3   cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
4     (llcorner texto+(0.375cm,0)+(-eb,-eb))--
5     (llcorner texto+(0.375cm,0)+(0,-2eb))--
6     (llcorner texto+(0.625cm,0)+(0,-2eb))--
7     (llcorner texto+(0.625cm,0)+(eb,-eb))--
8     (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
9     (ulcorner texto+(0.625cm,0)+(eb,eb))--
10     (ulcorner texto+(0.625cm,0))--
11     (ulcorner texto+(0.375cm,0))--
12     (ulcorner texto+(0.375cm,0)+(-eb,eb))--
13     (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle;
14   picture TEXT;
15   TEXT=image(
16       fill cadre withcolor if unknown colBloc : DarkPurple else: colBloc fi;
17     draw texto;
18     draw cadre;
19     );
20   TEXT
21 enddef;
22
23 vardef AffichageBlocDef=
24   path cadre;
25   cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
26     (llcorner texto+(0.375cm,0)+(-eb,-eb))--
27     (llcorner texto+(0.375cm,0)+(0,-2eb))--
28     (llcorner texto+(0.625cm,0)+(0,-2eb))--
29     (llcorner texto+(0.625cm,0)+(eb,-eb))--
30     (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--
31     (urcorner texto+(eb,eb)){dir165}..{dir-165}(ulcorner texto+(-eb,eb))--cycle;
32   picture TEXT;
33   TEXT=image(
34       fill cadre withcolor if unknown colBloc : DarkPurple else: colBloc fi;
35     draw texto;
36     draw cadre;
37     );
38   TEXT
39 enddef;
40
41 vardef Bloc(expr nombloc)=
42   save $;
43   picture $,texto;
44   texto=image(
45       label.lrt(LATEX("\bfseries\color{white}"&nombloc&""),if unknown _coinprec:(0,0) else: _coinprec fi);
46   );
47 $=AffichageB shifted (if unknown _coinprec:(0,0) else : _coinprec fi - ulcorner AffichageB);
48 _coinprec:=llcorner $;
49 _coinprec:=_coinprec+(0,eb);
50 $
51 enddef;
52
53 vardef NouveauBloc(expr nombloc)=
54   save $;
55   picture $,texto;
56   texto=image(
57       label.lrt(LATEX("\bfseries\color{white} définir \colorbox{LightPurple}{\textcolor{white}{"&nombloc&"}}"),if unknown _coinprec:(0,0) else: _coinprec fi);
58   );
59 $=AffichageBlocDef shifted (if unknown _coinprec:(0,0) else : _coinprec fi - ulcorner AffichageBlocDef);
60 _coinprec:=llcorner $;
61 _coinprec:=_coinprec+(0,eb);
62 $
63 enddef;
64

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.