18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *           (C) 1999 Antti Koivisto (koivisto@kde.org)
45af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke * Copyright (C) 2004, 2010 Apple Inc. All rights reserved.
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is free software; you can redistribute it and/or
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modify it under the terms of the GNU Library General Public
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License as published by the Free Software Foundation; either
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * version 2 of the License, or (at your option) any later version.
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is distributed in the hope that it will be useful,
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Library General Public License for more details.
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * You should have received a copy of the GNU Library General Public License
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * along with this library; see the file COPYING.LIB.  If not, write to
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Boston, MA 02110-1301, USA.
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef HTMLMapElement_h
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define HTMLMapElement_h
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "HTMLElement.h"
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass IntSize;
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass HitTestResult;
32d0825bca7fe65beaee391d30da42e937db621564Steve Blockclass HTMLImageElement;
33d0825bca7fe65beaee391d30da42e937db621564Steve Block
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass HTMLMapElement : public HTMLElement {
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic:
365af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke    static PassRefPtr<HTMLMapElement> create(Document*);
375af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke    static PassRefPtr<HTMLMapElement> create(const QualifiedName&, Document*);
385af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke    virtual ~HTMLMapElement();
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    const AtomicString& getName() const { return m_name; }
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    bool mapMouseEvent(int x, int y, const IntSize&, HitTestResult&);
43d0825bca7fe65beaee391d30da42e937db621564Steve Block
44d0825bca7fe65beaee391d30da42e937db621564Steve Block    HTMLImageElement* imageElement() const;
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    PassRefPtr<HTMLCollection> areas();
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprivate:
485af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke    HTMLMapElement(const QualifiedName&, Document*);
495af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke
505af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke    virtual void parseMappedAttribute(Attribute*);
515af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke
52545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    virtual void insertedIntoDocument();
53545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    virtual void removedFromDocument();
54545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AtomicString m_name;
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} //namespace
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
61