OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 if (name == SVGNames::inAttr) { | 71 if (name == SVGNames::inAttr) { |
72 setIn1BaseValue(value); | 72 setIn1BaseValue(value); |
73 return; | 73 return; |
74 } | 74 } |
75 | 75 |
76 ASSERT_NOT_REACHED(); | 76 ASSERT_NOT_REACHED(); |
77 } | 77 } |
78 | 78 |
79 PassRefPtr<FilterEffect> SVGFEComponentTransferElement::build(SVGFilterBuilder*
filterBuilder, Filter* filter) | 79 PassRefPtr<FilterEffect> SVGFEComponentTransferElement::build(SVGFilterBuilder*
filterBuilder, Filter* filter) |
80 { | 80 { |
81 FilterEffect* input1 = filterBuilder->getEffectById(in1()); | 81 FilterEffect* input1 = filterBuilder->getEffectById(in1CurrentValue()); |
82 | 82 |
83 if (!input1) | 83 if (!input1) |
84 return 0; | 84 return 0; |
85 | 85 |
86 ComponentTransferFunction red; | 86 ComponentTransferFunction red; |
87 ComponentTransferFunction green; | 87 ComponentTransferFunction green; |
88 ComponentTransferFunction blue; | 88 ComponentTransferFunction blue; |
89 ComponentTransferFunction alpha; | 89 ComponentTransferFunction alpha; |
90 | 90 |
91 for (Node* node = firstChild(); node; node = node->nextSibling()) { | 91 for (Node* node = firstChild(); node; node = node->nextSibling()) { |
92 if (node->hasTagName(SVGNames::feFuncRTag)) | 92 if (node->hasTagName(SVGNames::feFuncRTag)) |
93 red = static_cast<SVGFEFuncRElement*>(node)->transferFunction(); | 93 red = static_cast<SVGFEFuncRElement*>(node)->transferFunction(); |
94 else if (node->hasTagName(SVGNames::feFuncGTag)) | 94 else if (node->hasTagName(SVGNames::feFuncGTag)) |
95 green = static_cast<SVGFEFuncGElement*>(node)->transferFunction(); | 95 green = static_cast<SVGFEFuncGElement*>(node)->transferFunction(); |
96 else if (node->hasTagName(SVGNames::feFuncBTag)) | 96 else if (node->hasTagName(SVGNames::feFuncBTag)) |
97 blue = static_cast<SVGFEFuncBElement*>(node)->transferFunction(); | 97 blue = static_cast<SVGFEFuncBElement*>(node)->transferFunction(); |
98 else if (node->hasTagName(SVGNames::feFuncATag)) | 98 else if (node->hasTagName(SVGNames::feFuncATag)) |
99 alpha = static_cast<SVGFEFuncAElement*>(node)->transferFunction(); | 99 alpha = static_cast<SVGFEFuncAElement*>(node)->transferFunction(); |
100 } | 100 } |
101 | 101 |
102 RefPtr<FilterEffect> effect = FEComponentTransfer::create(filter, red, green
, blue, alpha); | 102 RefPtr<FilterEffect> effect = FEComponentTransfer::create(filter, red, green
, blue, alpha); |
103 effect->inputEffects().append(input1); | 103 effect->inputEffects().append(input1); |
104 return effect.release(); | 104 return effect.release(); |
105 } | 105 } |
106 | 106 |
107 } | 107 } |
OLD | NEW |