Home | History | Annotate | Download | only in cpp
      1 // Copyright 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 #include "ppapi/cpp/text_input_controller.h"
      6 
      7 #include "ppapi/cpp/module_impl.h"
      8 #include "ppapi/cpp/rect.h"
      9 #include "ppapi/cpp/var.h"
     10 
     11 namespace pp {
     12 
     13 namespace {
     14 
     15 template <> const char* interface_name<PPB_TextInputController_1_0>() {
     16   return PPB_TEXTINPUTCONTROLLER_INTERFACE_1_0;
     17 }
     18 
     19 }  // namespace
     20 
     21 
     22 TextInputController::TextInputController(const InstanceHandle& instance)
     23     : instance_(instance) {
     24 }
     25 
     26 TextInputController::~TextInputController() {
     27 }
     28 
     29 void TextInputController::SetTextInputType(PP_TextInput_Type type) {
     30   if (has_interface<PPB_TextInputController_1_0>()) {
     31     get_interface<PPB_TextInputController_1_0>()->SetTextInputType(
     32         instance_.pp_instance(), type);
     33   }
     34 }
     35 
     36 void TextInputController::UpdateCaretPosition(const Rect& caret) {
     37   if (has_interface<PPB_TextInputController_1_0>()) {
     38     get_interface<PPB_TextInputController_1_0>()->UpdateCaretPosition(
     39         instance_.pp_instance(), &caret.pp_rect());
     40   }
     41 }
     42 
     43 void TextInputController::CancelCompositionText() {
     44   if (has_interface<PPB_TextInputController_1_0>()) {
     45     get_interface<PPB_TextInputController_1_0>()->CancelCompositionText(
     46         instance_.pp_instance());
     47   }
     48 }
     49 
     50 void TextInputController::UpdateSurroundingText(const Var& text,
     51                                                 uint32_t caret,
     52                                                 uint32_t anchor) {
     53   if (has_interface<PPB_TextInputController_1_0>()) {
     54     get_interface<PPB_TextInputController_1_0>()->UpdateSurroundingText(
     55         instance_.pp_instance(),
     56         text.pp_var(),
     57         caret,
     58         anchor);
     59   }
     60 }
     61 
     62 
     63 }  // namespace pp
     64