aw: Move SharedRendererState out of AwContents
[chromium-blink-merge.git] / cc / resources / priority_calculator.h
blob502bd2734f8c7a7e127ea6feb7c3857a782bda0c
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.
5 #ifndef CC_RESOURCES_PRIORITY_CALCULATOR_H_
6 #define CC_RESOURCES_PRIORITY_CALCULATOR_H_
8 #include "base/basictypes.h"
9 #include "cc/base/cc_export.h"
11 namespace gfx { class Rect; }
13 namespace cc {
15 class CC_EXPORT PriorityCalculator {
16 public:
17 PriorityCalculator() {}
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();
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;
36 static int AllowNothingCutoff();
37 static int AllowVisibleOnlyCutoff();
38 static int AllowVisibleAndNearbyCutoff();
39 static int AllowEverythingCutoff();
41 private:
42 DISALLOW_COPY_AND_ASSIGN(PriorityCalculator);
45 } // namespace cc
47 #endif // CC_RESOURCES_PRIORITY_CALCULATOR_H_