1 // Copyright 2012 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_PICTURE_PILE_H_
6 #define CC_PICTURE_PILE_H_
8 #include "cc/picture_pile_base.h"
9 #include "ui/gfx/rect.h"
12 class PicturePileImpl
;
14 struct RenderingStats
;
16 class CC_EXPORT PicturePile
: public PicturePileBase
{
20 // Re-record parts of the picture that are invalid.
21 // Invalidations are in layer space.
23 ContentLayerClient
* painter
,
24 const Region
& invalidation
,
25 gfx::Rect visible_layer_rect
,
26 RenderingStats
& stats
);
28 // Update other with a shallow copy of this (main => compositor thread commit)
29 void PushPropertiesTo(PicturePileImpl
* other
);
32 virtual ~PicturePile();
33 friend class PicturePileImpl
;
35 // Add an invalidation to this picture list. If the list needs to be
36 // entirely recreated, leave it empty. Do not call this on an empty list.
38 PictureList
& picture_list
,
39 gfx::Rect invalidation
);
41 DISALLOW_COPY_AND_ASSIGN(PicturePile
);
46 #endif // CC_PICTURE_PILE_H_