KHtml

RenderSVGHiddenContainer.h
1 /*
2  * This file is part of the WebKit project.
3  *
4  * Copyright (C) 2007 Eric Seidel <[email protected]>
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 RenderSVGHiddenContainer_h
24 #define RenderSVGHiddenContainer_h
25 
26 #if ENABLE(SVG)
27 
28 #include "RenderSVGContainer.h"
29 
30 namespace WebCore
31 {
32 
33 class SVGStyledElement;
34 
35 // This class is for containers which are never drawn, but do need to support style
36 // <defs>, <linearGradient>, <radialGradient> are all good examples
37 class RenderSVGHiddenContainer : public RenderSVGContainer
38 {
39 public:
40  RenderSVGHiddenContainer(SVGStyledElement *);
41  virtual ~RenderSVGHiddenContainer();
42 
43  bool isSVGContainer() const override
44  {
45  return true;
46  }
47  bool isSVGHiddenContainer() const override
48  {
49  return true;
50  }
51 
52  const char *renderName() const override
53  {
54  return "RenderSVGHiddenContainer";
55  }
56 
57  bool requiresLayer() const override;
58 
59  short lineHeight(bool b) const override;
60  short baselinePosition(bool b) const override;
61 
62  void layout() override;
63  void paint(PaintInfo &, int parentX, int parentY) override;
64 
65  IntRect absoluteClippedOverflowRect() override;
66  void absoluteRects(Vector<IntRect> &rects, int tx, int ty, bool topLevel = true) override;
67 
68  AffineTransform absoluteTransform() const override;
69  AffineTransform localTransform() const override;
70 
71  FloatRect relativeBBox(bool includeStroke = true) const override;
72  /*virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);*/
73 };
74 }
75 
76 #endif // ENABLE(SVG)
77 #endif // RenderSVGHiddenContainer_h
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Oct 16 2021 22:48:01 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.