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 10 DECLARE_WINDOW_PROPERTY_TYPE(aura::client::CaptureClient*) 11 12 namespace aura { 13 namespace client { 14 15 DEFINE_WINDOW_PROPERTY_KEY( 16 CaptureClient*, kRootWindowCaptureClientKey, NULL); 17 SetCaptureClient(Window * root_window,CaptureClient * client)18void SetCaptureClient(Window* root_window, CaptureClient* client) { 19 root_window->SetProperty(kRootWindowCaptureClientKey, client); 20 } 21 GetCaptureClient(Window * root_window)22CaptureClient* GetCaptureClient(Window* root_window) { 23 return root_window ? 24 root_window->GetProperty(kRootWindowCaptureClientKey) : NULL; 25 } 26 GetCaptureWindow(Window * window)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