OLD | NEW |
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/view.h" | 5 #include "views/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/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 88 |
89 // FATE TBD -------------------------------------------------------------------- | 89 // FATE TBD -------------------------------------------------------------------- |
90 | 90 |
91 Widget* View::GetChildWidget() { | 91 Widget* View::GetChildWidget() { |
92 return NULL; | 92 return NULL; |
93 } | 93 } |
94 | 94 |
95 // Creation and lifetime ------------------------------------------------------- | 95 // Creation and lifetime ------------------------------------------------------- |
96 | 96 |
97 View::View() | 97 View::View() |
98 : enabled_(true), | 98 : focusable_(false), |
99 focusable_(false), | |
100 parent_owned_(true), | 99 parent_owned_(true), |
101 id_(0), | 100 id_(0), |
102 group_(-1), | 101 group_(-1), |
103 parent_(NULL), | 102 parent_(NULL), |
104 is_visible_(true), | 103 is_visible_(true), |
| 104 enabled_(true), |
105 registered_for_visible_bounds_notification_(false), | 105 registered_for_visible_bounds_notification_(false), |
106 clip_x_(0.0), | 106 clip_x_(0.0), |
107 clip_y_(0.0), | 107 clip_y_(0.0), |
108 needs_layout_(true), | 108 needs_layout_(true), |
109 flip_canvas_on_paint_for_rtl_ui_(false), | 109 flip_canvas_on_paint_for_rtl_ui_(false), |
110 #if !defined(COMPOSITOR_2) | 110 #if !defined(COMPOSITOR_2) |
111 texture_id_(0), // TODO(sadrul): 0 can be a valid texture id. | 111 texture_id_(0), // TODO(sadrul): 0 can be a valid texture id. |
112 #endif | 112 #endif |
113 texture_needs_updating_(true), | 113 texture_needs_updating_(true), |
114 accelerator_registration_delayed_(false), | 114 accelerator_registration_delayed_(false), |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 gfx::Size View::GetMinimumSize() { | 346 gfx::Size View::GetMinimumSize() { |
347 return GetPreferredSize(); | 347 return GetPreferredSize(); |
348 } | 348 } |
349 | 349 |
350 int View::GetHeightForWidth(int w) { | 350 int View::GetHeightForWidth(int w) { |
351 if (layout_manager_.get()) | 351 if (layout_manager_.get()) |
352 return layout_manager_->GetPreferredHeightForWidth(this, w); | 352 return layout_manager_->GetPreferredHeightForWidth(this, w); |
353 return GetPreferredSize().height(); | 353 return GetPreferredSize().height(); |
354 } | 354 } |
355 | 355 |
356 void View::SetVisible(bool flag) { | 356 void View::SetVisible(bool visible) { |
357 if (flag != is_visible_) { | 357 if (visible != is_visible_) { |
358 // If the tab is currently visible, schedule paint to | 358 // If the tab is currently visible, schedule paint to refresh parent. |
359 // refresh parent | 359 if (is_visible_) |
360 if (IsVisible()) | |
361 SchedulePaint(); | 360 SchedulePaint(); |
362 else | 361 else |
363 ResetTexture(); | 362 ResetTexture(); |
364 | 363 |
365 is_visible_ = flag; | 364 is_visible_ = visible; |
366 | 365 |
367 // This notifies all sub-views recursively. | 366 // This notifies all sub-views recursively. |
368 PropagateVisibilityNotifications(this, flag); | 367 PropagateVisibilityNotifications(this, is_visible_); |
369 | 368 |
370 // If we are newly visible, schedule paint. | 369 // If we are newly visible, schedule paint. |
371 if (IsVisible()) | 370 if (is_visible_) |
372 SchedulePaint(); | 371 SchedulePaint(); |
373 } | 372 } |
374 } | 373 } |
375 | 374 |
376 bool View::IsVisible() const { | 375 bool View::IsVisible() const { |
377 return is_visible_; | 376 return is_visible_; |
378 } | 377 } |
379 | 378 |
380 bool View::IsVisibleInRootView() const { | 379 bool View::IsVisibleInRootView() const { |
381 return IsVisible() && parent() ? parent()->IsVisibleInRootView() : false; | 380 return IsVisible() && parent() ? parent()->IsVisibleInRootView() : false; |
382 } | 381 } |
383 | 382 |
384 void View::SetEnabled(bool state) { | 383 void View::SetEnabled(bool enabled) { |
385 if (enabled_ != state) { | 384 if (enabled != enabled_) { |
386 enabled_ = state; | 385 enabled_ = enabled; |
387 SchedulePaint(); | 386 OnEnabledChanged(); |
388 } | 387 } |
389 } | 388 } |
390 | 389 |
391 bool View::IsEnabled() const { | 390 bool View::IsEnabled() const { |
392 return enabled_; | 391 return enabled_; |
393 } | 392 } |
394 | 393 |
| 394 void View::OnEnabledChanged() { |
| 395 SchedulePaint(); |
| 396 } |
| 397 |
395 // Transformations ------------------------------------------------------------- | 398 // Transformations ------------------------------------------------------------- |
396 | 399 |
397 const ui::Transform& View::GetTransform() const { | 400 const ui::Transform& View::GetTransform() const { |
398 static const ui::Transform* no_op = new ui::Transform; | 401 static const ui::Transform* no_op = new ui::Transform; |
399 if (transform_.get()) | 402 if (transform_.get()) |
400 return *transform_.get(); | 403 return *transform_.get(); |
401 return *no_op; | 404 return *no_op; |
402 } | 405 } |
403 | 406 |
404 void View::SetTransform(const ui::Transform& transform) { | 407 void View::SetTransform(const ui::Transform& transform) { |
(...skipping 1461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1866 result.append(GetChildViewAt(i)->PrintViewGraph(false)); | 1869 result.append(GetChildViewAt(i)->PrintViewGraph(false)); |
1867 | 1870 |
1868 if (first) | 1871 if (first) |
1869 result.append("}\n"); | 1872 result.append("}\n"); |
1870 | 1873 |
1871 return result; | 1874 return result; |
1872 } | 1875 } |
1873 #endif | 1876 #endif |
1874 | 1877 |
1875 } // namespace views | 1878 } // namespace views |
OLD | NEW |