Index: ui/aura/window.h |
diff --git a/ui/aura/window.h b/ui/aura/window.h |
index 15573f412bdcbace9d99980d51b9d8e860c49486..192d92dda5001fcc41462df8d496534c66e20e29 100644 |
--- a/ui/aura/window.h |
+++ b/ui/aura/window.h |
@@ -25,14 +25,15 @@ class Layer; |
namespace aura { |
class Desktop; |
+class EventFilter; |
class KeyEvent; |
class LayoutManager; |
class MouseEvent; |
class WindowDelegate; |
-class EventFilter; |
namespace internal { |
class FocusManager; |
+class RootWindow; |
} |
// Aura window implementation. Interesting events are sent to the |
@@ -140,6 +141,19 @@ class AURA_EXPORT Window : public ui::LayerDelegate { |
void set_user_data(void* user_data) { user_data_ = user_data; } |
void* user_data() const { return user_data_; } |
+ // Does a mouse capture on the window. This does nothing if the window isn't |
+ // showing (VISIBILITY_SHOWN) or isn't contained in a valid window hierarchy. |
+ void SetCapture(); |
+ |
+ // Releases a mouse capture. |
+ void ReleaseCapture(); |
+ |
+ // Returns true if this window has a mouse capture. |
+ bool HasCapture(); |
+ |
+ protected: |
+ explicit Window(WindowDelegate* delegate, bool is_root); |
+ |
private: |
// If SchedulePaint has been invoked on the Window the delegate is notified. |
void UpdateLayerCanvas(); |
@@ -147,9 +161,15 @@ class AURA_EXPORT Window : public ui::LayerDelegate { |
// Schedules a paint for the Window's entire bounds. |
void SchedulePaint(); |
+ // Returns the RootWindow or NULL if we don't yet have a RootWindow. |
+ internal::RootWindow* GetRoot(); |
+ |
// Overridden from ui::LayerDelegate: |
virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE; |
+ // Are we a RootWindow? |
+ const bool is_root_; |
+ |
WindowDelegate* delegate_; |
Visibility visibility_; |