1// Copyright 2013 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 CompositingState_h
6#define CompositingState_h
7
8namespace blink {
9
10enum CompositingState {
11    // The layer paints into its enclosing composited ancestor.
12    NotComposited = 0,
13
14    // The layer is composited, but its contents still paint into enclosing composited ancestor.
15    // In this state, paint invalidations must be sent to the enclosing composited ancestor.
16    // Typically this happens when a layer's properties need to be represented in the compositor
17    // output data structures, but it doesn't actually have any other reasons to be composited.
18    HasOwnBackingButPaintsIntoAncestor = 1,
19
20    PaintsIntoOwnBacking = 2,
21
22    // In this state, the RenderLayer subtree paints into a backing that is shared by
23    // several RenderLayer subtrees.
24    PaintsIntoGroupedBacking = 3
25};
26
27} // namespace blink
28
29#endif // CompositingState_h
30