/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* * This file is part of the libpict project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include #include #include #include #include #include #include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifndef VERSION #define VERSION "UNKNOWN VERSION" #endif namespace { int printUsage() { printf("Usage: pict2svg [OPTION] \n"); printf("\n"); printf("Options:\n"); printf("--help Shows this help message\n"); printf("--version Output pict2svg version \n"); return -1; } int printVersion() { printf("pict2svg %s\n", VERSION); return 0; } } // anonymous namespace int main(int argc, char *argv[]) { if (argc < 2) return printUsage(); char *file = 0; for (int i = 1; i < argc; i++) { if (!strcmp(argv[i], "--version")) return printVersion(); else if (!file && strncmp(argv[i], "--", 2)) file = argv[i]; else return printUsage(); } if (!file) return printUsage(); librevenge::RVNGFileStream input(file); if (!libpict::PictImage::isSupported(&input)) { std::cerr << "ERROR: Unsupported file format (unsupported version) or file is encrypted!" << std::endl; return 1; } librevenge::RVNGStringVector output; librevenge::RVNGSVGDrawingGenerator generator(output, ""); if (!libpict::PictImage::parse(&input, &generator)) { std::cerr << "ERROR: SVG Generation failed!" << std::endl; return 1; } if (output.empty()) { std::cerr << "ERROR: No SVG document generated!" << std::endl; return 1; } std::cout << "" << std::endl; std::cout << "" << std::endl; std::cout << "" << std::endl; std::cout << "" << std::endl; std::cout << "" << std::endl; for (unsigned k = 0; k0) std::cout << "
\n"; std::cout << "\n"; std::cout << output[k].cstr() << std::endl; } std::cout << "" << std::endl; std::cout << "" << std::endl; return 0; } /* vim:set shiftwidth=2 softtabstop=2 expandtab: */