# autolatex - vsd2pdf.transdef
# Copyright (C) 2014  Stephane Galland <[email protected]>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

#--------------------------------------------
# See template.txt for details on the fields
#--------------------------------------------

INPUT_EXTENSIONS = .vsd .vdx .vsdx

OUTPUT_EXTENSIONS for pdf = .pdf
OUTPUT_EXTENSIONS for eps = .eps

TRANSLATOR_PERL_DEPENDENCIES = version

TRANSLATOR_FUNCTION =<<EOL {
       # Check for the Inkscape version
       if (lc($inext) eq '.vsdx') {
               my @o = runCommandOrFail("inkscape", "--version");
               my $o = join('', @o);
               if ($o =~ /^Inkscape\s+([0-9a-zA-Z\._\-]+)\s+/i) {
                       my $mandatoryVersion = version->parse("0.49");
                       my $version = version->parse("$1");
                       if ($version < $mandatoryVersion) {
                               printErr("The convertion from $inext needs Inkscape $mandatoryVersion or higher.");
                               return;
                       }
               }
       }
       if ($isepsmode) {
               runCommandOrFail('inkscape', '--without-gui', '--export-area-page', '--export-eps', "$out", "$in");
       }
       else {
               runCommandOrFail('inkscape', '--without-gui', '--export-area-page', '--export-pdf', "$out", "$in");
       }
}
EOL