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

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

Issue 2770603002: Add --draw-view-bounds-rects to draw bounds rects for all views. (Closed)
Patch Set: Review comments Created 3 years, 9 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 | « no previous file | 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 54
55 namespace ui { 55 namespace ui {
56 struct AXActionData; 56 struct AXActionData;
57 struct AXNodeData; 57 struct AXNodeData;
58 class Compositor; 58 class Compositor;
59 class InputMethod; 59 class InputMethod;
60 class Layer; 60 class Layer;
61 class NativeTheme; 61 class NativeTheme;
62 class PaintContext; 62 class PaintContext;
63 class ThemeProvider; 63 class ThemeProvider;
64 class TransformRecorder;
64 } 65 }
65 66
66 namespace views { 67 namespace views {
67 68
68 class Background; 69 class Background;
69 class Border; 70 class Border;
70 class ContextMenuController; 71 class ContextMenuController;
71 class DragController; 72 class DragController;
72 class FocusManager; 73 class FocusManager;
73 class FocusTraversable; 74 class FocusTraversable;
(...skipping 1210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 SCHEDULE_PAINT_SIZE_CHANGED 1285 SCHEDULE_PAINT_SIZE_CHANGED
1285 }; 1286 };
1286 1287
1287 // Invoked before and after the bounds change to schedule painting the old and 1288 // Invoked before and after the bounds change to schedule painting the old and
1288 // new bounds. 1289 // new bounds.
1289 void SchedulePaintBoundsChanged(SchedulePaintType type); 1290 void SchedulePaintBoundsChanged(SchedulePaintType type);
1290 1291
1291 // Schedules a paint on the parent View if it exists. 1292 // Schedules a paint on the parent View if it exists.
1292 void SchedulePaintOnParent(); 1293 void SchedulePaintOnParent();
1293 1294
1295 // Returns whether this view is eligible for painting, i.e. is visible and
1296 // nonempty. Note that this does not behave like IsDrawn(), since it doesn't
1297 // check ancestors recursively; rather, it's used to prune subtrees of views
1298 // during painting.
1299 bool ShouldPaint() const;
1300
1301 // Returns the offset that should be used when constructing the paint context
1302 // for this view.
1303 gfx::Vector2d GetPaintContextOffset() const;
1304
1305 // Adjusts the transform of |recorder| in advance of painting.
1306 void SetupTransformRecorderForPainting(ui::TransformRecorder* recorder) const;
1307
1308 // Recursively calls the painting method |func| on all non-layered children,
1309 // in Z order.
1310 void RecursivePaintHelper(void (View::*func)(const ui::PaintContext&),
1311 const ui::PaintContext& context);
1312
1313 // Invokes Paint() and, if necessary, PaintDebugRects(). Should be called
1314 // only on the root of a widget/layer. PaintDebugRects() is invoked as a
1315 // separate pass, instead of being rolled into Paint(), so that siblings will
1316 // not obscure debug rects.
1317 void PaintFromPaintRoot(const ui::PaintContext& parent_context);
1318
1319 // Draws a semitransparent rect to indicate the bounds of this view.
1320 // Recursively does the same for all children. Invoked only with
1321 // --draw-view-bounds-rects.
1322 void PaintDebugRects(const ui::PaintContext& parent_context);
1323
1294 // Tree operations ----------------------------------------------------------- 1324 // Tree operations -----------------------------------------------------------
1295 1325
1296 // Removes |view| from the hierarchy tree. If |update_focus_cycle| is true, 1326 // Removes |view| from the hierarchy tree. If |update_focus_cycle| is true,
1297 // the next and previous focusable views of views pointing to this view are 1327 // the next and previous focusable views of views pointing to this view are
1298 // updated. If |update_tool_tip| is true, the tooltip is updated. If 1328 // updated. If |update_tool_tip| is true, the tooltip is updated. If
1299 // |delete_removed_view| is true, the view is also deleted (if it is parent 1329 // |delete_removed_view| is true, the view is also deleted (if it is parent
1300 // owned). If |new_parent| is not NULL, the remove is the result of 1330 // owned). If |new_parent| is not NULL, the remove is the result of
1301 // AddChildView() to a new parent. For this case, |new_parent| is the View 1331 // AddChildView() to a new parent. For this case, |new_parent| is the View
1302 // that |view| is going to be added to after the remove completes. 1332 // that |view| is going to be added to after the remove completes.
1303 void DoRemoveChildView(View* view, 1333 void DoRemoveChildView(View* view,
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1640 // Observers ------------------------------------------------------------- 1670 // Observers -------------------------------------------------------------
1641 1671
1642 base::ObserverList<ViewObserver> observers_; 1672 base::ObserverList<ViewObserver> observers_;
1643 1673
1644 DISALLOW_COPY_AND_ASSIGN(View); 1674 DISALLOW_COPY_AND_ASSIGN(View);
1645 }; 1675 };
1646 1676
1647 } // namespace views 1677 } // namespace views
1648 1678
1649 #endif // UI_VIEWS_VIEW_H_ 1679 #endif // UI_VIEWS_VIEW_H_
OLDNEW
« no previous file with comments | « no previous file | ui/views/view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698