% proflycee-tools-piton.tex
% Copyright 2023  Cédric Pierquet
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.

\RequirePackage{iftex}

%%------PYTHONPITON
\defKV[envpiton]{%
	Largeur=\def\CODPITlargeur{#1},%
	Alignement=\def\CODPITalign{#1},%
	TaillePolice=\def\CODPITfonte{#1}
}

\setKVdefault[envpiton]{%
	Largeur=\linewidth,%
	Alignement=center,%
	Lignes=true,%
	Gobble=true,%
	TaillePolice=\footnotesize
}

\tcbset{stylepiton/.style={%
	enhanced,boxrule=1.25pt,%
	sharp corners=downhill,arc=12pt,
	before skip=12pt,after skip=12pt,%
	top=10pt,bottom=1mm,rightupper=4pt,%leftupper=25pt,
	attach boxed title to top right={yshift=-\tcboxedtitleheight},
	boxed title style={
		size=small,colback=ForestGreen!25,boxrule=1.25pt,
		colframe=Green,boxsep=1.25pt,
		sharp corners=downhill,
		arc=12pt,
		top=2pt,bottom=1pt,left=6pt,right=6pt
	},
	fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
	title={\scriptsize\faPython}\:Code Python\vphantom{p},
	watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50
	}
}

\ifluatex
\RequirePackage{piton}
\NewPitonEnvironment{CodePiton}{ O{} }%
{%
	\useKVdefault[envpiton]%
	\setKV[envpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
	\ifboolKV[envpiton]{Lignes}%si lignes=true
		{\PitonOptions{left-margin=auto,all-line-numbers}}%
		{}%
	\ifboolKV[envpiton]{Gobble}%si gobble=true
		{\PitonOptions{tabs-auto-gobble}}%
		{}%
	\PitonOptions{break-lines,indent-broken-lines}%
	\begin{tcolorbox}[stylepiton,leftupper=8pt,colframe=Green,colback=ForestGreen!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign]
}%
{%
	\end{tcolorbox}%
}
\fi

\endinput