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

Side by Side Diff: Source/core/layout/ScrollAlignment.h

Issue 1318713003: Make classes and structures in core/layout fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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
« no previous file with comments | « Source/core/layout/PointerEventsHitRules.h ('k') | Source/core/layout/SubtreeLayoutScope.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 /* 1 /*
2 * Copyright (C) 2003, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 27 matching lines...) Expand all
38 * deletingthe provisions above and replace them with the notice and 38 * deletingthe provisions above and replace them with the notice and
39 * other provisions required by the MPL or the GPL, as the case may be. 39 * other provisions required by the MPL or the GPL, as the case may be.
40 * If you do not delete the provisions above, a recipient may use your 40 * If you do not delete the provisions above, a recipient may use your
41 * version of this file under any of the LGPL, the MPL or the GPL. 41 * version of this file under any of the LGPL, the MPL or the GPL.
42 */ 42 */
43 43
44 #ifndef ScrollAlignment_h 44 #ifndef ScrollAlignment_h
45 #define ScrollAlignment_h 45 #define ScrollAlignment_h
46 46
47 #include "core/CoreExport.h" 47 #include "core/CoreExport.h"
48 #include "wtf/Allocator.h"
48 49
49 namespace blink { 50 namespace blink {
50 51
51 enum ScrollAlignmentBehavior { 52 enum ScrollAlignmentBehavior {
52 ScrollAlignmentNoScroll, 53 ScrollAlignmentNoScroll,
53 ScrollAlignmentCenter, 54 ScrollAlignmentCenter,
54 ScrollAlignmentTop, 55 ScrollAlignmentTop,
55 ScrollAlignmentBottom, 56 ScrollAlignmentBottom,
56 ScrollAlignmentLeft, 57 ScrollAlignmentLeft,
57 ScrollAlignmentRight, 58 ScrollAlignmentRight,
58 ScrollAlignmentClosestEdge 59 ScrollAlignmentClosestEdge
59 }; 60 };
60 61
61 class LayoutRect; 62 class LayoutRect;
62 63
63 struct CORE_EXPORT ScrollAlignment { 64 struct CORE_EXPORT ScrollAlignment {
65 STACK_ALLOCATED();
64 static ScrollAlignmentBehavior getVisibleBehavior(const ScrollAlignment& s) { return s.m_rectVisible; } 66 static ScrollAlignmentBehavior getVisibleBehavior(const ScrollAlignment& s) { return s.m_rectVisible; }
65 static ScrollAlignmentBehavior getPartialBehavior(const ScrollAlignment& s) { return s.m_rectPartial; } 67 static ScrollAlignmentBehavior getPartialBehavior(const ScrollAlignment& s) { return s.m_rectPartial; }
66 static ScrollAlignmentBehavior getHiddenBehavior(const ScrollAlignment& s) { return s.m_rectHidden; } 68 static ScrollAlignmentBehavior getHiddenBehavior(const ScrollAlignment& s) { return s.m_rectHidden; }
67 69
68 // FIXME: This function should probably go somewhere else but where? 70 // FIXME: This function should probably go somewhere else but where?
69 static LayoutRect getRectToExpose(const LayoutRect& visibleRect, const Layou tRect& exposeRect, const ScrollAlignment& alignX, const ScrollAlignment& alignY) ; 71 static LayoutRect getRectToExpose(const LayoutRect& visibleRect, const Layou tRect& exposeRect, const ScrollAlignment& alignX, const ScrollAlignment& alignY) ;
70 72
71 static const ScrollAlignment alignCenterIfNeeded; 73 static const ScrollAlignment alignCenterIfNeeded;
72 static const ScrollAlignment alignToEdgeIfNeeded; 74 static const ScrollAlignment alignToEdgeIfNeeded;
73 static const ScrollAlignment alignCenterAlways; 75 static const ScrollAlignment alignCenterAlways;
74 static const ScrollAlignment alignTopAlways; 76 static const ScrollAlignment alignTopAlways;
75 static const ScrollAlignment alignBottomAlways; 77 static const ScrollAlignment alignBottomAlways;
76 78
77 ScrollAlignmentBehavior m_rectVisible; 79 ScrollAlignmentBehavior m_rectVisible;
78 ScrollAlignmentBehavior m_rectHidden; 80 ScrollAlignmentBehavior m_rectHidden;
79 ScrollAlignmentBehavior m_rectPartial; 81 ScrollAlignmentBehavior m_rectPartial;
80 }; 82 };
81 83
82 84
83 } // namespace blink 85 } // namespace blink
84 86
85 #endif // ScrollAlignment_h 87 #endif // ScrollAlignment_h
OLDNEW
« no previous file with comments | « Source/core/layout/PointerEventsHitRules.h ('k') | Source/core/layout/SubtreeLayoutScope.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698