Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(425)

Unified Diff: aura/window.cc

Issue 7886042: Move Aura to UI subdir. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « aura/window.h ('k') | aura/window_delegate.h » ('j') | ui/aura/aura.gyp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: aura/window.cc
===================================================================
--- aura/window.cc (revision 100961)
+++ aura/window.cc (working copy)
@@ -1,175 +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/window.h"
-
-#include <algorithm>
-
-#include "aura/desktop.h"
-#include "aura/event.h"
-#include "aura/window_delegate.h"
-#include "aura/window_manager.h"
-#include "base/logging.h"
-#include "ui/gfx/canvas_skia.h"
-#include "ui/gfx/compositor/compositor.h"
-#include "ui/gfx/compositor/layer.h"
-
-namespace aura {
-
-Window::Window(WindowDelegate* delegate)
- : delegate_(delegate),
- visibility_(VISIBILITY_HIDDEN),
- parent_(NULL),
- id_(-1),
- user_data_(NULL) {
-}
-
-Window::~Window() {
- // Let the delegate know we're in the processing of destroying.
- if (delegate_)
- delegate_->OnWindowDestroying();
- // Then destroy the children.
- while (!children_.empty()) {
- Window* child = children_[0];
- delete child;
- // Deleting the child so remove it from out children_ list.
- DCHECK(std::find(children_.begin(), children_.end(), child) ==
- children_.end());
- }
- // And let the delegate do any post cleanup.
- if (delegate_)
- delegate_->OnWindowDestroyed();
- if (parent_)
- parent_->RemoveChild(this);
-}
-
-void Window::Init() {
- layer_.reset(new ui::Layer(Desktop::GetInstance()->compositor()));
- layer_->set_delegate(this);
-}
-
-void Window::SetVisibility(Visibility visibility) {
- if (visibility_ == visibility)
- return;
-
- visibility_ = visibility;
- layer_->set_visible(visibility_ != VISIBILITY_HIDDEN);
- if (layer_->visible())
- SchedulePaint();
-}
-
-void Window::SetBounds(const gfx::Rect& bounds, int anim_ms) {
- // TODO: support anim_ms
- // TODO: funnel this through the Desktop.
- bool was_move = bounds_.size() == bounds.size();
- bounds_ = bounds;
- layer_->SetBounds(bounds);
- if (was_move)
- SchedulePaintInRect(gfx::Rect());
- else
- SchedulePaint();
-}
-
-void Window::SchedulePaintInRect(const gfx::Rect& rect) {
- layer_->SchedulePaint(rect);
-}
-
-void Window::SetCanvas(const SkCanvas& canvas, const gfx::Point& origin) {
- // TODO: figure out how this is going to work when animating the layer. In
- // particular if we're animating the size then the underlying Texture is going
- // to be unhappy if we try to set a texture on a size bigger than the size of
- // the texture.
- layer_->SetCanvas(canvas, origin);
-}
-
-void Window::SetParent(Window* parent) {
- if (parent)
- parent->AddChild(this);
- else
- Desktop::GetInstance()->window()->AddChild(this);
-}
-
-bool Window::IsTopLevelWindowContainer() const {
- return false;
-}
-
-void Window::MoveChildToFront(Window* child) {
- DCHECK_EQ(child->parent(), this);
- const Windows::iterator i(std::find(children_.begin(), children_.end(),
- child));
- DCHECK(i != children_.end());
- children_.erase(i);
-
- // TODO(beng): this obviously has to handle different window types.
- children_.insert(children_.begin() + children_.size(), child);
- SchedulePaintInRect(gfx::Rect());
-}
-
-void Window::AddChild(Window* child) {
- DCHECK(std::find(children_.begin(), children_.end(), child) ==
- children_.end());
- child->parent_ = this;
- layer_->Add(child->layer_.get());
- children_.push_back(child);
-}
-
-void Window::RemoveChild(Window* child) {
- Windows::iterator i = std::find(children_.begin(), children_.end(), child);
- DCHECK(i != children_.end());
- child->parent_ = NULL;
- layer_->Remove(child->layer_.get());
- children_.erase(i);
-}
-
-// static
-void Window::ConvertPointToWindow(Window* source,
- Window* target,
- gfx::Point* point) {
- ui::Layer::ConvertPointToLayer(source->layer(), target->layer(), point);
-}
-
-bool Window::OnMouseEvent(MouseEvent* event) {
- if (!window_manager_.get())
- window_manager_.reset(new WindowManager(this));
- return window_manager_->OnMouseEvent(event) || delegate_->OnMouseEvent(event);
-}
-
-bool Window::OnKeyEvent(KeyEvent* event) {
- return delegate_->OnKeyEvent(event);
-}
-
-bool Window::HitTest(const gfx::Point& point) {
- gfx::Rect local_bounds(gfx::Point(), bounds().size());
- // TODO(beng): hittest masks.
- return local_bounds.Contains(point);
-}
-
-Window* Window::GetEventHandlerForPoint(const gfx::Point& point) {
- Windows::const_reverse_iterator i = children_.rbegin();
- for (; i != children_.rend(); ++i) {
- Window* child = *i;
- if (child->visibility() == Window::VISIBILITY_HIDDEN)
- continue;
- gfx::Point point_in_child_coords(point);
- Window::ConvertPointToWindow(this, child, &point_in_child_coords);
- if (child->HitTest(point_in_child_coords))
- return child->GetEventHandlerForPoint(point_in_child_coords);
- }
- return this;
-}
-
-internal::FocusManager* Window::GetFocusManager() {
- return parent_ ? parent_->GetFocusManager() : NULL;
-}
-
-void Window::SchedulePaint() {
- SchedulePaintInRect(gfx::Rect(0, 0, bounds_.width(), bounds_.height()));
-}
-
-void Window::OnPaintLayer(gfx::Canvas* canvas) {
- if (delegate_)
- delegate_->OnPaint(canvas);
-}
-
-} // namespace aura
« no previous file with comments | « aura/window.h ('k') | aura/window_delegate.h » ('j') | ui/aura/aura.gyp » ('J')

Powered by Google App Engine
This is Rietveld 408576698