]> git.saurik.com Git - iphone-api.git/blob - WebCore/RenderSVGGradientStop.h
Adding the WebCore headers (for Cydget).
[iphone-api.git] / WebCore / RenderSVGGradientStop.h
1 /*
2 * This file is part of the WebKit project.
3 *
4 * Copyright (C) 2007 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 * along 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
23 #ifndef RenderSVGGradientStop_h
24 #define RenderSVGGradientStop_h
25
26 #if ENABLE(SVG)
27 #include "RenderObject.h"
28
29 namespace WebCore {
30
31 class SVGGradientElement;
32 class SVGStopElement;
33
34 // This class exists mostly so we can hear about gradient stop style changes
35 class RenderSVGGradientStop : public RenderObject {
36 public:
37 RenderSVGGradientStop(SVGStopElement*);
38 virtual ~RenderSVGGradientStop();
39
40 virtual const char* renderName() const { return "RenderSVGGradientStop"; }
41
42 virtual void layout();
43
44 // This override is needed to prevent crashing on <svg><stop /></svg>
45 // RenderObject's default impl asks the parent Object and RenderSVGRoot
46 // asks all child RenderObjects for overflow rects, thus infinite loop.
47 // https://bugs.webkit.org/show_bug.cgi?id=20400
48 virtual IntRect clippedOverflowRectForRepaint(RenderBox*) { return IntRect(); }
49
50 protected:
51 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
52
53 private:
54 SVGGradientElement* gradientElement() const;
55 };
56 }
57
58 #endif // ENABLE(SVG)
59 #endif // RenderSVGGradientStop_h