end
end
-redef class String
- fun to_i_strip_e: Int
- do
- if has_substring("e-", 0) then return 0
- return to_i
- end
-end
-
redef class Int
fun adapt(d: Int, scale: Float): Int
do
exit 1
end
+if not "inkscape".program_is_in_path then
+ print "This tool needs the external program `inkscape`, make sure it is installed and in your PATH."
+ exit 1
+end
+
var drawings = rest
for drawing in drawings do
if not drawing.file_exists then
var words = line.split("=")
var n = words[1]
n = n.substring(1, n.length-2) # remove ""
- page_width = n.to_i_strip_e
+ page_width = n.to_f.ceil.to_i
else if page_height == -1 and line.search("height") != null then
var words = line.split("=")
var n = words[1]
n = n.substring(1, n.length-2) # remove ""
- page_height = n.to_i_strip_e
+ page_height = n.to_f.ceil.to_i
end
end
svg_file.close
if words.length == 5 then
var id = words[0]
- var x = words[1].to_i_strip_e
- var y = words[2].to_i_strip_e
- var w = words[3].to_i_strip_e
- var h = words[4].to_i_strip_e
+ var x = words[1].to_f.floor.to_i
+ var y = words[2].to_f.floor.to_i
+ var w = words[3].to_f.ceil.to_i+1
+ var h = words[4].to_f.ceil.to_i+1
if id.has_prefix("0") then
var nit_name = id.substring_from(1)
# Nit class
var nit_class_name = drawing_name.chars.first.to_s.to_upper + drawing_name.substring_from(1) + "Images"
var nit_src = new ImageSetSrc(nit_class_name)
- nit_src.attributes.add "\tprivate var main_image: Image\n"
+ nit_src.attributes.add "\tprivate var main_image: Image is noinit\n"
nit_src.load_exprs.add "\t\tmain_image = app.load_image(\"images/{drawing_name}.png\")\n"
# Sort images by name, it prevents Array errors and looks better
nit_src.load_exprs.add "\t\t{nit_name}.add(main_image.subimage({x}, {y}, {w}, {h}))\n"
else
# Single image
- nit_src.attributes.add "\tvar {nit_name}: Image\n"
+ nit_src.attributes.add "\tvar {nit_name}: Image is noinit\n"
nit_src.load_exprs.add "\t\t{nit_name} = main_image.subimage({x}, {y}, {w}, {h})\n"
end
end