I saw this
GLMGaussianBlurBrickRenderer class #example
nice!

And once I did something similiar, a Morph that blurres the underlaying display.

But instead of doing a convolution (convolve image with kernel) by hand,
I convolve the kernel with the image by using copyBits from the BitBlt:

������ | form temp dest from to |
������ form := Display contentsOfArea: self bounds.
������ temp := Form extent: self extent depth: 32.
������ temp getCanvas fillColor: Color white darker.
������ dest := Form extent: self extent depth: 32.
������ dest getCanvas fillColor: Color white darker.
������ to := kernel size // 2.
������ from := -1 * to.
������ (from to: to) do: [ :i | temp copyBits: form at: i @ 0 translucent: (kernel at: i + to + 1) ].
������ (from to: to) do: [ :i | dest copyBits: temp at: 0 @ i translucent: (kernel at: i + to + 1) ].
������ aCanvas drawImage: dest at: self bounds topLeft.