KHtml

SVGFontFaceSrcElement.cpp
1 /*
2  Copyright (C) 2007 Eric Seidel <[email protected]>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18  */
19 
20 #if ENABLE(SVG_FONTS)
21 #include "SVGFontFaceSrcElement.h"
22 
23 #include "CSSValueList.h"
24 #include "CSSFontFaceSrcValue.h"
25 #include "SVGFontFaceElement.h"
26 #include "SVGFontFaceNameElement.h"
27 #include "SVGFontFaceUriElement.h"
28 #include "SVGNames.h"
29 
30 namespace WebCore
31 {
32 
33 using namespace SVGNames;
34 
35 SVGFontFaceSrcElement::SVGFontFaceSrcElement(const QualifiedName &tagName, Document *doc)
36  : SVGElement(tagName, doc)
37 {
38 }
39 
40 PassRefPtr<CSSValueList> SVGFontFaceSrcElement::srcValue() const
41 {
42  RefPtr<CSSValueList> list = new CSSValueList; // ### CSSValueListImpl(CSSValueListImpl::Comma)
43  for (Node *child = firstChild(); child; child = child->nextSibling()) {
44  if (child->hasTagName(font_face_uriTag)) {
45  list->append(static_cast<SVGFontFaceUriElement *>(child)->srcValue());
46  } else if (child->hasTagName(font_face_nameTag)) {
47  list->append(static_cast<SVGFontFaceNameElement *>(child)->srcValue());
48  }
49  }
50  return list;
51 }
52 
53 void SVGFontFaceSrcElement::childrenChanged(bool changedByParser, Node *beforeChange, Node *afterChange, int childCountDelta)
54 {
55  SVGElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
56  if (parentNode() && parentNode()->hasTagName(font_faceTag)) {
57  static_cast<SVGFontFaceElement *>(parentNode())->rebuildFontFace();
58  }
59 }
60 
61 }
62 
63 #endif // ENABLE(SVG_FONTS)
void append(const T &value)
MESSAGECORE_EXPORT KMime::Content * firstChild(const KMime::Content *node)
KIOFILEWIDGETS_EXPORT QStringList list(const QString &fileClass)
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Oct 26 2021 22:48:10 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.