desktop-style.h revision b1de495260e5096494a86c58155e1c568898dab6
#ifndef __SP_DESKTOP_STYLE_H__
#define __SP_DESKTOP_STYLE_H__
/*
* Desktop style management
*
* Authors:
* bulia byak
* verbalshadow
*
* Copyright (C) 2004, 2006 authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
struct SPCSSAttr;
struct SPDesktop;
struct SPObject;
struct SPStyle;
struct Node;
}
}
enum { // what kind of a style the query is returning
QUERY_STYLE_NOTHING, // nothing was queried - e.g. no selection
QUERY_STYLE_SINGLE, // single object was queried
QUERY_STYLE_MULTIPLE_SAME, // multiple objects were queried, the results were the same
QUERY_STYLE_MULTIPLE_DIFFERENT, // multiple objects were queried, the results could NOT be meaningfully averaged
QUERY_STYLE_MULTIPLE_AVERAGED // multiple objects were queried, the results were meaningfully averaged
};
enum { // which property was queried (add when you need more)
QUERY_STYLE_PROPERTY_FILL, // fill, fill-opacity
QUERY_STYLE_PROPERTY_STROKE, // stroke, stroke-opacity
QUERY_STYLE_PROPERTY_STROKEWIDTH, // stroke-width
QUERY_STYLE_PROPERTY_STROKEMITERLIMIT, // miter limit
QUERY_STYLE_PROPERTY_STROKEJOIN, // stroke join
QUERY_STYLE_PROPERTY_STROKECAP, // stroke cap
QUERY_STYLE_PROPERTY_STROKESTYLE, // markers, dasharray, miterlimit, stroke-width, stroke-cap, stroke-join
QUERY_STYLE_PROPERTY_FONT_SPECIFICATION, //-inkscape-font-specification
QUERY_STYLE_PROPERTY_FONTFAMILY, // font-family
QUERY_STYLE_PROPERTY_FONTSTYLE, // font style
QUERY_STYLE_PROPERTY_FONTNUMBERS, // size, spacings
QUERY_STYLE_PROPERTY_MASTEROPACITY, // opacity
QUERY_STYLE_PROPERTY_BLEND, // blend
QUERY_STYLE_PROPERTY_BLUR // blur
};
void sp_desktop_set_style(SPDesktop *desktop, SPCSSAttr *css, bool change = true, bool write_current = true);
double sp_desktop_get_master_opacity_tool(SPDesktop *desktop, char const *tool, bool* has_opacity = NULL);
guint32 sp_desktop_get_color_tool(SPDesktop *desktop, char const *tool, bool is_fill, bool* has_color = NULL);
void sp_desktop_apply_style_tool(SPDesktop *desktop, Inkscape::XML::Node *repr, char const *tool, bool with_text);
#endif
/*
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:encoding=utf-8:textwidth=99 :