summaryrefslogtreecommitdiffstats
path: root/src/live_effects/parameter/array.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-05-14 21:52:45 +0000
committerjabiertxof <info@marker.es>2016-05-14 21:52:45 +0000
commit4c145e43f8ab8d8040fb2fa42309f7bd400f6349 (patch)
tree6f2336cd01002e50ee29f95ddf006b89c0e6fac4 /src/live_effects/parameter/array.cpp
parentupdate to trunk (diff)
downloadinkscape-4c145e43f8ab8d8040fb2fa42309f7bd400f6349.tar.gz
inkscape-4c145e43f8ab8d8040fb2fa42309f7bd400f6349.zip
Fixing pointwise
(bzr r13645.1.135)
Diffstat (limited to '')
-rw-r--r--src/live_effects/parameter/array.cpp68
1 files changed, 27 insertions, 41 deletions
diff --git a/src/live_effects/parameter/array.cpp b/src/live_effects/parameter/array.cpp
index c9e2d6563..3d2e7773d 100644
--- a/src/live_effects/parameter/array.cpp
+++ b/src/live_effects/parameter/array.cpp
@@ -13,44 +13,6 @@ namespace Inkscape {
namespace LivePathEffect {
-//TODO: move maybe
-unsigned int
-sp_svg_satellite_vector_read_d(gchar const *str, std::vector<Satellite> *subpath_satellites){
- if (!str) {
- return 0;
- }
- gchar ** strarray = g_strsplit(str, " @ ", 0);
- gchar ** iter = strarray;
- while (*iter != NULL) {
- gchar ** strsubarray = g_strsplit(*iter, ",", 7);
- if(strlen(str) > 0 && strsubarray[6] && !strsubarray[7]){
- Satellite satellite;
- satellite.setSatelliteType(g_strstrip(strsubarray[0]));
- satellite.is_time = strncmp(strsubarray[1],"1",1) == 0;
- satellite.has_mirror = strncmp(strsubarray[2],"1",1) == 0;
- satellite.hidden = strncmp(strsubarray[3],"1",1) == 0;
- double amount,angle;
- float stepsTmp;
- sp_svg_number_read_d(strsubarray[4], &amount);
- sp_svg_number_read_d(strsubarray[5], &angle);
- sp_svg_number_read_f(strsubarray[6], &stepsTmp);
- unsigned int steps = (unsigned int)stepsTmp;
- satellite.amount = amount;
- satellite.angle = angle;
- satellite.steps = steps;
- subpath_satellites->push_back(satellite);
- g_strfreev (strsubarray);
- }
- iter++;
- }
- g_strfreev (strarray);
- if (!subpath_satellites->empty()){
- return 1;
- }
- return 0;
-}
-
-
template <>
double
ArrayParam<double>::readsvg(const gchar * str)
@@ -89,11 +51,35 @@ template <>
std::vector<Satellite>
ArrayParam<std::vector<Satellite > >::readsvg(const gchar * str)
{
- std::vector<Satellite > subpath_satellites;
- if (sp_svg_satellite_vector_read_d(str, &subpath_satellites)) {
+ std::vector<Satellite> subpath_satellites;
+ if (!str) {
return subpath_satellites;
}
- subpath_satellites.push_back(Satellite(FILLET));
+ gchar ** strarray = g_strsplit(str, "@", 0);
+ gchar ** iter = strarray;
+ while (*iter != NULL) {
+ gchar ** strsubarray = g_strsplit(*iter, ",", 7);
+ if(*strsubarray[6]){
+ Satellite satellite;
+ satellite.setSatelliteType(g_strstrip(strsubarray[0]));
+ satellite.is_time = strncmp(strsubarray[1],"1",1) == 0;
+ satellite.has_mirror = strncmp(strsubarray[2],"1",1) == 0;
+ satellite.hidden = strncmp(strsubarray[3],"1",1) == 0;
+ double amount,angle;
+ float stepsTmp;
+ sp_svg_number_read_d(strsubarray[4], &amount);
+ sp_svg_number_read_d(strsubarray[5], &angle);
+ sp_svg_number_read_f(g_strstrip(strsubarray[6]), &stepsTmp);
+ unsigned int steps = (unsigned int)stepsTmp;
+ satellite.amount = amount;
+ satellite.angle = angle;
+ satellite.steps = steps;
+ subpath_satellites.push_back(satellite);
+ }
+ g_strfreev (strsubarray);
+ iter++;
+ }
+ g_strfreev (strarray);
return subpath_satellites;
}