ext/rapngasm/rapngasm.cpp in rapngasm-3.1.4 vs ext/rapngasm/rapngasm.cpp in rapngasm-3.1.5.pre
- old
+ new
@@ -55,10 +55,20 @@
}
return rgbaArray;
}
+template<>
+const std::string& from_ruby< const std::string& > (Object o)
+{
+ static std::string tmp;
+ String str(o);
+ tmp.clear();
+ tmp.append(str.c_str());
+ return tmp;
+}
+
//size_t APNGAsm::wrap_add_frame_rgb(Object pixels, unsigned int width, unsigned int height, Object trns_color = NULL, unsigned delayNum = DEFAULT_FRAME_NUMERATOR, unsigned delayDen = DEFAULT_FRAME_DENOMINATOR) {
// return this.addFrame(from_ruby<rgb*>(pixels), width, height, from_ruby<rgb*>(trns_color), delayNum, delayDen);
//}
extern "C"
@@ -79,11 +89,11 @@
.define_method("rows", &APNGFrame::rows, (Arg("rows") = NULL))
.define_method("save", &APNGFrame::save, (Arg("out_path")));
typedef size_t (APNGAsm::*add_frame_object)(const APNGFrame&);
typedef size_t (APNGAsm::*add_frame_file)(const std::string&, unsigned, unsigned);
- typedef size_t (APNGAsm::*add_frame_rgb)(rgb*, unsigned int, unsigned int, rgb*, unsigned, unsigned);
- typedef size_t (APNGAsm::*add_frame_rgba)(rgba*, unsigned int, unsigned int, unsigned, unsigned);
+ typedef size_t (APNGAsm::*add_frame_rgb)(rgb*, unsigned int, unsigned int, rgb*, unsigned, unsigned);
+ typedef size_t (APNGAsm::*add_frame_rgba)(rgba*, unsigned int, unsigned int, unsigned, unsigned);
define_class<APNGAsm>("APNGAsm")
.define_constructor(Constructor<APNGAsm>())
.define_method("assemble", &APNGAsm::assemble)
.define_method("disassemble", &APNGAsm::disassemble)
.define_method("load_animation_spec", &APNGAsm::loadAnimationSpec)