OLD | NEW |
| (Empty) |
1 // Copyright 2010 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CC_RESOURCES_PRIORITY_CALCULATOR_H_ | |
6 #define CC_RESOURCES_PRIORITY_CALCULATOR_H_ | |
7 | |
8 #include "base/basictypes.h" | |
9 #include "cc/base/cc_export.h" | |
10 | |
11 namespace gfx { class Rect; } | |
12 | |
13 namespace cc { | |
14 | |
15 class CC_EXPORT PriorityCalculator { | |
16 public: | |
17 PriorityCalculator() {} | |
18 | |
19 static int UIPriority(bool draws_to_root_surface); | |
20 static int VisiblePriority(bool draws_to_root_surface); | |
21 static int RenderSurfacePriority(); | |
22 static int LingeringPriority(int previous_priority); | |
23 static int PriorityFromDistance(const gfx::Rect& visible_rect, | |
24 const gfx::Rect& texture_rect, | |
25 bool draws_to_root_surface); | |
26 static int SmallAnimatedLayerMinPriority(); | |
27 | |
28 static int HighestPriority(); | |
29 static int LowestPriority(); | |
30 static inline bool priority_is_lower(int a, int b) { return a > b; } | |
31 static inline bool priority_is_higher(int a, int b) { return a < b; } | |
32 static inline int max_priority(int a, int b) { | |
33 return priority_is_higher(a, b) ? a : b; | |
34 } | |
35 | |
36 static int AllowNothingCutoff(); | |
37 static int AllowVisibleOnlyCutoff(); | |
38 static int AllowVisibleAndNearbyCutoff(); | |
39 static int AllowEverythingCutoff(); | |
40 | |
41 private: | |
42 DISALLOW_COPY_AND_ASSIGN(PriorityCalculator); | |
43 }; | |
44 | |
45 } // namespace cc | |
46 | |
47 #endif // CC_RESOURCES_PRIORITY_CALCULATOR_H_ | |
OLD | NEW |