Browse Source

Added Canvas::blur()

v1.x
Tj Holowaychuk 14 years ago
parent
commit
aca81c8f2d
  1. 11
      src/blur.cc
  2. 1
      src/canvas.h

11
src/blur.cc

@ -25,13 +25,12 @@
#include <math.h>
#include <stdint.h>
#include <cairo.h>
#include "canvas.h"
#define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
/* Performs a simple 2D Gaussian blur of radius @radius on surface @surface. */
void
blur_image_surface (cairo_surface_t *surface, int radius)
{
Canvas::blur(cairo_surface_t *surface, int radius) {
cairo_surface_t *tmp;
int width, height;
int src_stride, dst_stride;
@ -136,6 +135,6 @@ blur_image_surface (cairo_surface_t *surface, int radius)
}
}
cairo_surface_destroy (tmp);
cairo_surface_mark_dirty (surface);
}
cairo_surface_destroy (tmp);
cairo_surface_mark_dirty (surface);
}

1
src/canvas.h

@ -40,6 +40,7 @@ class Canvas: public node::ObjectWrap {
static Handle<Value> SavePNG(const Arguments &args);
static Handle<Value> StreamPNG(const Arguments &args);
inline cairo_surface_t *getSurface(){ return _surface; }
static void blur(cairo_surface_t *surface, int radius);
Canvas(int width, int height);
private:

Loading…
Cancel
Save