/** * Sets a specific value in the SPFeFuncNode. */ static void sp_fefuncnode_set(SPObject *object, unsigned int key, gchar const *value) { SPFeFuncNode *feFuncNode = SP_FEFUNCNODE(object); Inkscape::Filters::FilterComponentTransferType type; double read_num; switch(key) { case SP_ATTR_TYPE: type = sp_feComponenttransfer_read_type(value); if(type != feFuncNode->type) { feFuncNode->type = type; object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_TABLEVALUES: if (value) { feFuncNode->tableValues = helperfns_read_vector(value); object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_SLOPE: read_num = value ? helperfns_read_number(value) : 1; if (read_num != feFuncNode->slope) { feFuncNode->slope = read_num; object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_INTERCEPT: read_num = value ? helperfns_read_number(value) : 0; if (read_num != feFuncNode->intercept) { feFuncNode->intercept = read_num; object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_AMPLITUDE: read_num = value ? helperfns_read_number(value) : 1; if (read_num != feFuncNode->amplitude) { feFuncNode->amplitude = read_num; object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_EXPONENT: read_num = value ? helperfns_read_number(value) : 1; if (read_num != feFuncNode->exponent) { feFuncNode->exponent = read_num; object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_OFFSET: read_num = value ? helperfns_read_number(value) : 0; if (read_num != feFuncNode->offset) { feFuncNode->offset = read_num; object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; default: if (((SPObjectClass *) feFuncNode_parent_class)->set) ((SPObjectClass *) feFuncNode_parent_class)->set(object, key, value); break; } }
/** * Sets a specific value in the SPFeFuncNode. */ void SPFeFuncNode::set(unsigned int key, gchar const *value) { Inkscape::Filters::FilterComponentTransferType type; double read_num; switch(key) { case SP_ATTR_TYPE: type = sp_feComponenttransfer_read_type(value); if(type != this->type) { this->type = type; this->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_TABLEVALUES: if (value){ this->tableValues = helperfns_read_vector(value); this->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_SLOPE: read_num = value ? helperfns_read_number(value) : 1; if (read_num != this->slope) { this->slope = read_num; this->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_INTERCEPT: read_num = value ? helperfns_read_number(value) : 0; if (read_num != this->intercept) { this->intercept = read_num; this->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_AMPLITUDE: read_num = value ? helperfns_read_number(value) : 1; if (read_num != this->amplitude) { this->amplitude = read_num; this->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_EXPONENT: read_num = value ? helperfns_read_number(value) : 1; if (read_num != this->exponent) { this->exponent = read_num; this->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; case SP_ATTR_OFFSET: read_num = value ? helperfns_read_number(value) : 0; if (read_num != this->offset) { this->offset = read_num; this->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } break; default: SPObject::set(key, value); break; } }