// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_WM_CORE_COMPOUND_EVENT_FILTER_H_ #define UI_WM_CORE_COMPOUND_EVENT_FILTER_H_ #include <string_view> #include "base/component_export.h" #include "base/observer_list.h" #include "ui/events/event.h" #include "ui/events/event_handler.h" #include "ui/gfx/native_widget_types.h" namespace ui { class GestureEvent; class KeyEvent; class MouseEvent; class TouchEvent; } namespace wm { // TODO(beng): This class should die. AddEventHandler() on the root Window // should be used instead. // CompoundEventFilter gets all events first and can provide actions to those // events. It implements global features such as click to activate a window and // cursor change when moving mouse. // Additional event filters can be added to CompoundEventFilter. Events will // pass through those additional filters in their addition order and could be // consumed by any of those filters. If an event is consumed by a filter, the // rest of the filter(s) and CompoundEventFilter will not see the consumed // event. class COMPONENT_EXPORT(UI_WM) CompoundEventFilter : public ui::EventHandler { … }; } // namespace wm #endif // UI_WM_CORE_COMPOUND_EVENT_FILTER_H_