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

0001 /*
0002     Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
0003 
0004     This file is part of the KDE project
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 SVGElementInstanceList_h
0023 #define SVGElementInstanceList_h
0024 
0025 #if ENABLE(SVG)
0026 
0027 #include <wtf/RefCounted.h>
0028 #include "SVGElementInstance.h"
0029 
0030 namespace WebCore
0031 {
0032 class SVGElementInstanceList : public RefCounted<SVGElementInstanceList>
0033 {
0034 public:
0035     static PassRefPtr<SVGElementInstanceList> create(PassRefPtr<SVGElementInstance> rootInstance)
0036     {
0037         return adoptRef(new SVGElementInstanceList(rootInstance));
0038     }
0039     virtual ~SVGElementInstanceList();
0040 
0041     unsigned int length() const;
0042     RefPtr<SVGElementInstance> item(unsigned int index);
0043 
0044 private:
0045     SVGElementInstanceList(PassRefPtr<SVGElementInstance> rootInstance);
0046     RefPtr<SVGElementInstance> m_rootInstance;
0047 };
0048 } // namespace WebCore
0049 
0050 #endif // ENABLE(SVG)
0051 #endif
0052