blur: Take the radius as a double parameter

It's only ever used like that
This commit is contained in:
Benjamin Otte 2012-09-19 17:28:40 +02:00
parent 43673dafdc
commit 1cecaf6d7e
2 changed files with 7 additions and 12 deletions

View File

@ -173,23 +173,19 @@ _expblur (guchar* pixels,
gint width,
gint height,
gint channels,
gint radius,
double radius,
gint aprec,
gint zprec)
{
gint alpha;
gint row = 0;
gint col = 0;
if (radius < 1)
return;
int row, col;
/* Calculate the alpha such that 90% of
* the kernel is within the radius.
* (Kernel extends to infinity) */
alpha = (gint) ((1 << aprec) * (1.0f - expf (-2.3f / (radius + 1.f))));
for (; row < height; row++)
for (row = 0; row < height; row++)
_blurrow (pixels,
width,
height,
@ -199,7 +195,7 @@ _expblur (guchar* pixels,
aprec,
zprec);
for(; col < width; col++)
for(col = 0; col < width; col++)
_blurcol (pixels,
width,
height,
@ -217,11 +213,10 @@ _expblur (guchar* pixels,
* @radius: the blur radius.
*
* Blurs the cairo image surface at the given radius.
*
*/
void
_gtk_cairo_blur_surface (cairo_surface_t* surface,
guint radius)
double radius)
{
cairo_format_t format;
guchar* pixels;

View File

@ -29,8 +29,8 @@
G_BEGIN_DECLS
void _gtk_cairo_blur_surface (cairo_surface_t* surface,
guint radius);
void _gtk_cairo_blur_surface (cairo_surface_t *surface,
double radius);
G_END_DECLS