#ifndef UI_VIEWS_CONTROLS_RESIZE_AREA_H_
#define UI_VIEWS_CONTROLS_RESIZE_AREA_H_
#include <string>
#include "ui/views/view.h"
namespace views {
class ResizeAreaDelegate;
class VIEWS_EXPORT ResizeArea : public View {
 public:
  static const char kViewClassName[];
  explicit ResizeArea(ResizeAreaDelegate* delegate);
  virtual ~ResizeArea();
  
  virtual const char* GetClassName() const OVERRIDE;
  virtual gfx::NativeCursor GetCursor(const ui::MouseEvent& event) OVERRIDE;
  virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE;
  virtual bool OnMouseDragged(const ui::MouseEvent& event) OVERRIDE;
  virtual void OnMouseReleased(const ui::MouseEvent& event) OVERRIDE;
  virtual void OnMouseCaptureLost() OVERRIDE;
  virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE;
 private:
  
  
  void ReportResizeAmount(int resize_amount, bool last_update);
  
  ResizeAreaDelegate* delegate_;
  
  int initial_position_;
  DISALLOW_COPY_AND_ASSIGN(ResizeArea);
};
}  
#endif