From 8409ddbdb2f2cd2f2b0c9bba9bce10fd6e771a0b Mon Sep 17 00:00:00 2001 From: Felipe Corr??a da Silva Sanches Date: Mon, 6 Aug 2007 22:14:47 +0000 Subject: setting of attributes and default values (bzr r3403) --- src/sp-fecomponenttransfer.cpp | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'src/sp-fecomponenttransfer.cpp') diff --git a/src/sp-fecomponenttransfer.cpp b/src/sp-fecomponenttransfer.cpp index 990951192..2bf3e809a 100644 --- a/src/sp-fecomponenttransfer.cpp +++ b/src/sp-fecomponenttransfer.cpp @@ -21,7 +21,7 @@ #include "svg/svg.h" #include "sp-fecomponenttransfer.h" #include "xml/repr.h" - +#include "display/nr-filter-component-transfer.h" /* FeComponentTransfer base class */ @@ -74,6 +74,14 @@ sp_feComponentTransfer_class_init(SPFeComponentTransferClass *klass) static void sp_feComponentTransfer_init(SPFeComponentTransfer *feComponentTransfer) { + //Setting default values: +//TODO: tableValues = "" (empty list); + feComponentTransfer->slope = 1; + feComponentTransfer->intercept = 0; + feComponentTransfer->amplitude = 1; + feComponentTransfer->exponent = 1; + feComponentTransfer->offset = 0; +// feComponentTransfer->type = NR::COMPONENTTRANSFER_TYPE_ERROR; } /** @@ -89,6 +97,13 @@ sp_feComponentTransfer_build(SPObject *object, SPDocument *document, Inkscape::X } /*LOAD ATTRIBUTES FROM REPR HERE*/ + sp_object_read_attr(object, "type"); + sp_object_read_attr(object, "tableValues"); + sp_object_read_attr(object, "slope"); + sp_object_read_attr(object, "intercept"); + sp_object_read_attr(object, "amplitude"); + sp_object_read_attr(object, "exponent"); + sp_object_read_attr(object, "offset"); } /** @@ -101,6 +116,28 @@ sp_feComponentTransfer_release(SPObject *object) ((SPObjectClass *) feComponentTransfer_parent_class)->release(object); } +static NR::FilterComponentTransferType sp_feComponenttransfer_read_type(gchar const *value){ + if (!value) return NR::COMPONENTTRANSFER_TYPE_ERROR; //type attribute is REQUIRED. + switch(value[0]){ + case 'i': + if (strncmp(value, "identity", 8) == 0) return NR::COMPONENTTRANSFER_TYPE_IDENTITY; + break; + case 't': + if (strncmp(value, "table", 5) == 0) return NR::COMPONENTTRANSFER_TYPE_TABLE; + break; + case 'd': + if (strncmp(value, "discrete", 8) == 0) return NR::COMPONENTTRANSFER_TYPE_DISCRETE; + break; + case 'l': + if (strncmp(value, "linear", 6) == 0) return NR::COMPONENTTRANSFER_TYPE_LINEAR; + break; + case 'g': + if (strncmp(value, "gamma", 5) == 0) return NR::COMPONENTTRANSFER_TYPE_GAMMA; + break; + } + return NR::COMPONENTTRANSFER_TYPE_ERROR; //type attribute is REQUIRED. +} + /** * Sets a specific value in the SPFeComponentTransfer. */ -- cgit v1.2.3