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. 4 5#include "ui/aura/client/capture_client.h" 6 7#include "ui/aura/window_event_dispatcher.h" 8#include "ui/aura/window_property.h" 9 10DECLARE_WINDOW_PROPERTY_TYPE(aura::client::CaptureClient*) 11 12namespace aura { 13namespace client { 14 15DEFINE_WINDOW_PROPERTY_KEY( 16 CaptureClient*, kRootWindowCaptureClientKey, NULL); 17 18void SetCaptureClient(Window* root_window, CaptureClient* client) { 19 root_window->SetProperty(kRootWindowCaptureClientKey, client); 20} 21 22CaptureClient* GetCaptureClient(Window* root_window) { 23 return root_window ? 24 root_window->GetProperty(kRootWindowCaptureClientKey) : NULL; 25} 26 27Window* GetCaptureWindow(Window* window) { 28 Window* root_window = window->GetRootWindow(); 29 if (!root_window) 30 return NULL; 31 CaptureClient* capture_client = GetCaptureClient(root_window); 32 return capture_client ? capture_client->GetCaptureWindow() : NULL; 33} 34 35} // namespace client 36} // namespace aura 37