| Index: aura/desktop.cc
|
| ===================================================================
|
| --- aura/desktop.cc (revision 100961)
|
| +++ aura/desktop.cc (working copy)
|
| @@ -1,88 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "aura/desktop.h"
|
| -
|
| -#include "aura/desktop_host.h"
|
| -#include "aura/root_window.h"
|
| -#include "aura/window.h"
|
| -#include "base/logging.h"
|
| -#include "base/message_loop.h"
|
| -#include "ui/gfx/compositor/compositor.h"
|
| -#include "ui/gfx/compositor/layer.h"
|
| -
|
| -namespace aura {
|
| -
|
| -// static
|
| -Desktop* Desktop::instance_ = NULL;
|
| -
|
| -Desktop::Desktop()
|
| - : host_(aura::DesktopHost::Create(gfx::Rect(200, 200, 1024, 768))),
|
| - ALLOW_THIS_IN_INITIALIZER_LIST(schedule_paint_(this)) {
|
| - DCHECK(MessageLoopForUI::current())
|
| - << "The UI message loop must be initialized first.";
|
| - compositor_ = ui::Compositor::Create(this, host_->GetAcceleratedWidget(),
|
| - host_->GetSize());
|
| - host_->SetDesktop(this);
|
| - DCHECK(compositor_.get());
|
| - window_.reset(new internal::RootWindow);
|
| -}
|
| -
|
| -Desktop::~Desktop() {
|
| - if (instance_ == this)
|
| - instance_ = NULL;
|
| -}
|
| -
|
| -void Desktop::Show() {
|
| - host_->Show();
|
| -}
|
| -
|
| -void Desktop::SetSize(const gfx::Size& size) {
|
| - host_->SetSize(size);
|
| -}
|
| -
|
| -void Desktop::Run() {
|
| - Show();
|
| - MessageLoopForUI::current()->Run(host_.get());
|
| -}
|
| -
|
| -void Desktop::Draw() {
|
| - // Second pass renders the layers.
|
| - const bool force_clear = false;
|
| - compositor_->NotifyStart(force_clear);
|
| - window_->layer()->DrawTree();
|
| - compositor_->NotifyEnd();
|
| -}
|
| -
|
| -bool Desktop::OnMouseEvent(const MouseEvent& event) {
|
| - return window_->HandleMouseEvent(event);
|
| -}
|
| -
|
| -bool Desktop::OnKeyEvent(const KeyEvent& event) {
|
| - return window_->HandleKeyEvent(event);
|
| -}
|
| -
|
| -void Desktop::OnHostResized(const gfx::Size& size) {
|
| - gfx::Rect bounds(window_->bounds().origin(), size);
|
| - window_->SetBounds(bounds, 0);
|
| - compositor_->WidgetSizeChanged(size);
|
| -}
|
| -
|
| -void Desktop::ScheduleCompositorPaint() {
|
| - if (schedule_paint_.empty()) {
|
| - MessageLoop::current()->PostTask(FROM_HERE,
|
| - schedule_paint_.NewRunnableMethod(&Desktop::Draw));
|
| - }
|
| -}
|
| -
|
| -// static
|
| -Desktop* Desktop::GetInstance() {
|
| - if (!instance_) {
|
| - instance_ = new Desktop;
|
| - instance_->window_->Init();
|
| - }
|
| - return instance_;
|
| -}
|
| -
|
| -} // namespace aura
|
|
|