@@ -690,44 +690,74 @@ pub extern "C" fn image_invert(handle: u64) -> u64 {
690690zrtl_plugin ! {
691691 name: "zrtl_image" ,
692692 symbols: [
693- // Loading/Saving
694- ( "$Image$load" , image_load) ,
695- ( "$Image$load_bytes" , image_load_bytes) ,
696- ( "$Image$load_bytes_format" , image_load_bytes_format) ,
697- ( "$Image$save" , image_save) ,
698- ( "$Image$save_format" , image_save_format) ,
699- ( "$Image$encode" , image_encode) ,
700- ( "$Image$encode_png" , image_encode_png) ,
701- ( "$Image$encode_jpeg" , image_encode_jpeg) ,
702-
703- // Creation/Info
704- ( "$Image$create" , image_create) ,
693+ // Loading/Saving (with signatures)
694+ // Functions with opaque params (StringPtr/ArrayPtr) use dynamic boxing
695+ // image_load(path: StringPtr) -> u64 (handle)
696+ ( "$Image$load" , image_load, dynamic( 1 ) -> void) ,
697+ // image_load_bytes(data: ArrayPtr) -> u64
698+ ( "$Image$load_bytes" , image_load_bytes, dynamic( 1 ) -> void) ,
699+ // image_load_bytes_format(data: ArrayPtr, format: i32) -> u64
700+ ( "$Image$load_bytes_format" , image_load_bytes_format, dynamic( 2 ) -> void) ,
701+ // image_save(handle: u64, path: StringPtr) -> void
702+ ( "$Image$save" , image_save, dynamic( 2 ) -> void) ,
703+ // image_save_format(handle: u64, path: StringPtr, format: i32) -> i32
704+ ( "$Image$save_format" , image_save_format, dynamic( 3 ) -> void) ,
705+ // image_encode(handle: u64, format: i32) -> ArrayPtr
706+ ( "$Image$encode" , image_encode, dynamic( 2 ) -> dynamic) ,
707+ // image_encode_png(handle: u64) -> ArrayPtr
708+ ( "$Image$encode_png" , image_encode_png, dynamic( 1 ) -> dynamic) ,
709+ // image_encode_jpeg(handle: u64, quality: u8) -> ArrayPtr
710+ ( "$Image$encode_jpeg" , image_encode_jpeg, dynamic( 2 ) -> dynamic) ,
711+
712+ // Creation/Info (with signatures)
713+ // image_create(width: u32, height: u32) -> u64
714+ ( "$Image$create" , image_create, ( u32 , u32 ) -> u64 ) ,
715+ // image_create_filled(width: u32, height: u32, color: Color) -> u64
716+ // Note: Color is a struct, no signature for now
705717 ( "$Image$create_filled" , image_create_filled) ,
706- ( "$Image$free" , image_free) ,
707- ( "$Image$clone" , image_clone) ,
708- ( "$Image$width" , image_width) ,
709- ( "$Image$height" , image_height) ,
710-
711- // Pixel operations
718+ // image_free(handle: u64) -> void
719+ ( "$Image$free" , image_free, ( u64 ) -> void) ,
720+ // image_clone(handle: u64) -> u64
721+ ( "$Image$clone" , image_clone, ( u64 ) -> u64 ) ,
722+ // image_width(handle: u64) -> u32
723+ ( "$Image$width" , image_width, ( u64 ) -> u32 ) ,
724+ // image_height(handle: u64) -> u32
725+ ( "$Image$height" , image_height, ( u64 ) -> u32 ) ,
726+
727+ // Pixel operations (some without signatures due to struct params)
712728 ( "$Image$get_pixel" , image_get_pixel) ,
713729 ( "$Image$set_pixel" , image_set_pixel) ,
714- ( "$Image$get_pixels" , image_get_pixels) ,
730+ // image_get_pixels(handle: u64) -> ArrayPtr
731+ ( "$Image$get_pixels" , image_get_pixels, dynamic( 1 ) -> dynamic) ,
715732 ( "$Image$set_pixels" , image_set_pixels) ,
716733
717- // Manipulation
718- ( "$Image$resize" , image_resize) ,
719- ( "$Image$resize_fit" , image_resize_fit) ,
720- ( "$Image$crop" , image_crop) ,
721- ( "$Image$rotate90" , image_rotate90) ,
722- ( "$Image$rotate180" , image_rotate180) ,
723- ( "$Image$rotate270" , image_rotate270) ,
724- ( "$Image$flip_horizontal" , image_flip_horizontal) ,
725- ( "$Image$flip_vertical" , image_flip_vertical) ,
726- ( "$Image$grayscale" , image_grayscale) ,
727- ( "$Image$blur" , image_blur) ,
728- ( "$Image$brighten" , image_brighten) ,
729- ( "$Image$contrast" , image_contrast) ,
730- ( "$Image$invert" , image_invert) ,
734+ // Manipulation (with signatures)
735+ // image_resize(handle: u64, width: u32, height: u32) -> u64
736+ ( "$Image$resize" , image_resize, ( u64 , u32 , u32 ) -> u64 ) ,
737+ // image_resize_fit(handle: u64, max_width: u32, max_height: u32) -> u64
738+ ( "$Image$resize_fit" , image_resize_fit, ( u64 , u32 , u32 ) -> u64 ) ,
739+ // image_crop(handle: u64, x: u32, y: u32, width: u32, height: u32) -> u64
740+ ( "$Image$crop" , image_crop, ( u64 , u32 , u32 , u32 , u32 ) -> u64 ) ,
741+ // image_rotate90(handle: u64) -> u64
742+ ( "$Image$rotate90" , image_rotate90, ( u64 ) -> u64 ) ,
743+ // image_rotate180(handle: u64) -> u64
744+ ( "$Image$rotate180" , image_rotate180, ( u64 ) -> u64 ) ,
745+ // image_rotate270(handle: u64) -> u64
746+ ( "$Image$rotate270" , image_rotate270, ( u64 ) -> u64 ) ,
747+ // image_flip_horizontal(handle: u64) -> u64
748+ ( "$Image$flip_horizontal" , image_flip_horizontal, ( u64 ) -> u64 ) ,
749+ // image_flip_vertical(handle: u64) -> u64
750+ ( "$Image$flip_vertical" , image_flip_vertical, ( u64 ) -> u64 ) ,
751+ // image_grayscale(handle: u64) -> u64
752+ ( "$Image$grayscale" , image_grayscale, ( u64 ) -> u64 ) ,
753+ // image_blur(handle: u64, sigma: f32) -> u64
754+ ( "$Image$blur" , image_blur, ( u64 , f32 ) -> u64 ) ,
755+ // image_brighten(handle: u64, value: i32) -> u64
756+ ( "$Image$brighten" , image_brighten, ( u64 , i32 ) -> u64 ) ,
757+ // image_contrast(handle: u64, value: f32) -> u64
758+ ( "$Image$contrast" , image_contrast, ( u64 , f32 ) -> u64 ) ,
759+ // image_invert(handle: u64) -> u64
760+ ( "$Image$invert" , image_invert, ( u64 ) -> u64 ) ,
731761 ]
732762}
733763
0 commit comments