/*
9 * Copyright (C) 2018 Authors
10 * Released under GNU LGPL v2.1+, read the file
'COPYING' for more information.
13#ifndef EXTENSION_INTERNAL_ODG_OUT_H
14#define EXTENSION_INTERNAL_ODG_OUT_H
20#include <glibmm/ustring.h>
126 {
assign(other);
return *
this; }
212 for (
unsigned int i=0 ; i<
stops.size() ; i++)
261 char const *filename)
override;
301 bool processStyle(
SPItem *
item,
const Glib::ustring &
id,
const Glib::ustring &gradientNameFill,
const Glib::ustring &gradientNameStroke, Glib::ustring& output);
304 const Glib::ustring &
id,
Geom::Affine &tf, Glib::ustring& gradientName, Glib::ustring& output,
bool checkFillGradient =
true);
3x3 matrix representing an affine transformation.
The object that is the basis for the Extension system.
Base class for all implementations of modules.
void assign(const GradientInfo &other)
std::vector< GradientStop > stops
bool equals(const GradientInfo &other)
GradientInfo & operator=(const GradientInfo &other)
GradientInfo(const GradientInfo &other)
virtual ~GradientInfo()=default
virtual ~GradientStop()=default
GradientStop(const GradientStop &other)
virtual GradientStop & operator=(const GradientStop &other)
void assign(const GradientStop &other)
GradientStop(unsigned long rgbArg, double opacityArg)
OpenDocument <drawing> input and output.
bool check(Inkscape::Extension::Extension *module) override
Make sure that we are in the database.
bool writeContentHeader(Writer &outs)
Write the header for the content.xml file.
std::map< Glib::ustring, Glib::ustring > styleLookupTable
std::map< Glib::ustring, Glib::ustring > imageTable
std::map< Glib::ustring, Glib::ustring > gradientLookupTable
void save(Inkscape::Extension::Output *mod, SPDocument *doc, char const *filename) override
Descends into the SVG tree, mapping things to ODF when appropriate.
void preprocess(ZipFile &zf, SPDocument *doc, Inkscape::XML::Node *node)
FIRST PASS.
bool writeContentFooter(Writer &outs)
Write the footer for the content.xml file.
bool processStyle(SPItem *item, const Glib::ustring &id, const Glib::ustring &gradientNameFill, const Glib::ustring &gradientNameStroke, Glib::ustring &output)
std::vector< GradientInfo > gradientTable
void reset()
Resets class to its pristine condition, ready to use again.
bool writeManifest(ZipFile &zf)
Writes the manifest.
bool writeTree(Writer &couts, Writer &souts, SPDocument *doc, Inkscape::XML::Node *node)
SECOND PASS.
std::vector< StyleInfo > styleTable
bool writeStyle(ZipFile &zf)
bool writeMeta(ZipFile &zf)
This writes the document meta information to meta.xml.
std::map< Glib::ustring, Glib::ustring > metadata
static void init()
This is the definition of PovRay output.
bool writeStyleHeader(Writer &outs)
Write the header for the content.xml file.
bool writeContent(ZipFile &zf, SPDocument *doc)
Write the content.xml file.
bool processGradient(SPItem *item, const Glib::ustring &id, Geom::Affine &tf, Glib::ustring &gradientName, Glib::ustring &output, bool checkFillGradient=true)
bool writeStyleFooter(Writer &outs)
Write the footer for the style.xml file.
virtual ~StyleInfo()=default
bool equals(const StyleInfo &other)
Glib::ustring strokeColor
void assign(const StyleInfo &other)
StyleInfo(const StyleInfo &other)
StyleInfo & operator=(const StyleInfo &other)
Glib::ustring fillOpacity
Glib::ustring strokeOpacity
Glib::ustring strokeWidth
This interface and its descendants are for unicode character-oriented output.
Interface for refcounted XML nodes.
Typed SVG document implementation.
Base class for visual SVG elements.
This class sits over the zlib and gzip code to implement a PKWare or Info-Zip .zip file reader and wr...
Inkscape::XML::Node * node
Various utility functions.
Inkscape::IO::Writer Writer