\NeedsTeXFormat{LaTeX2e}

\ProvidesPackage{bclogo}[2008/03/12, V1.31]

% extensions
 
\RequirePackage{pstricks}
\RequirePackage{pst-grad}
\RequirePackage{tabularx}
\RequirePackage{graphicx}
\RequirePackage{ifthen}
%\RequirePackage{xkeyval}
%les symboles
%==========================================================================================
%la fleur
\newcommand\fleur{\begingroup\input{fleur}\endgroup}
%une note (Thomas Laburussias)
\newcommand\note{\begingroup\input{note}\endgroup}
%panneau chantier (Jean-Michel Sarlat)
\newcommand{\panchant}{\includegraphics[width=17pt]{aux-301.eps}}
%ours
\newcommand\ours{\begingroup\input{ours.tex}\endgroup}
%étoile
\newcommand\etoile{\begingroup\input{etoile.tex}\endgroup}
%attention
\newcommand\attention{\begingroup\input{attention.tex}\endgroup}
%coeur
\newcommand\coeur{\begingroup\input{coeur.tex}\endgroup}
%ornement (tiré du site http://openclipart.org )
\newcommand\orne{\begingroup\input{orne.tex}\endgroup}
%danger (François)
\newcommand\danger{\begingroup\input{danger.tex}\endgroup}
%smiley bonne humeur (François)
\newcommand\smbh{\begingroup\input{smiley_bonnehumeur.tex}\endgroup}
%smiley bonne humeur (François)
\newcommand\smmh{\begingroup\input{smiley_mauvaisehumeur.tex}\endgroup}
%=================================================================================

%=========================== La fonction listable ================================
\newcommand{\titrebclogo}{Liste des \texttt{bclogo}}
\newcommand\bccaption[1]{\addcontentsline{bcl}{bclogo}{#1}}
\makeatletter
\newcommand\listofbclogo{\section*{\titrebclogo}\@starttoc{bcl}}
\newcommand\l@bclogo[2]{\par\noindent #1,~\textit{page~#2}}
\makeatother
%=================================================================================
\makeatletter
%======================================= les keys ================================
\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi
\def\fileversion{1.31}
\def\filedate{2008/09/18}
\message{`bclogo' v\fileversion, \filedate}

\pst@addfams{bclogo}
\define@key[psset]{bclogo}{logo}{\def\val@logo{#1}}
\define@key[psset]{bclogo}{couleur}{\def\val@couleur{#1}}
\define@key[psset]{bclogo}{arrondi}{\def\val@arrondi{#1}}
\psset[bclogo]{logo=\fleur,couleur=white,arrondi=0}

\define@boolkey[psset]{bclogo}[Pst@]{cadretitre}[false]{}
\psset[bclogo]{cadretitre}%   set to the default, which is false

%=================================================================================

\newsavebox{\envbox}
%%% précaution JCC
\newcommand*\bclogocolor{}
\newcommand*\bclogotitre{}

\newenvironment*{bclogo}[2][]{%
   \psset[bclogo]{#1} %on récupère les options
   \par\noindent % attention au retrait d'alinéa
%%% Ajout de JCC : il faut définir les commandes qui seront untilisées dans la deuxième partie de l'environnement
%%% commande titre
   \renewcommand*\bclogotitre{#2}
   \renewcommand*\bclogocolor{\val@couleur}
%La commande pour les coins arrondis
   \newcommand{\arr}{\val@arrondi}
%%% deux types de titres
   \ifPst@cadretitre %si cadretitre = true
       \newcommand{\structitre}{ \rput({\dimexpr -17pt+0.5\linewidth},0.1){\psframebox[fillstyle=gradient,gradmidpoint=0.2, gradangle=0,gradbegin=red!60!green!40, gradend=white]{\large  #2}}}
   \else %sinon
       \newcommand{\structitre}{{\large \textbf{#2}}}       
   \fi
%
   \begin{lrbox}{\envbox}
   \begin{tabular}{@{}c@{}p{\dimexpr\linewidth-2\psframesep-2\pslinewidth-17pt}@{}}
   \raisebox{-3mm}{\val@logo} &\structitre \\[1ex]
   \vrule width 0.05cm&
}
{%
  \bccaption{\bclogotitre}
  \end{tabular}%
  \end{lrbox}%
  % Affiche le texte dans un cadre en couleur.
  \noindent
  \rput[tl](-0.18,0){%
    \psframebox[fillstyle=solid, fillcolor=\bclogocolor,framearc=\arr]{%
      \usebox{\envbox}%
    }%
  }%
  \par\vspace*{\dimexpr\ht\envbox+\dp\envbox+2\psframesep+2\pslinewidth}
}

\makeatother
