Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: cc/layers/image_layer.h

Issue 1122393003: CC: Plumb LayerSettings parameter for cc::Layer construction. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/layers/heads_up_display_unittest.cc ('k') | cc/layers/image_layer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_LAYERS_IMAGE_LAYER_H_ 5 #ifndef CC_LAYERS_IMAGE_LAYER_H_
6 #define CC_LAYERS_IMAGE_LAYER_H_ 6 #define CC_LAYERS_IMAGE_LAYER_H_
7 7
8 #include "cc/base/cc_export.h" 8 #include "cc/base/cc_export.h"
9 #include "cc/layers/content_layer.h" 9 #include "cc/layers/content_layer.h"
10 #include "third_party/skia/include/core/SkBitmap.h" 10 #include "third_party/skia/include/core/SkBitmap.h"
11 11
12 namespace cc { 12 namespace cc {
13 13
14 class ImageLayerUpdater; 14 class ImageLayerUpdater;
15 15
16 // A Layer that contains only an Image element. 16 // A Layer that contains only an Image element.
17 class CC_EXPORT ImageLayer : public TiledLayer { 17 class CC_EXPORT ImageLayer : public TiledLayer {
18 public: 18 public:
19 static scoped_refptr<ImageLayer> Create(); 19 static scoped_refptr<ImageLayer> Create(const LayerSettings& settings);
20 20
21 // Layer implementation. 21 // Layer implementation.
22 void SetTexturePriorities(const PriorityCalculator& priority_calc) override; 22 void SetTexturePriorities(const PriorityCalculator& priority_calc) override;
23 bool Update(ResourceUpdateQueue* queue, 23 bool Update(ResourceUpdateQueue* queue,
24 const OcclusionTracker<Layer>* occlusion) override; 24 const OcclusionTracker<Layer>* occlusion) override;
25 void CalculateContentsScale(float ideal_contents_scale, 25 void CalculateContentsScale(float ideal_contents_scale,
26 float* contents_scale_x, 26 float* contents_scale_x,
27 float* contents_scale_y, 27 float* contents_scale_y,
28 gfx::Size* content_bounds) override; 28 gfx::Size* content_bounds) override;
29 void OnOutputSurfaceCreated() override; 29 void OnOutputSurfaceCreated() override;
30 30
31 void SetBitmap(const SkBitmap& image); 31 void SetBitmap(const SkBitmap& image);
32 32
33 protected: 33 protected:
34 bool HasDrawableContent() const override; 34 bool HasDrawableContent() const override;
35 35
36 private: 36 private:
37 ImageLayer(); 37 explicit ImageLayer(const LayerSettings& settings);
38 ~ImageLayer() override; 38 ~ImageLayer() override;
39 39
40 // TiledLayer Implementation. 40 // TiledLayer Implementation.
41 LayerUpdater* Updater() const override; 41 LayerUpdater* Updater() const override;
42 void CreateUpdaterIfNeeded() override; 42 void CreateUpdaterIfNeeded() override;
43 43
44 float ImageContentsScaleX() const; 44 float ImageContentsScaleX() const;
45 float ImageContentsScaleY() const; 45 float ImageContentsScaleY() const;
46 46
47 SkBitmap bitmap_; 47 SkBitmap bitmap_;
48 48
49 scoped_refptr<ImageLayerUpdater> updater_; 49 scoped_refptr<ImageLayerUpdater> updater_;
50 50
51 DISALLOW_COPY_AND_ASSIGN(ImageLayer); 51 DISALLOW_COPY_AND_ASSIGN(ImageLayer);
52 }; 52 };
53 53
54 } // namespace cc 54 } // namespace cc
55 55
56 #endif // CC_LAYERS_IMAGE_LAYER_H_ 56 #endif // CC_LAYERS_IMAGE_LAYER_H_
OLDNEW
« no previous file with comments | « cc/layers/heads_up_display_unittest.cc ('k') | cc/layers/image_layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698