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

Unified Diff: views/widget/widget_gtk.cc

Issue 6688049: New InputMethod api for Views. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review feedbacks. Created 9 years, 9 months 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
Index: views/widget/widget_gtk.cc
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc
index 5f470c53d751aabe3a816fe52b23fd5d239ca542..599ca9e2a90197cbabacfd5adef8756aea9eb0a1 100644
--- a/views/widget/widget_gtk.cc
+++ b/views/widget/widget_gtk.cc
@@ -1568,6 +1568,32 @@ void Widget::NotifyLocaleChanged() {
g_list_free(window_list);
}
+// static
+bool Widget::ConvertRect(const Widget* source,
+ const Widget* target,
+ gfx::Rect* rect) {
+ DCHECK(source);
+ DCHECK(target);
+ DCHECK(rect);
+
+ GtkWidget* source_widget = source->GetNativeView();
+ GtkWidget* target_widget = target->GetNativeView();
+ if (source_widget == target_widget)
+ return true;
+
+ if (!source_widget || !target_widget)
+ return false;
+
+ GdkRectangle gdk_rect = rect->ToGdkRectangle();
+ if (gtk_widget_translate_coordinates(source_widget, target_widget,
+ gdk_rect.x, gdk_rect.y,
+ &gdk_rect.x, &gdk_rect.y)) {
+ *rect = gdk_rect;
+ return true;
+ }
+ return false;
+}
+
////////////////////////////////////////////////////////////////////////////////
// NativeWidget, public:

Powered by Google App Engine
This is Rietveld 408576698