File indexing completed on 2024-04-28 15:24:27

0001 /*
0002     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
0003                   2004, 2005, 2006 Rob Buis <buis@kde.org>
0004     Copyright (C) 2008 Apple Computer, Inc.
0005 
0006     This library is free software; you can redistribute it and/or
0007     modify it under the terms of the GNU Library General Public
0008     License as published by the Free Software Foundation; either
0009     version 2 of the License, or (at your option) any later version.
0010 
0011     This library is distributed in the hope that it will be useful,
0012     but WITHOUT ANY WARRANTY; without even the implied warranty of
0013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0014     Library General Public License for more details.
0015 
0016     You should have received a copy of the GNU Library General Public License
0017     along with this library; see the file COPYING.LIB.  If not, write to
0018     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0019     Boston, MA 02110-1301, USA.
0020 */
0021 
0022 #ifndef SVGAltGlyphElement_h
0023 #define SVGAltGlyphElement_h
0024 #if ENABLE(SVG_FONTS)
0025 
0026 #include "AtomicString.h"
0027 #include "SVGTextPositioningElement.h"
0028 #include "SVGURIReference.h"
0029 
0030 namespace WebCore
0031 {
0032 class SVGGlyphElement;
0033 
0034 class SVGAltGlyphElement : public SVGTextPositioningElement, public SVGURIReference
0035 {
0036 public:
0037     SVGAltGlyphElement(const QualifiedName &, Document *);
0038     virtual ~SVGAltGlyphElement();
0039 
0040     RenderObject *createRenderer(RenderArena *, RenderStyle *) override;
0041     bool childShouldCreateRenderer(Node *) const override;
0042 
0043     DOMString glyphRef() const;
0044     void setGlyphRef(const DOMString &, ExceptionCode &);
0045     DOMString format() const;
0046     void setFormat(const DOMString &, ExceptionCode &);
0047 
0048     SVGGlyphElement *glyphElement() const;
0049 
0050     // KHTML ElementImpl pure virtual method
0051     quint32 id() const override
0052     {
0053         return SVGNames::textTag.id();
0054     }
0055 
0056 protected:
0057     const SVGElement *contextElement() const override
0058     {
0059         return this;
0060     }
0061 };
0062 
0063 } // namespace WebCore
0064 
0065 #endif // ENABLE(SVG)
0066 #endif
0067