effect.h revision a69e3ca5fcc8acacf862c577620d75f472d58cec
#ifndef INKSCAPE_LIVEPATHEFFECT_H
#define INKSCAPE_LIVEPATHEFFECT_H
/*
* Inkscape::LivePathEffect
*
* Copyright (C) Johan Engelen 2007-2008 <j.b.c.engelen@utwente.nl>
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include "display/display-forward.h"
#include <map>
#include "ui/widget/registry.h"
#include "sp-lpe-item.h"
#include "knotholder.h"
#include "effect-enum.h"
struct SPDocument;
struct SPDesktop;
struct SPItem;
struct LivePathEffectObject;
}
}
}
enum LPEPathFlashType {
// PERMANENT_FLASH,
};
EffectType effectType ();
void writeParamsToSVG();
/*
* isReady() indicates whether all preparations which are necessary to apply the LPE are done,
* e.g., waiting for a parameter path either before the effect is created or when it needs a
* path as argument. This is set in sp_lpe_item_add_path_effect().
*/
/**
* Sets all parameters to their default values and writes them to SVG.
*/
/// /todo: is this method really necessary? it causes UI inconsistensies... (johan)
// /TODO: providesKnotholder() is currently used as an indicator of whether a nodepath is
// created for an item or not. When we allow both at the same time, this needs rethinking!
bool providesKnotholder();
// /TODO: in view of providesOwnFlashPaths() below, this is somewhat redundant
// (but spiro lpe still needs it!)
inline bool providesOwnFlashPaths() {
return provides_own_flash_paths || show_orig_path;
}
inline bool showOrigPath() { return show_orig_path; }
SPDocument * getSPDoc();
inline bool isVisible() { return is_visible; }
// provide a set of doEffect functions so the developer has a choice
// the order in which they appear is the order in which they are
// called by this base class. (i.e. doEffect(SPCurve * curve) defaults to calling
// doEffect(std::vector<Geom::Path> )
//virtual std::vector<Geom::PathVector> getCanvasIndicators(SPLPEItem *lpeitem);
int oncanvasedit_it;
// convenience, because they may interfere with node handles
// during editing); this is probably only temporary
bool show_orig_path; // set this to true in derived effects to automatically have the original
// path displayed as helperpath
// this boolean defaults to false, it concatenates the input path to one pwd2,
// instead of normally 'splitting' the path into continuous pwd2 paths.
bool concatenate_before_pwd2;
bool provides_own_flash_paths; // if true, the standard flash path is suppressed
bool is_ready;
};
} //namespace LivePathEffect
} //namespace Inkscape
#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 :