Mailbox support for texture layers.
[chromium-blink-merge.git] / cc / picture_image_layer.h
blob179102d6577adecc30d5419a56d94317df9e36db
1 // Copyright 2010 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_IMAGE_LAYER_H_
6 #define CC_PICTURE_IMAGE_LAYER_H_
8 #include "cc/cc_export.h"
9 #include "cc/content_layer_client.h"
10 #include "cc/picture_layer.h"
11 #include "third_party/skia/include/core/SkBitmap.h"
12 #include "ui/gfx/size.h"
14 namespace cc {
16 class CC_EXPORT PictureImageLayer : public PictureLayer, ContentLayerClient {
17 public:
18 static scoped_refptr<PictureImageLayer> create();
20 void setBitmap(const SkBitmap& image);
22 // Layer implementation.
23 virtual void update(
24 ResourceUpdateQueue& queue,
25 const OcclusionTracker* tracker,
26 RenderingStats& stats) OVERRIDE;
28 // ContentLayerClient implementation.
29 virtual void paintContents(
30 SkCanvas* canvas,
31 const gfx::Rect& clip,
32 gfx::RectF& opaque) OVERRIDE;
34 private:
35 PictureImageLayer();
36 virtual ~PictureImageLayer();
38 SkBitmap bitmap_;
39 gfx::Size bounds_;
42 } // namespace cc
44 #endif // CC_PICTURE_IMAGE_LAYER_H_