[gtk+/wip/blur] Simplified gtkcairoblur code



commit e2d5a0526b8e150cef50ed9134ee32563019b33c
Author: Andrea Cimitan <andrea cimitan canonical com>
Date:   Fri Apr 13 12:17:00 2012 +0200

    Simplified gtkcairoblur code

 gtk/gtkcairoblur.c |  106 +++------------------------------------------------
 gtk/gtkcairoblur.h |   20 +---------
 2 files changed, 9 insertions(+), 117 deletions(-)
---
diff --git a/gtk/gtkcairoblur.c b/gtk/gtkcairoblur.c
index 50abf61..9fca751 100644
--- a/gtk/gtkcairoblur.c
+++ b/gtk/gtkcairoblur.c
@@ -24,96 +24,20 @@
 #include "gtkcairoblur.h"
 #include "gtkcairoblurexponential.h"
 
-struct GtkCairoBlurPrivate
-{
-  guint radius; /* Blur radius. */
-};
-
-/*
- * _gtk_cairo_blur_create:
- *
- * Creates a #GtkCairoBlur.
- * 
- * Return value: the #GtkCairoBlur.
- *
- */
-GtkCairoBlur*
-_gtk_cairo_blur_create (void)
-{
-  GtkCairoBlur* blur;
-  GtkCairoBlurPrivate* priv;
-
-  blur = g_new0 (GtkCairoBlur, 1);
-  if (!blur)
-    {
-      g_debug ("_gtk_cairo_blur_create(): could not allocate blur struct");
-      return NULL;
-    }
-
-  priv = g_new0 (GtkCairoBlurPrivate, 1);
-  if (!priv)
-    {
-      g_debug ("_gtk_cairo_blur_create(): could not allocate priv struct");
-      g_free ((gpointer) blur);
-      return NULL;
-    }
-
-  priv->radius = 0;
-
-  blur->priv = priv;
-
-  return blur;
-}
-
-/*
- * _gtk_cairo_blur_get_radius:
- * @blur: a #GtkCairoBlur.
- *
- * Returns the blur radius.
- * 
- * Return value: the radius of the blur.
- *
- */
-guint
-_gtk_cairo_blur_get_radius (GtkCairoBlur* blur)
-{
-  g_assert (blur != NULL);
-
-  return blur->priv->radius;
-}
-
 /*
- * _gtk_cairo_blur_set_radius:
- * @blur: a #GtkCairoBlur.
- * @radius: the blur radius.
- *
- * Sets the blur radius.
- *
- */
-void
-_gtk_cairo_blur_set_radius (GtkCairoBlur* blur,
-                            guint         radius)
-{
-  g_return_if_fail (blur != NULL);
-
-  blur->priv->radius = radius;
-}
-
-/*
- * _gtk_cairo_blur_apply:
- * @blur: a #GtkCairoBlur.
+ * _gtk_cairo_blur_surface:
  * @surface: a cairo image surface.
+ * @radius: the blur radius.
  *
- * Applies the blur to the image surface.
+ * Blurs the cairo image surface at the given radius.
  *
  */
 void
-_gtk_cairo_blur_apply (GtkCairoBlur*    blur,
-                       cairo_surface_t* surface)
+_gtk_cairo_blur_apply (cairo_surface_t* surface,
+                       guint            radius)
 {
   cairo_format_t format;
 
-  g_return_if_fail (blur != NULL);
   g_return_if_fail (surface != NULL);
 
   if (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_IMAGE)
@@ -131,27 +55,11 @@ _gtk_cairo_blur_apply (GtkCairoBlur*    blur,
       return;
     }
 
-  if (blur->priv->radius == 0)
+  if (radius == 0)
     return;
 
   /* Now do the real work.
    * This call performs the blur:
    * call (and write) a different function to perform a different blur. */
-  _surface_exponential_blur (surface, blur->priv->radius);
-}
-
-/*
- * _gtk_cairo_blur_destroy:
- * @blur: a #GtkCairoBlur.
- *
- * Destroys the #GtkCairoBlur.
- *
- */
-void
-_gtk_cairo_blur_destroy (GtkCairoBlur* blur)
-{
-  g_return_if_fail (blur != NULL);
-
-  g_free ((gpointer) blur->priv);
-  g_free ((gpointer) blur);
+  _surface_exponential_blur (surface, radius);
 }
diff --git a/gtk/gtkcairoblur.h b/gtk/gtkcairoblur.h
index 22d0a4f..0b93bb5 100644
--- a/gtk/gtkcairoblur.h
+++ b/gtk/gtkcairoblur.h
@@ -29,24 +29,8 @@
 
 G_BEGIN_DECLS
 
-typedef struct _GtkCairoBlurPrivate GtkCairoBlurPrivate;
-
-typedef struct _GtkCairoBlur
-{
-  GtkCairoBlurPrivate* priv;
-} GtkCairoBlur;
-
-GtkCairoBlur*   _gtk_cairo_blur_create     (void);
-
-guint           _gtk_cairo_blur_get_radius (GtkCairoBlur*    blur);
-
-void            _gtk_cairo_blur_set_radius (GtkCairoBlur*    blur,
-                                            guint            radius);
-
-void            _gtk_cairo_blur_apply      (GtkCairoBlur*    blur,
-                                            cairo_surface_t* surface);
-
-void            _gtk_cairo_blur_destroy    (GtkCairoBlur*    blur);
+void            _gtk_cairo_blur_surface (cairo_surface_t* surface,
+                                         guint            radius);
 
 G_END_DECLS
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]