From bb8c80451efac613442f77de66d246065ffa4fcf Mon Sep 17 00:00:00 2001 From: Niko Kiirala Date: Tue, 29 May 2007 10:47:04 +0000 Subject: Added support for in-parameter in filter primitives (bzr r3041) --- src/sp-filter.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/sp-filter.cpp') diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp index ac0d3d29e..43f2dc9d2 100644 --- a/src/sp-filter.cpp +++ b/src/sp-filter.cpp @@ -17,6 +17,11 @@ # include "config.h" #endif +#include +#include +using std::map; +using std::pair; + #include "attributes.h" #include "document.h" #include "sp-filter.h" @@ -454,6 +459,31 @@ int sp_filter_primitive_count(SPFilter *filter) { return filter->_primitive_count; } +int sp_filter_get_image_name(SPFilter *filter, gchar const *name) { + gchar *name_copy = strdup(name); + map::iterator result = filter->_image_name.find(name_copy); + free(name_copy); + if (result == filter->_image_name.end()) return -1; + else return (*result).second; +} + +int sp_filter_set_image_name(SPFilter *filter, gchar const *name) { + int value = filter->_image_number_next; + filter->_image_number_next++; + gchar *name_copy = strdup(name); + pair::iterator,bool> ret = filter->_image_name.insert(pair(name_copy, value)); + if (ret.second == false) { + return (*ret.first).second; + } + return value; +} + +bool ltstr::operator()(const char* s1, const char* s2) const +{ + return strcmp(s1, s2) < 0; +} + + /* Local Variables: mode:c++ -- cgit v1.2.3