diff options
author | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
---|---|---|
committer | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
commit | 679147eead574d186ebf3069647b4c23e8ccace6 (patch) | |
tree | fc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/ppapi/cpp/text_input_controller.h | |
download | qtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz |
Initial import.
Diffstat (limited to 'chromium/ppapi/cpp/text_input_controller.h')
-rw-r--r-- | chromium/ppapi/cpp/text_input_controller.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/chromium/ppapi/cpp/text_input_controller.h b/chromium/ppapi/cpp/text_input_controller.h new file mode 100644 index 00000000000..8843bd362f2 --- /dev/null +++ b/chromium/ppapi/cpp/text_input_controller.h @@ -0,0 +1,73 @@ +// Copyright 2013 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 PPAPI_CPP_TEXT_INPUT_CONTROLLER_H_ +#define PPAPI_CPP_TEXT_INPUT_CONTROLLER_H_ + +#include <string> + +#include "ppapi/c/ppb_text_input_controller.h" +#include "ppapi/cpp/instance_handle.h" +#include "ppapi/cpp/var.h" + +/// @file +/// This file defines the APIs for text input handling. + +namespace pp { + +class Rect; +class Instance; + +/// This class can be used for giving hints to the browser about the text input +/// status of plugins. +class TextInputController { + public: + /// A constructor for creating a <code>TextInputController</code>. + /// + /// @param[in] instance The instance with which this resource will be + /// associated. + explicit TextInputController(const InstanceHandle& instance); + + /// Destructor. + ~TextInputController(); + + /// SetTextInputType() informs the browser about the current text input mode + /// of the plugin. + /// + /// @param[in] type The type of text input type. + void SetTextInputType(PP_TextInput_Type type); + + /// UpdateCaretPosition() informs the browser about the coordinates of the + /// text input caret area. + /// + /// @param[in] caret A rectangle indicating the caret area. + void UpdateCaretPosition(const Rect& caret); + + /// CancelCompositionText() informs the browser that the current composition + /// text is cancelled by the plugin. + void CancelCompositionText(); + + /// UpdateSurroundingText() informs the browser about the current text + /// selection and surrounding text. + /// + /// @param[in] text A UTF-8 sting indicating string buffer of current input + /// context. + /// + /// @param[in] caret A integer indicating the byte index of caret location in + /// <code>text</code>. + /// + /// @param[in] caret A integer indicating the byte index of anchor location in + /// <code>text</code>. If there is no selection, this value should be equal to + /// <code>caret</code>. + void UpdateSurroundingText(const Var& text, + uint32_t caret, + uint32_t anchor); + + private: + InstanceHandle instance_; +}; + +} // namespace pp + +#endif // PPAPI_CPP_TEXT_INPUT_CONTROLLER_H_ |