| // Copyright (c) 2012 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. |
| |
| #include "ui/aura/client/visibility_client.h" |
| |
| #include "ui/aura/root_window.h" |
| #include "ui/aura/window_property.h" |
| |
| DECLARE_WINDOW_PROPERTY_TYPE(aura::client::VisibilityClient*) |
| |
| namespace aura { |
| namespace client { |
| |
| // A property key to store a client that handles window visibility changes. |
| DEFINE_LOCAL_WINDOW_PROPERTY_KEY( |
| VisibilityClient*, kRootWindowVisibilityClientKey, NULL); |
| |
| void SetVisibilityClient(RootWindow* root_window, VisibilityClient* client) { |
| root_window->SetProperty(kRootWindowVisibilityClientKey, client); |
| } |
| |
| VisibilityClient* GetVisibilityClient(RootWindow* root_window) { |
| return root_window ? |
| root_window->GetProperty(kRootWindowVisibilityClientKey) : NULL; |
| } |
| |
| } // namespace client |
| } // namespace aura |