| Index: ui/base/touch/selection_bound.h
 | 
| diff --git a/ui/base/touch/selection_bound.h b/ui/base/touch/selection_bound.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..f7f0f97870a6a9b23417be692a21468b6c421d90
 | 
| --- /dev/null
 | 
| +++ b/ui/base/touch/selection_bound.h
 | 
| @@ -0,0 +1,75 @@
 | 
| +// Copyright 2014 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 UI_BASE_TOUCH_SELECTION_BOUND_H_
 | 
| +#define UI_BASE_TOUCH_SELECTION_BOUND_H_
 | 
| +
 | 
| +#include "ui/base/ui_base_export.h"
 | 
| +#include "ui/gfx/point.h"
 | 
| +#include "ui/gfx/point_f.h"
 | 
| +
 | 
| +namespace cc {
 | 
| +struct ViewportSelectionBound;
 | 
| +}
 | 
| +
 | 
| +namespace gfx {
 | 
| +class Rect;
 | 
| +}
 | 
| +
 | 
| +namespace ui {
 | 
| +
 | 
| +// Bound of a selection end-point.
 | 
| +class UI_BASE_EXPORT SelectionBound {
 | 
| + public:
 | 
| +  enum Type {
 | 
| +    LEFT,
 | 
| +    RIGHT,
 | 
| +    CENTER,
 | 
| +    EMPTY,
 | 
| +    LAST = EMPTY
 | 
| +  };
 | 
| +
 | 
| +  SelectionBound();
 | 
| +  explicit SelectionBound(const cc::ViewportSelectionBound& bound);
 | 
| +  ~SelectionBound();
 | 
| +
 | 
| +  Type type() const { return type_; }
 | 
| +  void set_type(Type value) { type_ = value; }
 | 
| +
 | 
| +  const gfx::PointF& edge_top() const { return edge_top_; }
 | 
| +  const gfx::Point& edge_top_rounded() const { return edge_top_rounded_; }
 | 
| +  void SetEdgeTop(const gfx::PointF& value);
 | 
| +
 | 
| +  const gfx::PointF& edge_bottom() const { return edge_bottom_; }
 | 
| +  const gfx::Point& edge_bottom_rounded() const { return edge_bottom_rounded_; }
 | 
| +  void SetEdgeBottom(const gfx::PointF& value);
 | 
| +
 | 
| +  void SetEdge(const gfx::PointF& top, const gfx::PointF& bottom);
 | 
| +
 | 
| +  bool visible() const { return visible_; }
 | 
| +  void set_visible(bool value) { visible_ = value; }
 | 
| +
 | 
| +  // Returns the vertical difference between rounded top and bottom.
 | 
| +  int GetHeight() const;
 | 
| +
 | 
| + private:
 | 
| +  Type type_;
 | 
| +  gfx::PointF edge_top_;
 | 
| +  gfx::PointF edge_bottom_;
 | 
| +  gfx::Point edge_top_rounded_;
 | 
| +  gfx::Point edge_bottom_rounded_;
 | 
| +  bool visible_;
 | 
| +};
 | 
| +
 | 
| +UI_BASE_EXPORT bool operator==(const SelectionBound& lhs,
 | 
| +                               const SelectionBound& rhs);
 | 
| +UI_BASE_EXPORT bool operator!=(const SelectionBound& lhs,
 | 
| +                               const SelectionBound& rhs);
 | 
| +
 | 
| +UI_BASE_EXPORT gfx::Rect RectBetweenSelectionBounds(const SelectionBound& b1,
 | 
| +                                                    const SelectionBound& b2);
 | 
| +
 | 
| +}  // namespace ui
 | 
| +
 | 
| +#endif  // UI_BASE_TOUCH_SELECTION_BOUND_H_
 | 
| 
 |