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