This source file includes following definitions.
- DECLARE_WINDOW_PROPERTY_TYPE
#include "ui/aura/client/window_tree_client.h"
#include "ui/aura/env.h"
#include "ui/aura/window_event_dispatcher.h"
#include "ui/aura/window_property.h"
DECLARE_WINDOW_PROPERTY_TYPE(aura::client::WindowTreeClient*)
namespace aura {
namespace client {
DEFINE_WINDOW_PROPERTY_KEY(
WindowTreeClient*, kRootWindowWindowTreeClientKey, NULL);
void SetWindowTreeClient(Window* window, WindowTreeClient* window_tree_client) {
DCHECK(window);
Window* root_window = window->GetRootWindow();
DCHECK(root_window);
root_window->SetProperty(kRootWindowWindowTreeClientKey, window_tree_client);
}
WindowTreeClient* GetWindowTreeClient(Window* window) {
DCHECK(window);
Window* root_window = window->GetRootWindow();
DCHECK(root_window);
WindowTreeClient* client =
root_window->GetProperty(kRootWindowWindowTreeClientKey);
DCHECK(client);
return client;
}
void ParentWindowWithContext(Window* window,
Window* context,
const gfx::Rect& screen_bounds) {
DCHECK(context);
WindowTreeClient* client = GetWindowTreeClient(context);
DCHECK(client);
Window* default_parent =
client->GetDefaultParent(context, window, screen_bounds);
default_parent->AddChild(window);
}
}
}