def dia2png_generator(source, target, env, for_signature):
if for_signature:
- return "$DIACOM -t png -s $DIA2PNGDPI $TARGET $SOURCE"
+ return "$DIACOM -t png -s $DIA2PNGDPI,$DIA2PNGMAXWIDTH $TARGET $SOURCE"
size = dia_getSize(env,source)
if not size: return None;
size[0] = size[0]*int(env['DIA2PNGDPI'])/72
size[1] = size[1]*int(env['DIA2PNGDPI'])/72
+ if size[0] > env['DIA2PNGMAXWIDTH']:
+ size[1] = size[1]*env['DIA2PNGMAXWIDTH']/size[0]
+ size[0] = env['DIA2PNGMAXWIDTH']
return env.Action("$DIACOM -t png -s %dx%d -e $TARGET $SOURCE" % tuple(size))
Dia2Png = SCons.Builder.Builder(suffix = ".png",
env['BUILDERS']['Dia2Png'] = Dia2Png
env['DIACOM'] = "dia"
env['DIA2PNGDPI'] = 115
+ env['DIA2PNGMAXWIDTH'] = 800
def exists(env):
return env.Detect("dia")