Merge pull request #442 from vroad/cairo-nodejs-fix

Fix problem with cairo on nodejs
This commit is contained in:
Joshua Granick
2015-05-18 12:07:35 -07:00
2 changed files with 10 additions and 1 deletions

View File

@@ -57,7 +57,7 @@ abstract CairoSurface(Dynamic) {
public static function fromImage (image:Image):CairoSurface { public static function fromImage (image:Image):CairoSurface {
#if lime_cairo #if lime_cairo
return createForData (image.data.buffer.__getNativePointer (), CairoFormat.ARGB32, image.width, image.height, image.buffer.stride); return createForData (#if nodejs lime_buffer_get_native_pointer (image.data) #else image.data.buffer.__getNativePointer () #end, CairoFormat.ARGB32, image.width, image.height, image.buffer.stride);
#else #else
return null; return null;
#end #end
@@ -108,6 +108,7 @@ abstract CairoSurface(Dynamic) {
private static var lime_cairo_image_surface_get_width = System.load ("lime", "lime_cairo_image_surface_get_width", 1); private static var lime_cairo_image_surface_get_width = System.load ("lime", "lime_cairo_image_surface_get_width", 1);
private static var lime_cairo_surface_destroy = System.load ("lime", "lime_cairo_surface_destroy", 1); private static var lime_cairo_surface_destroy = System.load ("lime", "lime_cairo_surface_destroy", 1);
private static var lime_cairo_surface_flush = System.load ("lime", "lime_cairo_surface_flush", 1); private static var lime_cairo_surface_flush = System.load ("lime", "lime_cairo_surface_flush", 1);
private static var lime_buffer_get_native_pointer = System.load ("lime", "lime_buffer_get_native_pointer", 1);
#end #end

View File

@@ -146,6 +146,12 @@ namespace lime {
} }
value lime_buffer_get_native_pointer (buffer inBuffer) {
return alloc_float ((intptr_t)buffer_data (inBuffer));
}
value lime_byte_array_init (value inFactory, value inLen, value inResize, value inBytes) { value lime_byte_array_init (value inFactory, value inLen, value inResize, value inBytes) {
@@ -202,5 +208,7 @@ namespace lime {
DEFINE_PRIM (lime_byte_array_overwrite_file, 2); DEFINE_PRIM (lime_byte_array_overwrite_file, 2);
DEFINE_PRIM (lime_byte_array_read_file, 1); DEFINE_PRIM (lime_byte_array_read_file, 1);
DEFINE_PRIM (lime_buffer_get_native_pointer, 1);
} }