summaryrefslogtreecommitdiffstats
path: root/ppapi/examples
diff options
context:
space:
mode:
authornona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-01 00:22:48 +0000
committernona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-01 00:22:48 +0000
commit79cad34f87841d010fd39023d369e406daef39f7 (patch)
tree4bf8330916574fe9fa103f92c381f77d36ffdf73 /ppapi/examples
parent934e3c950dad11ddc4198005ea2bc5ec6df3a5ec (diff)
downloadchromium_src-79cad34f87841d010fd39023d369e406daef39f7.zip
chromium_src-79cad34f87841d010fd39023d369e406daef39f7.tar.gz
chromium_src-79cad34f87841d010fd39023d369e406daef39f7.tar.bz2
PPAPI: Move IMEInputEvent and TextInput to stable.
To be able to work with current ppapi Flash, this CL keeps ABI of "PPB_IMEInputEvent_Dev_0_2", "PPB_TextInput_Dev_0_2" and "PPP_TextInput_Dev_0_2". BUG=None TEST=Manually checked that ppapi_example_ime works and also works with current Flash. NOTRY=True Review URL: https://chromiumcodereview.appspot.com/18671004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@214878 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/examples')
-rw-r--r--ppapi/examples/ime/ime.cc47
1 files changed, 20 insertions, 27 deletions
diff --git a/ppapi/examples/ime/ime.cc b/ppapi/examples/ime/ime.cc
index 6f3e655..e730786 100644
--- a/ppapi/examples/ime/ime.cc
+++ b/ppapi/examples/ime/ime.cc
@@ -10,8 +10,6 @@
#include "ppapi/c/ppb_console.h"
#include "ppapi/cpp/completion_callback.h"
#include "ppapi/cpp/dev/font_dev.h"
-#include "ppapi/cpp/dev/ime_input_event_dev.h"
-#include "ppapi/cpp/dev/text_input_dev.h"
#include "ppapi/cpp/graphics_2d.h"
#include "ppapi/cpp/image_data.h"
#include "ppapi/cpp/input_event.h"
@@ -19,6 +17,7 @@
#include "ppapi/cpp/module.h"
#include "ppapi/cpp/rect.h"
#include "ppapi/cpp/size.h"
+#include "ppapi/cpp/text_input_controller.h"
namespace {
@@ -90,7 +89,7 @@ size_t GetNthCharOffsetUtf8(const std::string& str, size_t n) {
class TextFieldStatusHandler {
public:
virtual ~TextFieldStatusHandler() {}
- virtual void FocusIn(const pp::Rect& caret, const pp::Rect& bounding_box) {}
+ virtual void FocusIn(const pp::Rect& caret) {}
virtual void FocusOut() {}
virtual void UpdateSelection(const std::string& text) {}
};
@@ -103,30 +102,20 @@ class TextFieldStatusNotifyingHandler : public TextFieldStatusHandler {
protected:
// Implement TextFieldStatusHandler.
- virtual void FocusIn(const pp::Rect& caret, const pp::Rect& bounding_box) {
+ virtual void FocusIn(const pp::Rect& caret) {
textinput_control_.SetTextInputType(PP_TEXTINPUT_TYPE_TEXT);
- textinput_control_.UpdateCaretPosition(caret, bounding_box);
+ textinput_control_.UpdateCaretPosition(caret);
}
virtual void FocusOut() {
textinput_control_.CancelCompositionText();
textinput_control_.SetTextInputType(PP_TEXTINPUT_TYPE_NONE);
}
virtual void UpdateSelection(const std::string& text) {
- textinput_control_.SetSelectionText(text);
- textinput_control_.SelectionChanged();
+ textinput_control_.UpdateSurroundingText(text, 0, text.size());
}
private:
- class MyTextInput : public pp::TextInput_Dev {
- public:
- MyTextInput(pp::Instance* instance) : pp::TextInput_Dev(instance) {}
- virtual void RequestSurroundingText(uint32_t characters) {
- UpdateSurroundingText(selection_text_, 0, selection_text_.size());
- }
- void SetSelectionText(const std::string& text) { selection_text_ = text; }
- std::string selection_text_;
- };
- MyTextInput textinput_control_;
+ pp::TextInputController textinput_control_;
};
// Hand-made text field for demonstrating text input API.
@@ -374,7 +363,7 @@ class MyTextField {
str += composition_.substr(0, composition_selection_.first);
int px = font_.MeasureSimpleText(str);
pp::Rect caret(area_.x() + px, area_.y(), 0, area_.height() + 2);
- status_handler_->FocusIn(caret, area_);
+ status_handler_->FocusIn(caret);
status_handler_->UpdateSelection(
utf8_text_.substr(SelectionLeft(),
SelectionRight() - SelectionLeft()));
@@ -428,7 +417,8 @@ class MyInstance : public pp::Instance {
//
// When a plugin never wants to accept text input, at initialization
// explicitly turn off the text input feature by calling:
- pp::TextInput_Dev(this).SetTextInputType(PP_TEXTINPUT_TYPE_NONE);
+ pp::TextInputController(this).SetTextInputType(
+ PP_TEXTINPUT_TYPE_NONE);
} else if (argv[i] == std::string("unaware")) {
// Demonstrating the behavior of IME-unaware plugins.
// Never call any text input related APIs.
@@ -502,25 +492,25 @@ class MyInstance : public pp::Instance {
break;
}
case PP_INPUTEVENT_TYPE_IME_COMPOSITION_START: {
- const pp::IMEInputEvent_Dev imeEvent(event);
+ const pp::IMEInputEvent imeEvent(event);
Log("CompositionStart [" + imeEvent.GetText().AsString() + "]");
ret = true;
break;
}
case PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE: {
- const pp::IMEInputEvent_Dev imeEvent(event);
+ const pp::IMEInputEvent imeEvent(event);
Log("CompositionUpdate [" + imeEvent.GetText().AsString() + "]");
ret = OnCompositionUpdate(imeEvent);
break;
}
case PP_INPUTEVENT_TYPE_IME_COMPOSITION_END: {
- const pp::IMEInputEvent_Dev imeEvent(event);
+ const pp::IMEInputEvent imeEvent(event);
Log("CompositionEnd [" + imeEvent.GetText().AsString() + "]");
ret = OnCompositionEnd(imeEvent);
break;
}
case PP_INPUTEVENT_TYPE_IME_TEXT: {
- const pp::IMEInputEvent_Dev imeEvent(event);
+ const pp::IMEInputEvent imeEvent(event);
Log("ImeText [" + imeEvent.GetText().AsString() + "]");
ret = OnImeText(imeEvent);
break;
@@ -541,7 +531,7 @@ class MyInstance : public pp::Instance {
}
private:
- bool OnCompositionUpdate(const pp::IMEInputEvent_Dev& ev) {
+ bool OnCompositionUpdate(const pp::IMEInputEvent& ev) {
for (std::vector<MyTextField>::iterator it = textfield_.begin();
it != textfield_.end();
++it) {
@@ -550,17 +540,20 @@ class MyInstance : public pp::Instance {
for (uint32_t i = 0; i < ev.GetSegmentNumber(); ++i)
segs.push_back(std::make_pair(ev.GetSegmentOffset(i),
ev.GetSegmentOffset(i + 1)));
+ uint32_t selection_start;
+ uint32_t selection_end;
+ ev.GetSelection(&selection_start, &selection_end);
it->SetComposition(ev.GetText().AsString(),
segs,
ev.GetTargetSegment(),
- ev.GetSelection());
+ std::make_pair(selection_start, selection_end));
return true;
}
}
return false;
}
- bool OnCompositionEnd(const pp::IMEInputEvent_Dev& ev) {
+ bool OnCompositionEnd(const pp::IMEInputEvent& ev) {
for (std::vector<MyTextField>::iterator it = textfield_.begin();
it != textfield_.end();
++it) {
@@ -667,7 +660,7 @@ class MyInstance : public pp::Instance {
return false;
}
- bool OnImeText(const pp::IMEInputEvent_Dev ev) {
+ bool OnImeText(const pp::IMEInputEvent ev) {
for (std::vector<MyTextField>::iterator it = textfield_.begin();
it != textfield_.end();
++it) {