1 """Dia2Png SCons Builder: Build a PNG file given a DIA file.
3 Support the specification of a scalefactor in the DIA2PNGDPI Environment variable.
10 def dia_getSize(env,source):
12 for line in popen(env['DIACOM']+" -e /proc/self/fd/1 -t eps "+source[0],"r"):
13 if line.startswith("%%BoundingBox:"):
14 size=map(int,line.split()[4:])
17 def dia2png_generator(source, target, env, for_signature):
19 return "$DIACOM -t png -s $DIA2PNGDPI $TARGET $SOURCE"
20 size = dia_getSize(env,source)
21 if not size: return None;
22 size[0] = size[0]*72/int(env['DIA2PNGDPI'])
23 size[1] = size[1]*72/int(env['$DIA2PNGDPI'])
24 return env.Action("$DIACOM -t png -s %dx%d $TARGET $SOURCE" % size)
26 Dia2Png = SCons.Builder.Builder(suffix = ".png",
28 generator = dia2png_generator,
32 env['BUILDERS']['Dia2Png'] = Dia2Png
34 env['DIA2PNGDPI'] = 115