diff options
Diffstat (limited to 'ppapi/cpp/text_input_controller.cc')
-rw-r--r-- | ppapi/cpp/text_input_controller.cc | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/ppapi/cpp/text_input_controller.cc b/ppapi/cpp/text_input_controller.cc new file mode 100644 index 0000000..59850d3 --- /dev/null +++ b/ppapi/cpp/text_input_controller.cc @@ -0,0 +1,63 @@ +// 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. + +#include "ppapi/cpp/text_input_controller.h" + +#include "ppapi/cpp/module_impl.h" +#include "ppapi/cpp/rect.h" +#include "ppapi/cpp/var.h" + +namespace pp { + +namespace { + +template <> const char* interface_name<PPB_TextInputController_1_0>() { + return PPB_TEXTINPUTCONTROLLER_INTERFACE_1_0; +} + +} // namespace + + +TextInputController::TextInputController(const InstanceHandle& instance) + : instance_(instance) { +} + +TextInputController::~TextInputController() { +} + +void TextInputController::SetTextInputType(PP_TextInput_Type type) { + if (has_interface<PPB_TextInputController_1_0>()) { + get_interface<PPB_TextInputController_1_0>()->SetTextInputType( + instance_.pp_instance(), type); + } +} + +void TextInputController::UpdateCaretPosition(const Rect& caret) { + if (has_interface<PPB_TextInputController_1_0>()) { + get_interface<PPB_TextInputController_1_0>()->UpdateCaretPosition( + instance_.pp_instance(), &caret.pp_rect()); + } +} + +void TextInputController::CancelCompositionText() { + if (has_interface<PPB_TextInputController_1_0>()) { + get_interface<PPB_TextInputController_1_0>()->CancelCompositionText( + instance_.pp_instance()); + } +} + +void TextInputController::UpdateSurroundingText(const Var& text, + uint32_t caret, + uint32_t anchor) { + if (has_interface<PPB_TextInputController_1_0>()) { + get_interface<PPB_TextInputController_1_0>()->UpdateSurroundingText( + instance_.pp_instance(), + text.pp_var(), + caret, + anchor); + } +} + + +} // namespace pp |