Algorithm is basically same as for shadow, perhaps even shadow will use it. svn path=/trunk/KDE/kdebase/workspace/; revision=683514