OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef PPAPI_CPP_TEXT_INPUT_CONTROLLER_H_ |
| 6 #define PPAPI_CPP_TEXT_INPUT_CONTROLLER_H_ |
| 7 |
| 8 #include <string> |
| 9 |
| 10 #include "ppapi/c/ppb_text_input_controller.h" |
| 11 #include "ppapi/cpp/instance_handle.h" |
| 12 #include "ppapi/cpp/var.h" |
| 13 |
| 14 /// @file |
| 15 /// This file defines the APIs for text input handling. |
| 16 |
| 17 namespace pp { |
| 18 |
| 19 class Rect; |
| 20 class Instance; |
| 21 |
| 22 /// This class can be used for giving hints to the browser about the text input |
| 23 /// status of plugins. |
| 24 class TextInputController { |
| 25 public: |
| 26 /// A constructor for creating a <code>TextInputController</code>. |
| 27 /// |
| 28 /// @param[in] instance The instance with which this resource will be |
| 29 /// associated. |
| 30 explicit TextInputController(const InstanceHandle& instance); |
| 31 |
| 32 /// Destructor. |
| 33 ~TextInputController(); |
| 34 |
| 35 /// SetTextInputType() informs the browser about the current text input mode |
| 36 /// of the plugin. |
| 37 /// |
| 38 /// @param[in] type The type of text input type. |
| 39 void SetTextInputType(PP_TextInput_Type type); |
| 40 |
| 41 /// UpdateCaretPosition() informs the browser about the coordinates of the |
| 42 /// text input caret area. |
| 43 /// |
| 44 /// @param[in] caret A rectangle indicating the caret area. |
| 45 void UpdateCaretPosition(const Rect& caret); |
| 46 |
| 47 /// CancelCompositionText() informs the browser that the current composition |
| 48 /// text is cancelled by the plugin. |
| 49 void CancelCompositionText(); |
| 50 |
| 51 /// UpdateSurroundingText() informs the browser about the current text |
| 52 /// selection and surrounding text. |
| 53 /// |
| 54 /// @param[in] text A UTF-8 sting indicating string buffer of current input |
| 55 /// context. |
| 56 /// |
| 57 /// @param[in] caret A integer indicating the byte index of caret location in |
| 58 /// <code>text</code>. |
| 59 /// |
| 60 /// @param[in] caret A integer indicating the byte index of anchor location in |
| 61 /// <code>text</code>. If there is no selection, this value should be equal to |
| 62 /// <code>caret</code>. |
| 63 void UpdateSurroundingText(const Var& text, |
| 64 uint32_t caret, |
| 65 uint32_t anchor); |
| 66 |
| 67 private: |
| 68 InstanceHandle instance_; |
| 69 }; |
| 70 |
| 71 } // namespace pp |
| 72 |
| 73 #endif // PPAPI_CPP_TEXT_INPUT_CONTROLLER_H_ |
OLD | NEW |