nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
contrib/inkscape_tools: remove old_style constructor and whitespace error
[nit.git]
/
contrib
/
inkscape_tools
/
src
/
svg_to_png_and_nit.nit
diff --git
a/contrib/inkscape_tools/src/svg_to_png_and_nit.nit
b/contrib/inkscape_tools/src/svg_to_png_and_nit.nit
index
35732ad
..
f718255
100644
(file)
--- a/
contrib/inkscape_tools/src/svg_to_png_and_nit.nit
+++ b/
contrib/inkscape_tools/src/svg_to_png_and_nit.nit
@@
-38,7
+38,6
@@
class ImageSetSrc
super Template
var name: String
super Template
var name: String
- init(name: String) do self.name = name
var attributes = new Array[String]
var load_exprs = new Array[String]
var attributes = new Array[String]
var load_exprs = new Array[String]
@@
-103,6
+102,11
@@
if not errors.is_empty or opt_help.value then
exit 1
end
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 drawings = rest
for drawing in drawings do
if not drawing.file_exists then
@@
-136,7
+140,7
@@
for drawing in drawings do
# Inkscape doesn't give us this information
var page_width = -1
var page_height = -1
# Inkscape doesn't give us this information
var page_width = -1
var page_height = -1
- var svg_file = new IFStream.open(drawing)
+ var svg_file = new FileReader.open(drawing)
while not svg_file.eof do
var line = svg_file.read_line
while not svg_file.eof do
var line = svg_file.read_line
@@
-159,7
+163,7
@@
for drawing in drawings do
# Query Inkscape
var prog = "inkscape"
# Query Inkscape
var prog = "inkscape"
- var proc = new IProcess.from_a(prog, ["--without-gui", "--query-all", drawing])
+ var proc = new ProcessReader.from_a(prog, ["--without-gui", "--query-all", drawing])
var min_x = 1000000
var min_y = 1000000
var min_x = 1000000
var min_y = 1000000
@@
-172,14
+176,14
@@
for drawing in drawings do
while not proc.eof do
var line = proc.read_line
var words = line.split(",")
while not proc.eof do
var line = proc.read_line
var words = line.split(",")
-
+
if words.length == 5 then
var id = words[0]
var x = words[1].to_f.floor.to_i
var y = words[2].to_f.floor.to_i
if words.length == 5 then
var id = words[0]
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
- var h = words[4].to_f.ceil.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)
if id.has_prefix("0") then
var nit_name = id.substring_from(1)
@@
-200,7
+204,7
@@
for drawing in drawings do
# 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 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\tmain_image = app.load_image(\"images/{drawing_name}.png\")\n"
# Sort images by name, it prevents Array errors and looks better
@@
-229,13
+233,13
@@
for drawing in drawings do
nit_src.load_exprs.add "\t\t{nit_name}.add(main_image.subimage({x}, {y}, {w}, {h}))\n"
else
# Single image
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
# Output source file
nit_src.load_exprs.add "\t\t{nit_name} = main_image.subimage({x}, {y}, {w}, {h})\n"
end
end
# Output source file
- var src_file = new OFStream.open("{src_path}/{drawing_name}.nit")
+ var src_file = new FileWriter.open("{src_path}/{drawing_name}.nit")
nit_src.write_to(src_file)
src_file.close
nit_src.write_to(src_file)
src_file.close