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

Unified Diff: ui/aura/window.h

Issue 7976020: Wires up mouse capture code for aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Tweaks Created 9 years, 3 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: 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_;

Powered by Google App Engine
This is Rietveld 408576698