Browse Source

Added Canvas::data() and Canvas::stride()

v1.x
Tj Holowaychuk 15 years ago
parent
commit
0d95752c57
  1. 2
      src/Canvas.h
  2. 4
      src/CanvasRenderingContext2d.cc
  3. 1
      src/Image.h

2
src/Canvas.h

@ -60,6 +60,8 @@ class Canvas: public node::ObjectWrap {
static Handle<Value> StreamPNGSync(const Arguments &args);
static Local<Value> Error(cairo_status_t status);
inline cairo_surface_t *surface(){ return _surface; }
inline uint8_t *data(){ return cairo_image_surface_get_data(_surface); }
inline int stride(){ return cairo_image_surface_get_stride(_surface); }
Canvas(int width, int height);
void resurface();

4
src/CanvasRenderingContext2d.cc

@ -408,8 +408,10 @@ Context2d::DrawImage(const Arguments &args) {
double dh = args[4]->IsNumber() ? args[4]->NumberValue() : img->height;
// Draw
uint8_t *src = img->data();
cairo_t *ctx = context->context();
uint8_t *dst = context->canvas()->data();
uint8_t *src = img->data();
int stride = img->stride();
return Undefined();
}

1
src/Image.h

@ -32,6 +32,7 @@ class Image: public node::ObjectWrap {
static void SetOnerror(Local<String> prop, Local<Value> val, const AccessorInfo &info);
inline cairo_surface_t *surface(){ return _surface; }
inline uint8_t *data(){ return cairo_image_surface_get_data(_surface); }
inline int stride(){ return cairo_image_surface_get_stride(_surface); }
cairo_status_t loadSurface();
void error(Local<Value>);
void loaded();

Loading…
Cancel
Save