static void GetShadowPattern(Cairo.Gradient shadow, ShadowParameters shadowParams)
{
double denLog = Math.Log(1.0f / shadowParams.shadowRadius);
shadow.AddColorStop(0.0, new Cairo.Color(0, 0, 0, shadowParams.shadowAlpha));
for (int i = 2; i <= shadowParams.shadowRadius; i++)
{
double step = i / shadowParams.shadowRadius;
shadow.AddColorStop(step, new Cairo.Color(0, 0, 0, shadowParams.shadowAlpha * (Math.Log(step) / denLog)));
}
}