Revert "Merged all Chromoting Host code into remoting_core.dll (Windows)."
[chromium-blink-merge.git] / cc / picture_pile.h
blobe5818ce455d6413beb4dcbd330897cb715553f37
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"
11 namespace cc {
12 class PicturePileImpl;
13 class Region;
14 struct RenderingStats;
16 class CC_EXPORT PicturePile : public PicturePileBase {
17 public:
18 PicturePile();
20 // Re-record parts of the picture that are invalid.
21 // Invalidations are in layer space.
22 void Update(
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);
31 private:
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.
37 void InvalidateRect(
38 PictureList& picture_list,
39 gfx::Rect invalidation);
41 DISALLOW_COPY_AND_ASSIGN(PicturePile);
44 } // namespace cc
46 #endif // CC_PICTURE_PILE_H_