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

Side by Side Diff: cc/delegated_renderer_layer_impl.h

Issue 12603013: Part 10 of cc/ directory shuffles: layers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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/delegated_renderer_layer.cc ('k') | cc/delegated_renderer_layer_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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.
4
5 #ifndef CC_DELEGATED_RENDERER_LAYER_IMPL_H_
6 #define CC_DELEGATED_RENDERER_LAYER_IMPL_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/base/cc_export.h"
10 #include "cc/base/scoped_ptr_vector.h"
11 #include "cc/layer_impl.h"
12
13 namespace cc {
14 class DelegatedFrameData;
15
16 class CC_EXPORT DelegatedRendererLayerImpl : public LayerImpl {
17 public:
18 static scoped_ptr<DelegatedRendererLayerImpl> Create(
19 LayerTreeImpl* tree_impl, int id) {
20 return make_scoped_ptr(new DelegatedRendererLayerImpl(tree_impl, id));
21 }
22 virtual ~DelegatedRendererLayerImpl();
23
24 // LayerImpl overrides.
25 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl*) OVERRIDE;
26 virtual bool HasDelegatedContent() const OVERRIDE;
27 virtual bool HasContributingDelegatedRenderPasses() const OVERRIDE;
28 virtual RenderPass::Id FirstContributingRenderPassId() const OVERRIDE;
29 virtual RenderPass::Id NextContributingRenderPassId(
30 RenderPass::Id previous) const OVERRIDE;
31 virtual void DidLoseOutputSurface() OVERRIDE;
32 virtual void AppendQuads(QuadSink* quad_sink,
33 AppendQuadsData* append_quads_data) OVERRIDE;
34
35 void AppendContributingRenderPasses(RenderPassSink* render_pass_sink);
36
37 void SetFrameData(scoped_ptr<DelegatedFrameData> frame_data,
38 gfx::RectF damage_in_frame,
39 TransferableResourceArray* resources_for_ack);
40
41 void SetDisplaySize(gfx::Size size);
42
43 protected:
44 DelegatedRendererLayerImpl(LayerTreeImpl* tree_impl, int id);
45
46 int ChildIdForTesting() const { return child_id_; }
47 const ScopedPtrVector<RenderPass>& RenderPassesInDrawOrderForTesting() const {
48 return render_passes_in_draw_order_;
49 }
50 const ResourceProvider::ResourceIdSet& ResourcesForTesting() const {
51 return resources_;
52 }
53
54 private:
55 // Creates an ID with the resource provider for the child renderer
56 // that will be sending quads to the layer.
57 void CreateChildIdIfNeeded();
58 void ClearChildId();
59
60 void SetRenderPasses(
61 ScopedPtrVector<RenderPass>* render_passes_in_draw_order);
62 void ClearRenderPasses();
63
64 RenderPass::Id ConvertDelegatedRenderPassId(
65 RenderPass::Id delegated_render_pass_id) const;
66
67 gfx::Transform DelegatedFrameToLayerSpaceTransform(gfx::Size frame_size)
68 const;
69
70 void AppendRenderPassQuads(
71 QuadSink* quad_sink,
72 AppendQuadsData* append_quads_data,
73 const RenderPass* delegated_render_pass,
74 gfx::Size frame_size) const;
75
76 // LayerImpl overrides.
77 virtual const char* LayerTypeAsString() const OVERRIDE;
78
79 ScopedPtrVector<RenderPass> render_passes_in_draw_order_;
80 base::hash_map<RenderPass::Id, int> render_passes_index_by_id_;
81 ResourceProvider::ResourceIdSet resources_;
82
83 gfx::Size display_size_;
84 int child_id_;
85 };
86
87 }
88
89 #endif // CC_DELEGATED_RENDERER_LAYER_IMPL_H_
OLDNEW
« no previous file with comments | « cc/delegated_renderer_layer.cc ('k') | cc/delegated_renderer_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698