/*
* Authors:
* miklos erdelyi
*
* Copyright (C) 2007 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#ifdef HAVE_POPPLER
struct Document;
}
}
#include "CharTypes.h"
struct GfxColor;
struct GfxRGB;
#include <vector>
#include <glib.h>
struct SvgTransparencyGroup;
/**
* Holds information about the current softmask and group depth for use of libpoppler.
* Could be later used to store other graphics state parameters so that we could
* emit only the differences in style settings from the parent state.
*/
struct SvgGraphicsState {
};
/**
* Holds information about glyphs added by PdfParser which haven't been added
* to the document yet.
*/
struct SvgGlyph {
bool is_space;
};
/**
* Builds the inner SVG representation using libpoppler from the calls of PdfParser.
*/
virtual ~SvgBuilder();
// Property setting
void setGroupOpacity(double opacity);
return _preferences;
}
// Handling the node stack
// Path adding
// Image handling
bool invert, bool interpolate);
bool invert_mask, bool mask_interpolate);
// Transparency group and soft mask handling
bool for_softmask);
// Text handling
// State manipulation
void saveState();
void restoreState();
// Clipping
// Transforming
double c5);
void setTransform(double const *transform);
bool getTransform(double *transform);
void _init();
// Pattern creation
bool is_stroke=false);
int *mask_colors, bool alpha_only=false,
bool invert_alpha=false);
// Style setting
void _flushText(); // Write buffered text into doc
// Handling of node stack
char *_font_specification;
double _font_scaling;
bool _need_font_update;
bool _invalidated_style;
std::vector<std::string> _availableFontNames; // Full names, used for matching font names (Bug LP #179589).
bool _ttm_is_set;
};
} // namespace Internal
} // namespace Extension
} // namespace Inkscape
#endif // HAVE_POPPLER
#endif // SEEN_EXTENSION_INTERNAL_PDFINPUT_SVGBUILDER_H
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :