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#ifndef UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ 6#define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ 7 8#include "ui/aura/client/screen_position_client.h" 9#include "ui/views/views_export.h" 10 11namespace views { 12 13// Client that always offsets by the toplevel RootWindow of the passed 14// in child NativeWidgetAura. 15class VIEWS_EXPORT DesktopScreenPositionClient 16 : public aura::client::ScreenPositionClient { 17 public: 18 explicit DesktopScreenPositionClient(aura::Window* root_window); 19 virtual ~DesktopScreenPositionClient(); 20 21 // aura::client::ScreenPositionClient overrides: 22 virtual void ConvertPointToScreen(const aura::Window* window, 23 gfx::Point* point) OVERRIDE; 24 virtual void ConvertPointFromScreen(const aura::Window* window, 25 gfx::Point* point) OVERRIDE; 26 virtual void ConvertHostPointToScreen(aura::Window* window, 27 gfx::Point* point) OVERRIDE; 28 virtual void SetBounds(aura::Window* window, 29 const gfx::Rect& bounds, 30 const gfx::Display& display) OVERRIDE; 31 32 private: 33 aura::Window* root_window_; 34 35 DISALLOW_COPY_AND_ASSIGN(DesktopScreenPositionClient); 36}; 37 38} // namespace views 39 40#endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ 41