OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 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 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2013 Google Inc. All rights reserved. | 5 * Copyright (C) 2013 Google Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 #include "config.h" | 23 #include "config.h" |
24 #include "platform/graphics/filters/FEDiffuseLighting.h" | 24 #include "platform/graphics/filters/FEDiffuseLighting.h" |
25 | 25 |
26 #include "platform/graphics/filters/LightSource.h" | 26 #include "platform/graphics/filters/LightSource.h" |
27 #include "platform/text/TextStream.h" | 27 #include "platform/text/TextStream.h" |
28 | 28 |
29 namespace blink { | 29 namespace blink { |
30 | 30 |
31 FEDiffuseLighting::FEDiffuseLighting(Filter* filter, const Color& lightingColor,
float surfaceScale, | 31 FEDiffuseLighting::FEDiffuseLighting(Filter* filter, const Color& lightingColor,
float surfaceScale, |
32 float diffuseConstant, float kernelUnitLengthX, float kernelUnitLengthY, Pas
sRefPtr<LightSource> lightSource) | 32 float diffuseConstant, PassRefPtr<LightSource> lightSource) |
33 : FELighting(filter, DiffuseLighting, lightingColor, surfaceScale, diffuseCo
nstant, 0, 0, kernelUnitLengthX, kernelUnitLengthY, lightSource) | 33 : FELighting(filter, DiffuseLighting, lightingColor, surfaceScale, diffuseCo
nstant, 0, 0, lightSource) |
34 { | 34 { |
35 } | 35 } |
36 | 36 |
37 PassRefPtrWillBeRawPtr<FEDiffuseLighting> FEDiffuseLighting::create(Filter* filt
er, const Color& lightingColor, | 37 PassRefPtrWillBeRawPtr<FEDiffuseLighting> FEDiffuseLighting::create(Filter* filt
er, const Color& lightingColor, |
38 float surfaceScale, float diffuseConstant, float kernelUnitLengthX, | 38 float surfaceScale, float diffuseConstant, PassRefPtr<LightSource> lightSour
ce) |
39 float kernelUnitLengthY, PassRefPtr<LightSource> lightSource) | |
40 { | 39 { |
41 return adoptRefWillBeNoop(new FEDiffuseLighting(filter, lightingColor, surfa
ceScale, diffuseConstant, kernelUnitLengthX, kernelUnitLengthY, lightSource)); | 40 return adoptRefWillBeNoop(new FEDiffuseLighting(filter, lightingColor, surfa
ceScale, diffuseConstant, lightSource)); |
42 } | 41 } |
43 | 42 |
44 FEDiffuseLighting::~FEDiffuseLighting() | 43 FEDiffuseLighting::~FEDiffuseLighting() |
45 { | 44 { |
46 } | 45 } |
47 | 46 |
48 Color FEDiffuseLighting::lightingColor() const | 47 Color FEDiffuseLighting::lightingColor() const |
49 { | 48 { |
50 return m_lightingColor; | 49 return m_lightingColor; |
51 } | 50 } |
(...skipping 26 matching lines...) Expand all Loading... |
78 | 77 |
79 bool FEDiffuseLighting::setDiffuseConstant(float diffuseConstant) | 78 bool FEDiffuseLighting::setDiffuseConstant(float diffuseConstant) |
80 { | 79 { |
81 diffuseConstant = std::max(diffuseConstant, 0.0f); | 80 diffuseConstant = std::max(diffuseConstant, 0.0f); |
82 if (m_diffuseConstant == diffuseConstant) | 81 if (m_diffuseConstant == diffuseConstant) |
83 return false; | 82 return false; |
84 m_diffuseConstant = diffuseConstant; | 83 m_diffuseConstant = diffuseConstant; |
85 return true; | 84 return true; |
86 } | 85 } |
87 | 86 |
88 float FEDiffuseLighting::kernelUnitLengthX() const | |
89 { | |
90 return m_kernelUnitLengthX; | |
91 } | |
92 | |
93 bool FEDiffuseLighting::setKernelUnitLengthX(float kernelUnitLengthX) | |
94 { | |
95 if (m_kernelUnitLengthX == kernelUnitLengthX) | |
96 return false; | |
97 m_kernelUnitLengthX = kernelUnitLengthX; | |
98 return true; | |
99 } | |
100 | |
101 float FEDiffuseLighting::kernelUnitLengthY() const | |
102 { | |
103 return m_kernelUnitLengthY; | |
104 } | |
105 | |
106 bool FEDiffuseLighting::setKernelUnitLengthY(float kernelUnitLengthY) | |
107 { | |
108 if (m_kernelUnitLengthY == kernelUnitLengthY) | |
109 return false; | |
110 m_kernelUnitLengthY = kernelUnitLengthY; | |
111 return true; | |
112 } | |
113 | |
114 const LightSource* FEDiffuseLighting::lightSource() const | 87 const LightSource* FEDiffuseLighting::lightSource() const |
115 { | 88 { |
116 return m_lightSource.get(); | 89 return m_lightSource.get(); |
117 } | 90 } |
118 | 91 |
119 void FEDiffuseLighting::setLightSource(PassRefPtr<LightSource> lightSource) | 92 void FEDiffuseLighting::setLightSource(PassRefPtr<LightSource> lightSource) |
120 { | 93 { |
121 m_lightSource = lightSource; | 94 m_lightSource = lightSource; |
122 } | 95 } |
123 | 96 |
124 TextStream& FEDiffuseLighting::externalRepresentation(TextStream& ts, int indent
) const | 97 TextStream& FEDiffuseLighting::externalRepresentation(TextStream& ts, int indent
) const |
125 { | 98 { |
126 writeIndent(ts, indent); | 99 writeIndent(ts, indent); |
127 ts << "[feDiffuseLighting"; | 100 ts << "[feDiffuseLighting"; |
128 FilterEffect::externalRepresentation(ts); | 101 FilterEffect::externalRepresentation(ts); |
129 ts << " surfaceScale=\"" << m_surfaceScale << "\" " | 102 ts << " surfaceScale=\"" << m_surfaceScale << "\" " << "diffuseConstant=\""
<< m_diffuseConstant << "\"]\n"; |
130 << "diffuseConstant=\"" << m_diffuseConstant << "\" " | |
131 << "kernelUnitLength=\"" << m_kernelUnitLengthX << ", " << m_kernelUnitLe
ngthY << "\"]\n"; | |
132 inputEffect(0)->externalRepresentation(ts, indent + 1); | 103 inputEffect(0)->externalRepresentation(ts, indent + 1); |
133 return ts; | 104 return ts; |
134 } | 105 } |
135 | 106 |
136 } // namespace blink | 107 } // namespace blink |
OLD | NEW |