1 /*
2 Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 2004, 2005 Rob Buis <buis@kde.org>
4 2005 Eric Seidel <eric@webkit.org>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public License
17 aint with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20 */
21
22 #if ENABLE(SVG) && ENABLE(SVG_FILTERS)
23 #include "SVGPointLightSource.h"
24 #include "SVGRenderTreeAsText.h"
25 #include "SVGSpotLightSource.h"
26 #include "SVGDistantLightSource.h"
27
28 namespace WebCore
29 {
30
operator <<(TextStream & ts,const FloatPoint3D & p)31 static TextStream &operator<<(TextStream &ts, const FloatPoint3D &p)
32 {
33 ts << "x=" << p.x() << " y=" << p.y() << " z=" << p.z();
34 return ts;
35 }
36
externalRepresentation(TextStream & ts) const37 TextStream &SVGPointLightSource::externalRepresentation(TextStream &ts) const
38 {
39 ts << "[type=POINT-LIGHT] ";
40 ts << "[position=\"" << position() << "\"]";
41 return ts;
42 }
43
externalRepresentation(TextStream & ts) const44 TextStream &SVGSpotLightSource::externalRepresentation(TextStream &ts) const
45 {
46 ts << "[type=SPOT-LIGHT] ";
47 ts << "[position=\"" << position() << "\"]";
48 ts << "[direction=\"" << direction() << "\"]";
49 ts << "[specularExponent=\"" << specularExponent() << "\"]";
50 ts << "[limitingConeAngle=\"" << limitingConeAngle() << "\"]";
51 return ts;
52 }
53
externalRepresentation(TextStream & ts) const54 TextStream &SVGDistantLightSource::externalRepresentation(TextStream &ts) const
55 {
56 ts << "[type=DISTANT-LIGHT] ";
57 ts << "[azimuth=\"" << azimuth() << "\"]";
58 ts << "[elevation=\"" << elevation() << "\"]";
59 return ts;
60 }
61
62 } // namespace WebCore
63
64 #endif // ENABLE(SVG) && ENABLE(SVG_FILTERS)
65