// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CC_PICTURE_PILE_BASE_H_ #define CC_PICTURE_PILE_BASE_H_ #include <list> #include "base/memory/ref_counted.h" #include "cc/cc_export.h" #include "cc/picture.h" #include "ui/gfx/size.h" namespace cc { class CC_EXPORT PicturePileBase : public base::RefCounted<PicturePileBase> { public: PicturePileBase(); void Resize(gfx::Size size); gfx::Size size() const { return size_; } void SetMinContentsScale(float min_contents_scale); void PushPropertiesTo(PicturePileBase* other); protected: ~PicturePileBase(); typedef std::list<scoped_refptr<Picture> > Pile; Pile pile_; gfx::Size size_; float min_contents_scale_; int buffer_pixels_; friend class base::RefCounted<PicturePileBase>; DISALLOW_COPY_AND_ASSIGN(PicturePileBase); }; } // namespace cc #endif // CC_PICTURE_PILE_H_