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

Side by Side Diff: ui/compositor/layer.h

Issue 17971002: Make RenderWidgetHostViewAura::CopyFromCompositingSurface readback layer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tabcapture-aura: SpellingIsHardLetsGoShopping Created 7 years, 5 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 | « content/port/browser/render_widget_host_view_port.h ('k') | ui/compositor/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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 UI_COMPOSITOR_LAYER_H_ 5 #ifndef UI_COMPOSITOR_LAYER_H_
6 #define UI_COMPOSITOR_LAYER_H_ 6 #define UI_COMPOSITOR_LAYER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 13 matching lines...) Expand all
24 #include "ui/compositor/layer_animation_delegate.h" 24 #include "ui/compositor/layer_animation_delegate.h"
25 #include "ui/compositor/layer_delegate.h" 25 #include "ui/compositor/layer_delegate.h"
26 #include "ui/compositor/layer_type.h" 26 #include "ui/compositor/layer_type.h"
27 #include "ui/gfx/rect.h" 27 #include "ui/gfx/rect.h"
28 #include "ui/gfx/transform.h" 28 #include "ui/gfx/transform.h"
29 29
30 class SkCanvas; 30 class SkCanvas;
31 31
32 namespace cc { 32 namespace cc {
33 class ContentLayer; 33 class ContentLayer;
34 class CopyOutputRequest;
34 class DelegatedFrameData; 35 class DelegatedFrameData;
35 class DelegatedRendererLayer; 36 class DelegatedRendererLayer;
36 class Layer; 37 class Layer;
37 class ResourceUpdateQueue; 38 class ResourceUpdateQueue;
38 class SolidColorLayer; 39 class SolidColorLayer;
39 class TextureLayer; 40 class TextureLayer;
40 struct TransferableResource; 41 struct TransferableResource;
41 typedef std::vector<TransferableResource> TransferableResourceArray; 42 typedef std::vector<TransferableResource> TransferableResourceArray;
42 } 43 }
43 44
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 254
254 // Set new TextureMailbox for this layer. Note that |mailbox| may hold a 255 // Set new TextureMailbox for this layer. Note that |mailbox| may hold a
255 // shared memory resource or an actual mailbox for a texture. 256 // shared memory resource or an actual mailbox for a texture.
256 void SetTextureMailbox(const cc::TextureMailbox& mailbox, float scale_factor); 257 void SetTextureMailbox(const cc::TextureMailbox& mailbox, float scale_factor);
257 cc::TextureMailbox GetTextureMailbox(float* scale_factor); 258 cc::TextureMailbox GetTextureMailbox(float* scale_factor);
258 259
259 // Sets a delegated frame, coming from a child compositor. 260 // Sets a delegated frame, coming from a child compositor.
260 void SetDelegatedFrame(scoped_ptr<cc::DelegatedFrameData> frame, 261 void SetDelegatedFrame(scoped_ptr<cc::DelegatedFrameData> frame,
261 gfx::Size frame_size_in_dip); 262 gfx::Size frame_size_in_dip);
262 263
264 bool has_external_content() {
265 return texture_layer_.get() || delegated_renderer_layer_.get();
266 }
267
263 // Gets unused resources to recycle to the child compositor. 268 // Gets unused resources to recycle to the child compositor.
264 void TakeUnusedResourcesForChildCompositor( 269 void TakeUnusedResourcesForChildCompositor(
265 cc::TransferableResourceArray* array); 270 cc::TransferableResourceArray* array);
266 271
267 // Sets the layer's fill color. May only be called for LAYER_SOLID_COLOR. 272 // Sets the layer's fill color. May only be called for LAYER_SOLID_COLOR.
268 void SetColor(SkColor color); 273 void SetColor(SkColor color);
269 274
270 // Adds |invalid_rect| to the Layer's pending invalid rect and calls 275 // Adds |invalid_rect| to the Layer's pending invalid rect and calls
271 // ScheduleDraw(). Returns false if the paint request is ignored. 276 // ScheduleDraw(). Returns false if the paint request is ignored.
272 bool SchedulePaint(const gfx::Rect& invalid_rect); 277 bool SchedulePaint(const gfx::Rect& invalid_rect);
(...skipping 22 matching lines...) Expand all
295 // not apply to the canvas passed to the pending draw. 300 // not apply to the canvas passed to the pending draw.
296 void set_scale_content(bool scale_content) { scale_content_ = scale_content; } 301 void set_scale_content(bool scale_content) { scale_content_ = scale_content; }
297 302
298 // Returns true if the layer scales its content. 303 // Returns true if the layer scales its content.
299 bool scale_content() const { return scale_content_; } 304 bool scale_content() const { return scale_content_; }
300 305
301 // Sometimes the Layer is being updated by something other than SetCanvas 306 // Sometimes the Layer is being updated by something other than SetCanvas
302 // (e.g. the GPU process on UI_COMPOSITOR_IMAGE_TRANSPORT). 307 // (e.g. the GPU process on UI_COMPOSITOR_IMAGE_TRANSPORT).
303 bool layer_updated_externally() const { return layer_updated_externally_; } 308 bool layer_updated_externally() const { return layer_updated_externally_; }
304 309
310 // Requets a copy of the layer's output as a texture or bitmap.
311 void RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request);
312
305 // ContentLayerClient 313 // ContentLayerClient
306 virtual void PaintContents( 314 virtual void PaintContents(
307 SkCanvas* canvas, gfx::Rect clip, gfx::RectF* opaque) OVERRIDE; 315 SkCanvas* canvas, gfx::Rect clip, gfx::RectF* opaque) OVERRIDE;
308 virtual void DidChangeLayerCanUseLCDText() OVERRIDE {} 316 virtual void DidChangeLayerCanUseLCDText() OVERRIDE {}
309 317
310 cc::Layer* cc_layer() { return cc_layer_; } 318 cc::Layer* cc_layer() { return cc_layer_; }
311 319
312 // TextureLayerClient 320 // TextureLayerClient
313 virtual unsigned PrepareTexture(cc::ResourceUpdateQueue* queue) OVERRIDE; 321 virtual unsigned PrepareTexture(cc::ResourceUpdateQueue* queue) OVERRIDE;
314 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE; 322 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 // The size of the delegated frame in DIP, set when SetDelegatedFrame was 485 // The size of the delegated frame in DIP, set when SetDelegatedFrame was
478 // called. 486 // called.
479 gfx::Size delegated_frame_size_in_dip_; 487 gfx::Size delegated_frame_size_in_dip_;
480 488
481 DISALLOW_COPY_AND_ASSIGN(Layer); 489 DISALLOW_COPY_AND_ASSIGN(Layer);
482 }; 490 };
483 491
484 } // namespace ui 492 } // namespace ui
485 493
486 #endif // UI_COMPOSITOR_LAYER_H_ 494 #endif // UI_COMPOSITOR_LAYER_H_
OLDNEW
« no previous file with comments | « content/port/browser/render_widget_host_view_port.h ('k') | ui/compositor/layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698