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

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

Issue 226283004: Rasterize at maximum scale for scale animations on CPU-rasterized layers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « cc/layers/contents_scaling_layer.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();
20 20
21 // Layer implementation. 21 // Layer implementation.
22 virtual bool DrawsContent() const OVERRIDE; 22 virtual bool DrawsContent() const OVERRIDE;
23 virtual void SetTexturePriorities(const PriorityCalculator& priority_calc) 23 virtual void SetTexturePriorities(const PriorityCalculator& priority_calc)
24 OVERRIDE; 24 OVERRIDE;
25 virtual bool Update(ResourceUpdateQueue* queue, 25 virtual bool Update(ResourceUpdateQueue* queue,
26 const OcclusionTracker<Layer>* occlusion) OVERRIDE; 26 const OcclusionTracker<Layer>* occlusion) OVERRIDE;
27 virtual void CalculateContentsScale(float ideal_contents_scale, 27 virtual void CalculateContentsScale(float ideal_contents_scale,
28 float device_scale_factor, 28 float device_scale_factor,
29 float page_scale_factor, 29 float page_scale_factor,
30 float maximum_animation_contents_scale,
30 bool animating_transform_to_screen, 31 bool animating_transform_to_screen,
31 float* contents_scale_x, 32 float* contents_scale_x,
32 float* contents_scale_y, 33 float* contents_scale_y,
33 gfx::Size* content_bounds) OVERRIDE; 34 gfx::Size* content_bounds) OVERRIDE;
34 virtual void OnOutputSurfaceCreated() OVERRIDE; 35 virtual void OnOutputSurfaceCreated() OVERRIDE;
35 36
36 void SetBitmap(const SkBitmap& image); 37 void SetBitmap(const SkBitmap& image);
37 38
38 private: 39 private:
39 ImageLayer(); 40 ImageLayer();
40 virtual ~ImageLayer(); 41 virtual ~ImageLayer();
41 42
42 // TiledLayer Implementation. 43 // TiledLayer Implementation.
43 virtual LayerUpdater* Updater() const OVERRIDE; 44 virtual LayerUpdater* Updater() const OVERRIDE;
44 virtual void CreateUpdaterIfNeeded() OVERRIDE; 45 virtual void CreateUpdaterIfNeeded() OVERRIDE;
45 46
46 float ImageContentsScaleX() const; 47 float ImageContentsScaleX() const;
47 float ImageContentsScaleY() const; 48 float ImageContentsScaleY() const;
48 49
49 SkBitmap bitmap_; 50 SkBitmap bitmap_;
50 51
51 scoped_refptr<ImageLayerUpdater> updater_; 52 scoped_refptr<ImageLayerUpdater> updater_;
52 53
53 DISALLOW_COPY_AND_ASSIGN(ImageLayer); 54 DISALLOW_COPY_AND_ASSIGN(ImageLayer);
54 }; 55 };
55 56
56 } // namespace cc 57 } // namespace cc
57 58
58 #endif // CC_LAYERS_IMAGE_LAYER_H_ 59 #endif // CC_LAYERS_IMAGE_LAYER_H_
OLDNEW
« no previous file with comments | « cc/layers/contents_scaling_layer.cc ('k') | cc/layers/image_layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698