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

Side by Side Diff: ui/views/view.h

Issue 2883273007: Revert of Ensure that the focus ring in the bookmarks bar does not paint outside the parent view. (Closed)
Patch Set: Created 3 years, 7 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
« no previous file with comments | « ui/views/controls/scroll_view.cc ('k') | ui/views/view.cc » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef UI_VIEWS_VIEW_H_ 5 #ifndef UI_VIEWS_VIEW_H_
6 #define UI_VIEWS_VIEW_H_ 6 #define UI_VIEWS_VIEW_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 void SetTransform(const gfx::Transform& transform); 333 void SetTransform(const gfx::Transform& transform);
334 334
335 // Sets whether this view paints to a layer. A view paints to a layer if 335 // Sets whether this view paints to a layer. A view paints to a layer if
336 // either of the following are true: 336 // either of the following are true:
337 // . the view has a non-identity transform. 337 // . the view has a non-identity transform.
338 // . SetPaintToLayer(ui::LayerType) has been invoked. 338 // . SetPaintToLayer(ui::LayerType) has been invoked.
339 // View creates the Layer only when it exists in a Widget with a non-NULL 339 // View creates the Layer only when it exists in a Widget with a non-NULL
340 // Compositor. 340 // Compositor.
341 void SetPaintToLayer(ui::LayerType layer_type = ui::LAYER_TEXTURED); 341 void SetPaintToLayer(ui::LayerType layer_type = ui::LAYER_TEXTURED);
342 342
343 // Please refer to the comments above the DestroyLayerImpl() function for 343 // Destroys the layer associated with this view, and reparents any descendants
344 // details. 344 // to the destroyed layer's parent. If the view does not currently have a
345 // layer, this has no effect.
345 void DestroyLayer(); 346 void DestroyLayer();
346 347
347 // Overridden from ui::LayerOwner: 348 // Overridden from ui::LayerOwner:
348 std::unique_ptr<ui::Layer> RecreateLayer() override; 349 std::unique_ptr<ui::Layer> RecreateLayer() override;
349 350
350 // RTL positioning ----------------------------------------------------------- 351 // RTL positioning -----------------------------------------------------------
351 352
352 // Methods for accessing the bounds and position of the view, relative to its 353 // Methods for accessing the bounds and position of the view, relative to its
353 // parent. The position returned is mirrored if the parent view is using a RTL 354 // parent. The position returned is mirrored if the parent view is using a RTL
354 // layout. 355 // layout.
(...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after
1181 virtual void ReorderLayers(); 1182 virtual void ReorderLayers();
1182 1183
1183 // This reorders the immediate children of |*parent_layer| to match the 1184 // This reorders the immediate children of |*parent_layer| to match the
1184 // order of the view tree. Child layers which are owned by a view are 1185 // order of the view tree. Child layers which are owned by a view are
1185 // reordered so that they are below any child layers not owned by a view. 1186 // reordered so that they are below any child layers not owned by a view.
1186 // Widget::ReorderNativeViews() should be called to reorder any child layers 1187 // Widget::ReorderNativeViews() should be called to reorder any child layers
1187 // with an associated view. Widget::ReorderNativeViews() may reorder layers 1188 // with an associated view. Widget::ReorderNativeViews() may reorder layers
1188 // below layers owned by a view. 1189 // below layers owned by a view.
1189 virtual void ReorderChildLayers(ui::Layer* parent_layer); 1190 virtual void ReorderChildLayers(ui::Layer* parent_layer);
1190 1191
1191 // Notifies parents about a layer being created or destroyed in a child. An
1192 // example where a subclass may override this method is when it wants to clip
1193 // the child by adding its own layer.
1194 virtual void OnChildLayerChanged(View* child);
1195
1196 // Input --------------------------------------------------------------------- 1192 // Input ---------------------------------------------------------------------
1197 1193
1198 virtual DragInfo* GetDragInfo(); 1194 virtual DragInfo* GetDragInfo();
1199 1195
1200 // Focus --------------------------------------------------------------------- 1196 // Focus ---------------------------------------------------------------------
1201 1197
1202 // Returns last set focus behavior. 1198 // Returns last set focus behavior.
1203 FocusBehavior focus_behavior() const { return focus_behavior_; } 1199 FocusBehavior focus_behavior() const { return focus_behavior_; }
1204 1200
1205 // Override to be notified when focus has changed either to or from this View. 1201 // Override to be notified when focus has changed either to or from this View.
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1445 // properties in accordance to |offset|, the view's offset from the 1441 // properties in accordance to |offset|, the view's offset from the
1446 // |parent_layer|. 1442 // |parent_layer|.
1447 void ReparentLayer(const gfx::Vector2d& offset, ui::Layer* parent_layer); 1443 void ReparentLayer(const gfx::Vector2d& offset, ui::Layer* parent_layer);
1448 1444
1449 // Called to update the layer visibility. The layer will be visible if the 1445 // Called to update the layer visibility. The layer will be visible if the
1450 // View itself, and all its parent Views are visible. This also updates 1446 // View itself, and all its parent Views are visible. This also updates
1451 // visibility of the child layers. 1447 // visibility of the child layers.
1452 void UpdateLayerVisibility(); 1448 void UpdateLayerVisibility();
1453 void UpdateChildLayerVisibility(bool visible); 1449 void UpdateChildLayerVisibility(bool visible);
1454 1450
1455 enum class LayerChangeNotifyBehavior {
1456 // Notify the parent chain about the layer change.
1457 NOTIFY,
1458 // Don't notify the parent chain about the layer change.
1459 DONT_NOTIFY
1460 };
1461
1462 // Destroys the layer associated with this view, and reparents any descendants
1463 // to the destroyed layer's parent. If the view does not currently have a
1464 // layer, this has no effect.
1465 // The |notify_parents| enum controls whether a notification about the layer
1466 // change is sent to the parents.
1467 void DestroyLayerImpl(LayerChangeNotifyBehavior notify_parents);
1468
1469 // Notifies parents about layering changes in the view. This includes layer
1470 // creation and destruction.
1471 void NotifyParentsOfLayerChange();
1472
1473
1474 // Orphans the layers in this subtree that are parented to layers outside of 1451 // Orphans the layers in this subtree that are parented to layers outside of
1475 // this subtree. 1452 // this subtree.
1476 void OrphanLayers(); 1453 void OrphanLayers();
1477 1454
1478 // Input --------------------------------------------------------------------- 1455 // Input ---------------------------------------------------------------------
1479 1456
1480 bool ProcessMousePressed(const ui::MouseEvent& event); 1457 bool ProcessMousePressed(const ui::MouseEvent& event);
1481 bool ProcessMouseDragged(const ui::MouseEvent& event); 1458 bool ProcessMouseDragged(const ui::MouseEvent& event);
1482 void ProcessMouseReleased(const ui::MouseEvent& event); 1459 void ProcessMouseReleased(const ui::MouseEvent& event);
1483 1460
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1693 // Observers ------------------------------------------------------------- 1670 // Observers -------------------------------------------------------------
1694 1671
1695 base::ObserverList<ViewObserver> observers_; 1672 base::ObserverList<ViewObserver> observers_;
1696 1673
1697 DISALLOW_COPY_AND_ASSIGN(View); 1674 DISALLOW_COPY_AND_ASSIGN(View);
1698 }; 1675 };
1699 1676
1700 } // namespace views 1677 } // namespace views
1701 1678
1702 #endif // UI_VIEWS_VIEW_H_ 1679 #endif // UI_VIEWS_VIEW_H_
OLDNEW
« no previous file with comments | « ui/views/controls/scroll_view.cc ('k') | ui/views/view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698