| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "app/drag_drop_types.h" | 9 #include "app/drag_drop_types.h" |
| 10 #include "base/keyboard_codes.h" | 10 #include "base/keyboard_codes.h" |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #include "base/message_loop.h" | 12 #include "base/message_loop.h" |
| 13 #include "gfx/canvas_skia.h" | 13 #include "gfx/canvas.h" |
| 14 #include "views/fill_layout.h" | 14 #include "views/fill_layout.h" |
| 15 #include "views/focus/view_storage.h" | 15 #include "views/focus/view_storage.h" |
| 16 #include "views/widget/widget.h" | 16 #include "views/widget/widget.h" |
| 17 #include "views/window/window.h" | 17 #include "views/window/window.h" |
| 18 | 18 |
| 19 #if defined(OS_LINUX) | 19 #if defined(OS_LINUX) |
| 20 #include "views/widget/widget_gtk.h" | 20 #include "views/widget/widget_gtk.h" |
| 21 #endif // defined(OS_LINUX) | 21 #endif // defined(OS_LINUX) |
| 22 | 22 |
| 23 namespace views { | 23 namespace views { |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 #endif | 166 #endif |
| 167 | 167 |
| 168 // Clip the invalid rect to our bounds. If a view is in a scrollview | 168 // Clip the invalid rect to our bounds. If a view is in a scrollview |
| 169 // it could be a lot larger | 169 // it could be a lot larger |
| 170 invalid_rect_ = GetScheduledPaintRectConstrainedToSize(); | 170 invalid_rect_ = GetScheduledPaintRectConstrainedToSize(); |
| 171 | 171 |
| 172 if (invalid_rect_.IsEmpty()) | 172 if (invalid_rect_.IsEmpty()) |
| 173 return; | 173 return; |
| 174 | 174 |
| 175 // Clear the background. | 175 // Clear the background. |
| 176 canvas->AsCanvasSkia()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode); | 176 canvas->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode); |
| 177 | 177 |
| 178 // Save the current transforms. | 178 // Save the current transforms. |
| 179 canvas->AsCanvasSkia()->save(); | 179 canvas->save(); |
| 180 | 180 |
| 181 // Set the clip rect according to the invalid rect. | 181 // Set the clip rect according to the invalid rect. |
| 182 int clip_x = invalid_rect_.x() + x(); | 182 int clip_x = invalid_rect_.x() + x(); |
| 183 int clip_y = invalid_rect_.y() + y(); | 183 int clip_y = invalid_rect_.y() + y(); |
| 184 canvas->ClipRectInt(clip_x, clip_y, invalid_rect_.width(), | 184 canvas->ClipRectInt(clip_x, clip_y, invalid_rect_.width(), |
| 185 invalid_rect_.height()); | 185 invalid_rect_.height()); |
| 186 | 186 |
| 187 // Paint the tree | 187 // Paint the tree |
| 188 View::ProcessPaint(canvas); | 188 View::ProcessPaint(canvas); |
| 189 | 189 |
| 190 // Restore the previous transform | 190 // Restore the previous transform |
| 191 canvas->AsCanvasSkia()->restore(); | 191 canvas->restore(); |
| 192 | 192 |
| 193 ClearPaintRect(); | 193 ClearPaintRect(); |
| 194 } | 194 } |
| 195 | 195 |
| 196 void RootView::PaintNow() { | 196 void RootView::PaintNow() { |
| 197 if (pending_paint_task_) { | 197 if (pending_paint_task_) { |
| 198 pending_paint_task_->Cancel(); | 198 pending_paint_task_->Cancel(); |
| 199 pending_paint_task_ = NULL; | 199 pending_paint_task_ = NULL; |
| 200 } | 200 } |
| 201 if (!paint_task_needed_) | 201 if (!paint_task_needed_) |
| (...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 MouseEvent exited_near_event(Event::ET_MOUSE_EXITED_NEAR, 0, 0, 0); | 780 MouseEvent exited_near_event(Event::ET_MOUSE_EXITED_NEAR, 0, 0, 0); |
| 781 for (std::set<View*>::const_iterator i = near_views_.begin(); | 781 for (std::set<View*>::const_iterator i = near_views_.begin(); |
| 782 i != near_views_.end(); ++i) { | 782 i != near_views_.end(); ++i) { |
| 783 (*i)->OnMouseExitedNear(exited_near_event); | 783 (*i)->OnMouseExitedNear(exited_near_event); |
| 784 } | 784 } |
| 785 | 785 |
| 786 near_views_.clear(); | 786 near_views_.clear(); |
| 787 } | 787 } |
| 788 | 788 |
| 789 } // namespace views | 789 } // namespace views |
| OLD | NEW |