15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/aura/client/screen_position_client.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/aura/window_property.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DECLARE_WINDOW_PROPERTY_TYPE(aura::client::ScreenPositionClient*) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace aura { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace client { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DEFINE_LOCAL_WINDOW_PROPERTY_KEY(ScreenPositionClient*, 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) kScreenPositionClientKey, 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NULL); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void SetScreenPositionClient(Window* root_window, 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ScreenPositionClient* client) { 201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) DCHECK_EQ(root_window->GetRootWindow(), root_window); 211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) root_window->SetProperty(kScreenPositionClientKey, client); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 241e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)ScreenPositionClient* GetScreenPositionClient(const Window* root_window) { 251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) if (root_window) 261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) DCHECK_EQ(root_window->GetRootWindow(), root_window); 271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) return root_window ? 281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) root_window->GetProperty(kScreenPositionClientKey) : NULL; 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace client 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace aura 33