OLD | NEW |
1 // Copyright 2010 The Chromium Authors. All rights reserved. | 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 | 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 CCPriorityCalculator_h | 5 #ifndef CCPriorityCalculator_h |
6 #define CCPriorityCalculator_h | 6 #define CCPriorityCalculator_h |
7 | 7 |
8 #include "GraphicsContext3D.h" | 8 #include "GraphicsContext3D.h" |
9 #include "IntRect.h" | 9 #include "IntRect.h" |
10 #include "IntSize.h" | 10 #include "IntSize.h" |
11 | 11 |
12 namespace WebCore { | 12 namespace cc { |
13 | 13 |
14 class CCPriorityCalculator { | 14 class CCPriorityCalculator { |
15 public: | 15 public: |
16 static int uiPriority(bool drawsToRootSurface); | 16 static int uiPriority(bool drawsToRootSurface); |
17 static int visiblePriority(bool drawsToRootSurface); | 17 static int visiblePriority(bool drawsToRootSurface); |
18 static int renderSurfacePriority(); | 18 static int renderSurfacePriority(); |
19 static int lingeringPriority(int previousPriority); | 19 static int lingeringPriority(int previousPriority); |
20 int priorityFromDistance(const IntRect& visibleRect, const IntRect& textureR
ect, bool drawsToRootSurface) const; | 20 int priorityFromDistance(const IntRect& visibleRect, const IntRect& textureR
ect, bool drawsToRootSurface) const; |
21 int priorityFromDistance(unsigned pixels, bool drawsToRootSurface) const; | 21 int priorityFromDistance(unsigned pixels, bool drawsToRootSurface) const; |
22 int priorityFromVisibility(bool visible, bool drawsToRootSurface) const; | 22 int priorityFromVisibility(bool visible, bool drawsToRootSurface) const; |
23 | 23 |
24 static inline int highestPriority() { return std::numeric_limits<int>::min()
; } | 24 static inline int highestPriority() { return std::numeric_limits<int>::min()
; } |
25 static inline int lowestPriority() { return std::numeric_limits<int>::max();
} | 25 static inline int lowestPriority() { return std::numeric_limits<int>::max();
} |
26 static inline bool priorityIsLower(int a, int b) { return a > b; } | 26 static inline bool priorityIsLower(int a, int b) { return a > b; } |
27 static inline bool priorityIsHigher(int a, int b) { return a < b; } | 27 static inline bool priorityIsHigher(int a, int b) { return a < b; } |
28 static inline bool maxPriority(int a, int b) { return priorityIsHigher(a, b)
? a : b; } | 28 static inline bool maxPriority(int a, int b) { return priorityIsHigher(a, b)
? a : b; } |
29 }; | 29 }; |
30 | 30 |
31 } | 31 } |
32 | 32 |
33 #endif | 33 #endif |
OLD | NEW |