I have created a newtcolorbox
that has a unique shape defined by a path, and then filled as seen in the code below:
\documentclass[20pt, a4paper]{article}
\usepackage{tcolorbox}
\usepackage{lipsum}
\tcbuselibrary{skins}
\usetikzlibrary{calc}
\usetikzlibrary{shadows}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
\definecolor{BaseColor}{HTML}{8533FF}
\newlength{\boxCornerOfset}
\setlength{\boxCornerOfset}{12pt}
\newlength{\boxShadowOfset}
\setlength{\boxShadowOfset}{2mm}
\newtcolorbox{mybox}{
left=\boxCornerOfset,
top=\boxCornerOfset,
bottom=\boxCornerOfset,
right=\boxCornerOfset,
skin=enhanced jigsaw,
sharpish corners,
drop fuzzy shadow southeast={BaseColor!20!white},
%frame style={drop shadow},
%fuzzy shadow={\boxShadowOfset}{-\boxShadowOfset}{0mm}{BaseColor!30!white},
frame code={%
\begin{pgfonlayer}{main}
\draw[line width=4pt,color=BaseColor,fill=BaseColor]($(frame.north west) + (\boxCornerOfset, 0pt)$)
-- (frame.north east)
-- ($(frame.south east) + (0pt, \boxCornerOfset)$)
-- ($(frame.south east) + (-\boxCornerOfset, 0pt)$)
-- (frame.south west)
-- ($(frame.north west) + (0pt, -\boxCornerOfset)$)
-- cycle;
\end{pgfonlayer}
},
interior code={%
\draw[line width=4pt,color=BaseColor,fill=BaseColor]($(frame.north west) + (\boxCornerOfset, -0pt)$)
-- ($(frame.north east) + (-0pt, -0pt)$)
-- ($(frame.south east) + (-0pt, \boxCornerOfset)$)
-- ($(frame.south east) + (-\boxCornerOfset, 0pt)$)
-- ($(frame.south west) + (0pt, 0pt)$)
-- ($(frame.north west) + (0pt, -\boxCornerOfset)$)
-- cycle;
}
}
\begin{document}
\begin{mybox}
\begin{center}
{\sffamily\huge\color{white} Testing textbox, bippity!}
\end{center}
\end{mybox}
\end{document}
My problem is that when I try and apply a shadow it doesn't follow the path that I have created and I was wondering if there was a way to correctly lay out the shadow to follow the shape created.