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/screen_position_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::ScreenPositionClient*) 11 12 namespace aura { 13 namespace client { 14 15 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(ScreenPositionClient*, 16 kScreenPositionClientKey, 17 NULL); 18 SetScreenPositionClient(Window * root_window,ScreenPositionClient * client)19void SetScreenPositionClient(Window* root_window, 20 ScreenPositionClient* client) { 21 DCHECK_EQ(root_window->GetRootWindow(), root_window); 22 root_window->SetProperty(kScreenPositionClientKey, client); 23 } 24 GetScreenPositionClient(const Window * root_window)25ScreenPositionClient* GetScreenPositionClient(const Window* root_window) { 26 if (root_window) 27 DCHECK_EQ(root_window->GetRootWindow(), root_window); 28 return root_window ? 29 root_window->GetProperty(kScreenPositionClientKey) : NULL; 30 } 31 32 } // namespace client 33 } // namespace aura 34