1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_BASE_X_ROOT_WINDOW_PROPERTY_WATCHER_X_H_
6 #define UI_BASE_X_ROOT_WINDOW_PROPERTY_WATCHER_X_H_
10 #include "base/basictypes.h"
11 #include "ui/base/gtk/gtk_signal.h"
13 template <typename T> struct DefaultSingletonTraits;
18 // This class keeps track of changes to properties on the root window. This is
19 // not to be used directly. Implement a watcher for the specific property you're
21 class RootWindowPropertyWatcherX {
23 static RootWindowPropertyWatcherX* GetInstance();
26 friend struct DefaultSingletonTraits<RootWindowPropertyWatcherX>;
28 RootWindowPropertyWatcherX();
29 ~RootWindowPropertyWatcherX();
31 // Callback for PropertyChange XEvents.
32 CHROMEG_CALLBACK_1(RootWindowPropertyWatcherX, GdkFilterReturn,
33 OnWindowXEvent, GdkXEvent*, GdkEvent*);
35 DISALLOW_COPY_AND_ASSIGN(RootWindowPropertyWatcherX);
38 } // namespace internal
41 #endif // UI_BASE_X_ROOT_WINDOW_PROPERTY_WATCHER_X_H_