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

Side by Side Diff: views/widget/root_view.cc

Issue 7845033: Rework View Layer Draw() to use the Layer::DrawTree() method and the LayerDelegate. (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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « views/widget/root_view.h ('k') | views/widget/widget.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "views/widget/root_view.h" 5 #include "views/widget/root_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 148
149 bool RootView::IsVisibleInRootView() const { 149 bool RootView::IsVisibleInRootView() const {
150 return IsVisible(); 150 return IsVisible();
151 } 151 }
152 152
153 std::string RootView::GetClassName() const { 153 std::string RootView::GetClassName() const {
154 return kViewClassName; 154 return kViewClassName;
155 } 155 }
156 156
157 void RootView::SchedulePaintInRect(const gfx::Rect& rect) { 157 void RootView::SchedulePaintInRect(const gfx::Rect& rect) {
158 MarkLayerDirty();
159 SchedulePaintInternal(rect);
160 }
161
162 void RootView::SchedulePaintInternal(const gfx::Rect& rect) {
163 gfx::Rect xrect = ConvertRectToParent(rect); 158 gfx::Rect xrect = ConvertRectToParent(rect);
164 gfx::Rect invalid_rect = GetLocalBounds().Intersect(xrect); 159 gfx::Rect invalid_rect = GetLocalBounds().Intersect(xrect);
165 if (!invalid_rect.IsEmpty()) 160 if (!invalid_rect.IsEmpty())
166 widget_->SchedulePaintInRect(invalid_rect); 161 widget_->SchedulePaintInRect(invalid_rect);
167 } 162 }
168 163
169 bool RootView::OnMousePressed(const MouseEvent& event) { 164 bool RootView::OnMousePressed(const MouseEvent& event) {
170 MouseEvent e(event, this); 165 MouseEvent e(event, this);
171 UpdateCursor(e); 166 UpdateCursor(e);
172 SetMouseLocationAndFlags(e); 167 SetMouseLocationAndFlags(e);
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 } 418 }
424 419
425 const ui::Compositor* RootView::GetCompositor() const { 420 const ui::Compositor* RootView::GetCompositor() const {
426 return widget_->GetCompositor(); 421 return widget_->GetCompositor();
427 } 422 }
428 423
429 ui::Compositor* RootView::GetCompositor() { 424 ui::Compositor* RootView::GetCompositor() {
430 return widget_->GetCompositor(); 425 return widget_->GetCompositor();
431 } 426 }
432 427
433 void RootView::MarkLayerDirty() { 428 void RootView::CalculateOffsetToAncestorWithLayer(gfx::Point* offset,
434 View::MarkLayerDirty(); 429 ui::Layer** layer_parent) {
430 View::CalculateOffsetToAncestorWithLayer(offset, layer_parent);
435 if (!layer()) 431 if (!layer())
436 widget_->MarkLayerDirty(); 432 widget_->CalculateOffsetToAncestorWithLayer(offset, layer_parent);
437 }
438
439 void RootView::CalculateOffsetToAncestorWithLayer(gfx::Point* offset,
440 View** ancestor) {
441 View::CalculateOffsetToAncestorWithLayer(offset, ancestor);
442 if (!layer())
443 widget_->CalculateOffsetToAncestorWithLayer(offset, ancestor);
444 } 433 }
445 434
446 //////////////////////////////////////////////////////////////////////////////// 435 ////////////////////////////////////////////////////////////////////////////////
447 // RootView, private: 436 // RootView, private:
448 437
449 // Input ----------------------------------------------------------------------- 438 // Input -----------------------------------------------------------------------
450 439
451 void RootView::UpdateCursor(const MouseEvent& event) { 440 void RootView::UpdateCursor(const MouseEvent& event) {
452 if (!(event.flags() & ui::EF_IS_NON_CLIENT)) { 441 if (!(event.flags() & ui::EF_IS_NON_CLIENT)) {
453 View* v = GetEventHandlerForPoint(event.location()); 442 View* v = GetEventHandlerForPoint(event.location());
454 widget_->SetCursor(v->GetCursor(MouseEvent(event, this, v))); 443 widget_->SetCursor(v->GetCursor(MouseEvent(event, this, v)));
455 } 444 }
456 } 445 }
457 446
458 void RootView::SetMouseLocationAndFlags(const MouseEvent& event) { 447 void RootView::SetMouseLocationAndFlags(const MouseEvent& event) {
459 last_mouse_event_flags_ = event.flags(); 448 last_mouse_event_flags_ = event.flags();
460 last_mouse_event_x_ = event.x(); 449 last_mouse_event_x_ = event.x();
461 last_mouse_event_y_ = event.y(); 450 last_mouse_event_y_ = event.y();
462 } 451 }
463 452
464 } // namespace internal 453 } // namespace internal
465 } // namespace views 454 } // namespace views
OLDNEW
« no previous file with comments | « views/widget/root_view.h ('k') | views/widget/widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698