// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_POINTER_EVENT_FACTORY_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_POINTER_EVENT_FACTORY_H_ #include <optional> #include "third_party/blink/public/common/input/pointer_id.h" #include "third_party/blink/public/common/input/web_pointer_event.h" #include "third_party/blink/public/common/input/web_pointer_properties.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/events/pointer_event.h" #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" #include "third_party/blink/renderer/platform/wtf/deque.h" #include "third_party/blink/renderer/platform/wtf/hash_map.h" namespace blink { // Helper class for tracking the pointer ids for each type of PointerEvents. // Using id re-mapping at this layer, this class makes sure that regardless of // the domain of the id (i.e. in touch or pen) the corresponding pointer event // will have a unique id amongst all pointer events as per pointer events' // specification. This class intended to behave the same as existing browsers as // much as possible for compatibility reasons. Particularly it behaves very // similar to MS Edge to have pointer event ids generated by mouse always equal // 1 and those that are generated by touch and pen will have increasing ids from // 2. class CORE_EXPORT PointerEventFactory { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_POINTER_EVENT_FACTORY_H_