Update mojo sdk to rev cb6c5abfadfea0ca73dca466e2894554ac1ae144
[chromium-blink-merge.git] / cc / trees / draw_property_utils.h
blob78c3c53f508c3b2c8c810b9d9272f51b2ec0b8ca
1 // Copyright 2014 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_TREES_DRAW_PROPERTY_UTILS_H_
6 #define CC_TREES_DRAW_PROPERTY_UTILS_H_
8 #include "cc/base/cc_export.h"
10 namespace gfx {
11 class Rect;
12 class Transform;
13 } // namespace gfx
15 namespace cc {
17 class ClipTree;
18 class Layer;
19 class OpacityTree;
20 class TransformTree;
22 // Computes combined clips for every node in |clip_tree|. This function requires
23 // that |transform_tree| has been updated via |ComputeTransforms|.
24 // TODO(vollick): ComputeClips and ComputeTransforms will eventually need to be
25 // done on both threads.
26 void CC_EXPORT
27 ComputeClips(ClipTree* clip_tree, const TransformTree& transform_tree);
29 // Computes combined (screen space) transforms for every node in the transform
30 // tree. This must be done prior to calling |ComputeClips|.
31 void CC_EXPORT ComputeTransforms(TransformTree* transform_tree);
33 // Computes the visible content rect for every layer under |root_layer|. The
34 // visible content rect is the clipped content space rect that will be used for
35 // recording.
36 void CC_EXPORT
37 ComputeVisibleRectsUsingPropertyTrees(Layer* root_layer,
38 const Layer* page_scale_layer,
39 float page_scale_factor,
40 float device_scale_factor,
41 const gfx::Rect& viewport,
42 const gfx::Transform& device_transform,
43 TransformTree* transform_tree,
44 ClipTree* clip_tree,
45 OpacityTree* opacity_tree);
47 } // namespace cc
49 #endif // CC_TREES_DRAW_PROPERTY_UTILS_H_