Browse Source

tweak styling

v1.x
Tj Holowaychuk 13 years ago
parent
commit
a4ed9c5edd
  1. 4
      src/Canvas.cc
  2. 28
      src/JPEGStream.h

4
src/Canvas.cc

@ -318,9 +318,7 @@ Canvas::StreamJPEGSync(const Arguments &args) {
TryCatch try_catch; TryCatch try_catch;
write_to_jpeg_stream(canvas->surface(), args[0]->NumberValue(), args[1]->NumberValue(), &closure); write_to_jpeg_stream(canvas->surface(), args[0]->NumberValue(), args[1]->NumberValue(), &closure);
if (try_catch.HasCaught()) { if (try_catch.HasCaught()) return try_catch.ReThrow();
return try_catch.ReThrow();
}
return Undefined(); return Undefined();
} }

28
src/JPEGStream.h

@ -33,9 +33,9 @@ empty_closure_output_buffer(j_compress_ptr cinfo){
Local<Buffer> buf = Buffer::New(dest->bufsize); Local<Buffer> buf = Buffer::New(dest->bufsize);
memcpy(Buffer::Data(buf->handle_), dest->buffer, dest->bufsize); memcpy(Buffer::Data(buf->handle_), dest->buffer, dest->bufsize);
Local<Value> argv[3] = { Local<Value> argv[3] = {
Local<Value>::New(Null()), Local<Value>::New(Null())
Local<Value>::New(buf->handle_), , Local<Value>::New(buf->handle_)
Integer::New(dest->bufsize) , Integer::New(dest->bufsize)
}; };
dest->closure->fn->Call(Context::GetCurrent()->Global(), 3, argv); dest->closure->fn->Call(Context::GetCurrent()->Global(), 3, argv);
cinfo->dest->next_output_byte = dest->buffer; cinfo->dest->next_output_byte = dest->buffer;
@ -50,18 +50,22 @@ term_closure_destination(j_compress_ptr cinfo){
size_t remaining = dest->bufsize - cinfo->dest->free_in_buffer; size_t remaining = dest->bufsize - cinfo->dest->free_in_buffer;
Local<Buffer> buf = Buffer::New(remaining); Local<Buffer> buf = Buffer::New(remaining);
memcpy(Buffer::Data(buf->handle_), dest->buffer, remaining); memcpy(Buffer::Data(buf->handle_), dest->buffer, remaining);
Local<Value> data_argv[3] = { Local<Value> data_argv[3] = {
Local<Value>::New(Null()), Local<Value>::New(Null())
Local<Value>::New(buf->handle_), , Local<Value>::New(buf->handle_)
Integer::New(remaining) , Integer::New(remaining)
}; };
dest->closure->fn->Call(Context::GetCurrent()->Global(), 3, data_argv); dest->closure->fn->Call(Context::GetCurrent()->Global(), 3, data_argv);
/* emit 'end' */
// emit "end"
Local<Value> end_argv[3] = { Local<Value> end_argv[3] = {
Local<Value>::New(Null()), Local<Value>::New(Null())
Local<Value>::New(Null()), , Local<Value>::New(Null())
Integer::New(0) , Integer::New(0)
}; };
dest->closure->fn->Call(Context::GetCurrent()->Global(), 3, end_argv); dest->closure->fn->Call(Context::GetCurrent()->Global(), 3, end_argv);
} }
@ -94,10 +98,6 @@ jpeg_closure_dest(j_compress_ptr cinfo, closure_t * closure, int bufsize){
void void
write_to_jpeg_stream(cairo_surface_t *surface, int bufsize, int quality, closure_t *closure){ write_to_jpeg_stream(cairo_surface_t *surface, int bufsize, int quality, closure_t *closure){
/*
libjs code adapted from the Cairo R graphics project:
http://www.rforge.net/Cairo/
*/
int w = cairo_image_surface_get_width(surface); int w = cairo_image_surface_get_width(surface);
int h = cairo_image_surface_get_height(surface); int h = cairo_image_surface_get_height(surface);
struct jpeg_compress_struct cinfo; struct jpeg_compress_struct cinfo;

Loading…
Cancel
Save