Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Unified Diff: win8/metro_driver/ime/text_store_delegate.h

Issue 83233002: Enable basic IME functionality under Ash on Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix warnings (that are treated as an error) on 64-bit build Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « win8/metro_driver/ime/text_store.cc ('k') | win8/metro_driver/metro_driver.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: win8/metro_driver/ime/text_store_delegate.h
diff --git a/win8/metro_driver/ime/text_store_delegate.h b/win8/metro_driver/ime/text_store_delegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..f5a93894032df811d4dcf1739298d9c0c98a0366
--- /dev/null
+++ b/win8/metro_driver/ime/text_store_delegate.h
@@ -0,0 +1,55 @@
+// Copyright (c) 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 WIN8_METRO_DRIVER_IME_TEXT_STORE_DELEGATE_H_
+#define WIN8_METRO_DRIVER_IME_TEXT_STORE_DELEGATE_H_
+
+#include <vector>
+
+#include <windows.h>
+
+#include "base/basictypes.h"
+#include "base/strings/string16.h"
+
+namespace metro_viewer {
+struct UnderlineInfo;
+}
+
+namespace metro_driver {
+
+// A delegate which works together with virtual text stores.
+// Objects that implement this delegate will receive notifications from a
+// virtual text store whenever an IME updates the composition or commits text.
+// Objects that implement this delegate are also responsible for calculating
+// the character position of composition and caret position upon request.
+class TextStoreDelegate {
+ public:
+ virtual ~TextStoreDelegate() {}
+
+ // Called when on-going composition is updated. An empty |text| represents
+ // that the composition is canceled.
+ virtual void OnCompositionChanged(
+ const string16& text,
+ int32 selection_start,
+ int32 selection_end,
+ const std::vector<metro_viewer::UnderlineInfo>& underlines) = 0;
+
+ // Called when |text| is committed.
+ virtual void OnTextCommitted(const string16& text) = 0;
+
+ // Called when an IME requests the caret position. Objects that implement
+ // this method must return the caret position in screen coordinates.
+ virtual RECT GetCaretBounds() = 0;
+
+ // Called when an IME requests the bounding box of an character whose
+ // index is |index| in the on-going composition. position. Objects that
+ // implement this method must return true and fill the character bounds into
+ // |rect| in screen coordinates.
+ // Should return false if |index| is invalid.
+ virtual bool GetCompositionCharacterBounds(uint32 index, RECT* rect) = 0;
+};
+
+} // namespace metro_driver
+
+#endif // WIN8_METRO_DRIVER_IME_TEXT_STORE_DELEGATE_H_
« no previous file with comments | « win8/metro_driver/ime/text_store.cc ('k') | win8/metro_driver/metro_driver.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698