1/**
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2009 Apple Computer, Inc.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public License
16 * along with this library; see the file COPYING.LIB.  If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 */
20#include "config.h"
21#include "ShadowValue.h"
22
23#include "CSSPrimitiveValue.h"
24#include "PlatformString.h"
25
26namespace WebCore {
27
28// Used for text-shadow and box-shadow
29ShadowValue::ShadowValue(PassRefPtr<CSSPrimitiveValue> _x,
30    PassRefPtr<CSSPrimitiveValue> _y,
31    PassRefPtr<CSSPrimitiveValue> _blur,
32    PassRefPtr<CSSPrimitiveValue> _spread,
33    PassRefPtr<CSSPrimitiveValue> _style,
34    PassRefPtr<CSSPrimitiveValue> _color)
35    : x(_x)
36    , y(_y)
37    , blur(_blur)
38    , spread(_spread)
39    , style(_style)
40    , color(_color)
41{
42}
43
44String ShadowValue::cssText() const
45{
46    String text("");
47
48    if (color)
49        text += color->cssText();
50    if (x) {
51        if (!text.isEmpty())
52            text += " ";
53        text += x->cssText();
54    }
55    if (y) {
56        if (!text.isEmpty())
57            text += " ";
58        text += y->cssText();
59    }
60    if (blur) {
61        if (!text.isEmpty())
62            text += " ";
63        text += blur->cssText();
64    }
65    if (spread) {
66        if (!text.isEmpty())
67            text += " ";
68        text += spread->cssText();
69    }
70    if (style) {
71        if (!text.isEmpty())
72            text += " ";
73        text += style->cssText();
74    }
75
76    return text;
77}
78
79}
80