The ShadowFrames module defines a couple of functions for drawing shadowed borders, Motif, Tcl/Tk style:
drawFrame :: Relief -- sunken/raised etc.
-> Int -- shadow width
-> Size -- width&height of box
-> Pen -- lighter pen
-> Pen -- darker pen
-> Picture
diamond :: Pen -- pen to fill inside of diamond
-> Pen -- lighter pen
-> Pen -- darker pen
-> Int -- shadow width
-> Size -- size of diamond
-> Picture
diamond_set :: Pen -- pen to fill inside of diamond
-> Pen -- lighter pen
-> Pen -- darker pen
-> Int -- shadow width
-> Size -- size of diamond
-> Picture
drawTriangle :: CompassDirection
-> Relief -- sunken/raised etc.
-> Int -- shadow width
-> Size -- size of triangle bbox
-> Pen -- inside pen
-> Pen -- lighter pen
-> Pen -- darker pen
-> Picture