/* Copyright (C) 2000 Simon Hausmann Copyright (C) 2006 Apple Computer, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_EVENT_WITH_HIT_TEST_RESULTS_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_EVENT_WITH_HIT_TEST_RESULTS_H_ #include "third_party/blink/public/platform/web_gesture_event.h" #include "third_party/blink/public/platform/web_mouse_event.h" #include "third_party/blink/renderer/core/layout/hit_test_result.h" namespace blink { class Scrollbar; template class EventWithHitTestResults { STACK_ALLOCATED(); public: EventWithHitTestResults(const EventType& event, const HitTestLocation& location, const HitTestResult& hit_test_result) : event_(event), hit_test_result_(hit_test_result), hit_test_location_(location) {} const EventType& Event() const { return event_; } const HitTestResult& GetHitTestResult() const { return hit_test_result_; } LayoutPoint LocalPoint() const { return hit_test_result_.LocalPoint(); } Scrollbar* GetScrollbar() const { return hit_test_result_.GetScrollbar(); } bool IsOverLink() const { return hit_test_result_.IsOverLink(); } bool IsOverEmbeddedContentView() const { return hit_test_result_.IsOverEmbeddedContentView(); } Node* InnerNode() const { return hit_test_result_.InnerNode(); } Element* InnerElement() const { return hit_test_result_.InnerElement(); } const String& CanvasRegionId() const { return hit_test_result_.CanvasRegionId(); } const HitTestLocation& GetHitTestLocation() const { return hit_test_location_; } void SetHitTestLocation(const HitTestLocation& new_location) { hit_test_location_ = new_location; } private: EventType event_; HitTestResult hit_test_result_; HitTestLocation hit_test_location_; }; using MouseEventWithHitTestResults = EventWithHitTestResults; using GestureEventWithHitTestResults = EventWithHitTestResults; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_EVENT_WITH_HIT_TEST_RESULTS_H_