From 179fa413b047bede6e32109e2ce82437c5fb8d34 Mon Sep 17 00:00:00 2001 From: MenTaLguY Date: Mon, 16 Jan 2006 02:36:01 +0000 Subject: moving trunk for module inkscape (bzr r1) --- src/extension/internal/svgz.cpp | 99 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 src/extension/internal/svgz.cpp (limited to 'src/extension/internal/svgz.cpp') diff --git a/src/extension/internal/svgz.cpp b/src/extension/internal/svgz.cpp new file mode 100644 index 000000000..d56ac31b2 --- /dev/null +++ b/src/extension/internal/svgz.cpp @@ -0,0 +1,99 @@ +/* + * Code to handle compressed SVG loading and saving. Almost identical to svg + * routines, but separated for simpler extension maintenance. + * + * Authors: + * Lauris Kaplinski + * Ted Gould + * Jon A. Cruz + * + * Copyright (C) 2002-2005 Authors + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#include "svgz.h" +#include "extension/system.h" + +namespace Inkscape { +namespace Extension { +namespace Internal { + +/** + \return None + \brief What would an SVG editor be without loading/saving SVG + files. This function sets that up. + + For each module there is a call to Inkscape::Extension::build_from_mem + with a rather large XML file passed in. This is a constant string + that describes the module. At the end of this call a module is + returned that is basically filled out. The one thing that it doesn't + have is the key function for the operation. And that is linked at + the end of each call. +*/ +void +Svgz::init(void) +{ + Inkscape::Extension::Extension * ext; + + /* SVGZ in */ + ext = Inkscape::Extension::build_from_mem( + "\n" + "SVGZ Input\n" + "" SP_MODULE_KEY_INPUT_SVGZ "\n" + "" SP_MODULE_KEY_INPUT_SVG "\n" + "\n" + ".svgz\n" + "image/x-svgz\n" + "Compressed Inkscape SVG (*.svgz)\n" + "SVG file format compressed with GZip\n" + "" SP_MODULE_KEY_OUTPUT_SVGZ_INKSCAPE "\n" + "\n" + "", new Svgz()); + + /* SVGZ out Inkscape */ + ext = Inkscape::Extension::build_from_mem( + "\n" + "SVGZ Output\n" + "" SP_MODULE_KEY_OUTPUT_SVGZ_INKSCAPE "\n" + "\n" + ".svgz\n" + "image/x-svgz\n" + "Compressed Inkscape SVG (*.svgz)\n" + "Inkscape's native file format compressed with GZip\n" + "FALSE\n" + "\n" + "", new Svgz()); + + /* SVGZ out */ + ext = Inkscape::Extension::build_from_mem( + "\n" + "SVGZ Output\n" + "" SP_MODULE_KEY_OUTPUT_SVGZ "\n" + "\n" + ".svgz\n" + "image/x-svgz\n" + "Compressed plain SVG (*.svgz)\n" + "Scalable Vector Graphics format compressed with GZip\n" + "\n" + "\n", new Svgz()); + + return; +} + + +} } } // namespace inkscape, module, implementation + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : -- cgit v1.2.3