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

Unified Diff: ui/base/touch/touch_editing_controller.cc

Issue 754963007: Revert of Move TouchSelectionController from content to ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 | « ui/base/touch/touch_editing_controller.h ('k') | ui/base/touch/touch_editing_controller_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/touch/touch_editing_controller.cc
diff --git a/ui/base/touch/touch_editing_controller.cc b/ui/base/touch/touch_editing_controller.cc
index 1b84ed929bf2af8ad365bd6974d87ec7e3866bb7..f3c4c243a90d8fdc9ec4688980efb90c6b0ae3c8 100644
--- a/ui/base/touch/touch_editing_controller.cc
+++ b/ui/base/touch/touch_editing_controller.cc
@@ -9,6 +9,45 @@
namespace {
TouchSelectionControllerFactory* g_shared_instance = NULL;
} // namespace
+
+SelectionBound::SelectionBound()
+ : type(ui::SelectionBound::EMPTY) {
+}
+
+SelectionBound::~SelectionBound() {
+}
+
+int SelectionBound::GetHeight() const {
+ return edge_bottom.y() - edge_top.y();
+}
+
+bool operator==(const SelectionBound& lhs, const SelectionBound& rhs) {
+ return lhs.type == rhs.type && lhs.edge_top == rhs.edge_top &&
+ lhs.edge_bottom == rhs.edge_bottom;
+}
+
+bool operator!=(const SelectionBound& lhs, const SelectionBound& rhs) {
+ return !(lhs == rhs);
+}
+
+gfx::Rect RectBetweenSelectionBounds(const SelectionBound& b1,
+ const SelectionBound& b2) {
+ int all_x[] ={
+ b1.edge_top.x(), b2.edge_top.x(), b1.edge_bottom.x(), b2.edge_bottom.x()
+ };
+ int all_y[] = {
+ b1.edge_top.y(), b2.edge_top.y(), b1.edge_bottom.y(), b2.edge_bottom.y()
+ };
+ const int num_elements = arraysize(all_x);
+ COMPILE_ASSERT(arraysize(all_y) == num_elements, array_size_mismatch);
+
+ int left = *std::min_element(all_x, all_x + num_elements);
+ int top = *std::min_element(all_y, all_y + num_elements);
+ int right = *std::max_element(all_x, all_x + num_elements);
+ int bottom = *std::max_element(all_y, all_y + num_elements);
+
+ return gfx::Rect(left, top, right - left, bottom - top);
+}
TouchSelectionController* TouchSelectionController::create(
TouchEditable* client_view) {
« no previous file with comments | « ui/base/touch/touch_editing_controller.h ('k') | ui/base/touch/touch_editing_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698