diff options
Diffstat (limited to 'chromium/ui/events/linux/text_edit_key_bindings_delegate_auralinux.h')
-rw-r--r-- | chromium/ui/events/linux/text_edit_key_bindings_delegate_auralinux.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/chromium/ui/events/linux/text_edit_key_bindings_delegate_auralinux.h b/chromium/ui/events/linux/text_edit_key_bindings_delegate_auralinux.h new file mode 100644 index 00000000000..d2916260380 --- /dev/null +++ b/chromium/ui/events/linux/text_edit_key_bindings_delegate_auralinux.h @@ -0,0 +1,43 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef UI_EVENTS_X_TEXT_EDIT_KEY_BINDINGS_DELEGATE_X11_H_ +#define UI_EVENTS_X_TEXT_EDIT_KEY_BINDINGS_DELEGATE_X11_H_ + +#include <vector> + +#include "ui/events/events_export.h" + +namespace ui { +class Event; +class TextEditCommandAuraLinux; + +// An interface which can interpret various text editing commands out of key +// events. +// +// On desktop Linux, we've traditionally supported the user's custom +// keybindings. We need to support this in both content/ and in views/. +class EVENTS_EXPORT TextEditKeyBindingsDelegateAuraLinux { + public: + // Matches a key event against the users' platform specific key bindings, + // false will be returned if the key event doesn't correspond to a predefined + // key binding. Edit commands matched with |event| will be stored in + // |edit_commands|, if |edit_commands| is non-NULL. + virtual bool MatchEvent(const ui::Event& event, + std::vector<TextEditCommandAuraLinux>* commands) = 0; + + protected: + virtual ~TextEditKeyBindingsDelegateAuraLinux() {} +}; + +// Sets/Gets the global TextEditKeyBindingsDelegateAuraLinux. No ownership +// changes. Can be NULL. +EVENTS_EXPORT void SetTextEditKeyBindingsDelegate( + TextEditKeyBindingsDelegateAuraLinux* delegate); +EVENTS_EXPORT TextEditKeyBindingsDelegateAuraLinux* + GetTextEditKeyBindingsDelegate(); + +} // namespace ui + +#endif // UI_EVENTS_X_TEXT_EDIT_KEY_BINDINGS_DELEGATE_X11_H_ |