%%%%
% Scratch
%%%%
\def\filedateScratch{2024/08/04}%
\def\fileversionScratch{0.1}%
\message{-- \filedateScratch\space v\fileversionScratch}%
%
\newlength{\longbarreheight}
\setlength{\longbarreheight}{2.1ex+3pt}

\newlength{\longbarredepth}
\setlength{\longbarredepth}{0.9ex+3pt}
\def\longbarre{\vrule height\longbarreheight depth\longbarredepth width0pt}%

\def\barre{\vrule height2.1ex depth.9ex width0pt}%
\def\demibarre{\vrule height1.4ex depth.6ex width0pt}%

\setKVdefault[Scratch]{ModeleCouleur=5,Impression=false,Numerotation=false,Echelle=1,Naturel=false}%

\ifluatex
\NewDocumentEnvironment{Scratch}{o +b}{%
  \useKVdefault[Scratch]%
  \setKV[Scratch]{#1}%
  \mplibforcehmode%
  \ifboolKV[Scratch]{Naturel}{}{\myfontScratch}%
    \begin{mplibcode}%
      defaultcolormodel:=\useKV[Scratch]{ModeleCouleur};
      boolean Naturel;
      Naturel=\useKV[Scratch]{Naturel};
      if Naturel: input PfCPseudo; print:=true; else: input PfCScratch; print:=\useKV[Scratch]{Impression}; fi;
      NumeroteLignes:=\useKV[Scratch]{Numerotation};%
      if defaultcolormodel=7:
      cmykcolor white,White,CoulLignes;
      coefprint:=1-coefprint;
      White=(0,0,0,1);
      white=(0,0,0,0);
      CoulLignes=(0,0,0,1);
      fi;
      #2%
      picture recap;%
      recap:=currentpicture scaled \useKV[Scratch]{Echelle};%
      currentpicture:=nullpicture;%
      draw recap;%
    \end{mplibcode}%
  }{}
\else%
\NewDocumentEnvironment{Scratch}{o +b}{%
  \setKV[Scratch]{#1}%
  \begin{mpost}[mpsettings={boolean Naturel;Naturel=\useKV[Scratch]{Naturel};if Naturel: input PfCPseudo; print:=true; else: input PfCScratchpdf; print:=\useKV[Scratch]{Impression}; fi;NumeroteLignes:=\useKV[Scratch]{Numerotation};Echelle:=\useKV[Scratch]{Echelle};}]%
    #2%
    picture recap;%
    recap:=currentpicture scaled Echelle;%
    currentpicture:=nullpicture;%
    draw recap;%
  \end{mpost}
}{}%
\fi%