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

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

Issue 23648014: cc: Move TextureMailbox::ReleaseCallback to SingleReleaseCallback. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: releasecallback: SingleReleaseCallback Created 7 years, 3 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/renderer/pepper/pepper_plugin_instance_impl.cc ('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 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 249
250 const ui::Texture* texture() const { return texture_.get(); } 250 const ui::Texture* texture() const { return texture_.get(); }
251 251
252 // Assigns a new external texture. |texture| can be NULL to disable external 252 // Assigns a new external texture. |texture| can be NULL to disable external
253 // updates. 253 // updates.
254 void SetExternalTexture(ui::Texture* texture); 254 void SetExternalTexture(ui::Texture* texture);
255 ui::Texture* external_texture() { return texture_.get(); } 255 ui::Texture* external_texture() { return texture_.get(); }
256 256
257 // Set new TextureMailbox for this layer. Note that |mailbox| may hold a 257 // Set new TextureMailbox for this layer. Note that |mailbox| may hold a
258 // shared memory resource or an actual mailbox for a texture. 258 // shared memory resource or an actual mailbox for a texture.
259 void SetTextureMailbox(const cc::TextureMailbox& mailbox, float scale_factor); 259 void SetTextureMailbox(const cc::TextureMailbox& mailbox,
260 scoped_ptr<cc::SingleReleaseCallback> release_callback,
261 float scale_factor);
260 cc::TextureMailbox GetTextureMailbox(float* scale_factor); 262 cc::TextureMailbox GetTextureMailbox(float* scale_factor);
261 263
262 // Sets a delegated frame, coming from a child compositor. 264 // Sets a delegated frame, coming from a child compositor.
263 void SetDelegatedFrame(scoped_ptr<cc::DelegatedFrameData> frame, 265 void SetDelegatedFrame(scoped_ptr<cc::DelegatedFrameData> frame,
264 gfx::Size frame_size_in_dip); 266 gfx::Size frame_size_in_dip);
265 267
266 bool has_external_content() { 268 bool has_external_content() {
267 return texture_layer_.get() || delegated_renderer_layer_.get(); 269 return texture_layer_.get() || delegated_renderer_layer_.get();
268 } 270 }
269 271
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 // ContentLayerClient 317 // ContentLayerClient
316 virtual void PaintContents( 318 virtual void PaintContents(
317 SkCanvas* canvas, gfx::Rect clip, gfx::RectF* opaque) OVERRIDE; 319 SkCanvas* canvas, gfx::Rect clip, gfx::RectF* opaque) OVERRIDE;
318 virtual void DidChangeLayerCanUseLCDText() OVERRIDE {} 320 virtual void DidChangeLayerCanUseLCDText() OVERRIDE {}
319 321
320 cc::Layer* cc_layer() { return cc_layer_; } 322 cc::Layer* cc_layer() { return cc_layer_; }
321 323
322 // TextureLayerClient 324 // TextureLayerClient
323 virtual unsigned PrepareTexture() OVERRIDE; 325 virtual unsigned PrepareTexture() OVERRIDE;
324 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE; 326 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE;
325 virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox, 327 virtual bool PrepareTextureMailbox(
326 bool use_shared_memory) OVERRIDE; 328 cc::TextureMailbox* mailbox,
329 scoped_ptr<cc::SingleReleaseCallback>* release_callback,
330 bool use_shared_memory) OVERRIDE;
327 331
328 float device_scale_factor() const { return device_scale_factor_; } 332 float device_scale_factor() const { return device_scale_factor_; }
329 333
330 // Forces a render surface to be used on this layer. This has no positive 334 // Forces a render surface to be used on this layer. This has no positive
331 // impact, and is only used for benchmarking/testing purpose. 335 // impact, and is only used for benchmarking/testing purpose.
332 void SetForceRenderSurface(bool force); 336 void SetForceRenderSurface(bool force);
333 bool force_render_surface() const { return force_render_surface_; } 337 bool force_render_surface() const { return force_render_surface_; }
334 338
335 // LayerClient 339 // LayerClient
336 virtual std::string DebugName() OVERRIDE; 340 virtual std::string DebugName() OVERRIDE;
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 473
470 // Ownership of the layer is held through one of the strongly typed layer 474 // Ownership of the layer is held through one of the strongly typed layer
471 // pointers, depending on which sort of layer this is. 475 // pointers, depending on which sort of layer this is.
472 scoped_refptr<cc::ContentLayer> content_layer_; 476 scoped_refptr<cc::ContentLayer> content_layer_;
473 scoped_refptr<cc::TextureLayer> texture_layer_; 477 scoped_refptr<cc::TextureLayer> texture_layer_;
474 scoped_refptr<cc::SolidColorLayer> solid_color_layer_; 478 scoped_refptr<cc::SolidColorLayer> solid_color_layer_;
475 scoped_refptr<cc::DelegatedRendererLayer> delegated_renderer_layer_; 479 scoped_refptr<cc::DelegatedRendererLayer> delegated_renderer_layer_;
476 cc::Layer* cc_layer_; 480 cc::Layer* cc_layer_;
477 481
478 // If true, the layer scales the canvas and the texture with the device scale 482 // If true, the layer scales the canvas and the texture with the device scale
479 // factor as appropriate. When true, the texture size is in DIP. 483 // factor as apporpriate. When true, the texture size is in DIP.
480 bool scale_content_; 484 bool scale_content_;
481 485
482 // A cached copy of |Compositor::device_scale_factor()|. 486 // A cached copy of |Compositor::device_scale_factor()|.
483 float device_scale_factor_; 487 float device_scale_factor_;
484 488
485 // A cached copy of the TextureMailbox given texture_layer_. 489 // A cached copy of the TextureMailbox given texture_layer_.
486 cc::TextureMailbox mailbox_; 490 cc::TextureMailbox mailbox_;
487 491
488 // Device scale factor in which mailbox_ was rendered in. 492 // Device scale factor in which mailbox_ was rendered in.
489 float mailbox_scale_factor_; 493 float mailbox_scale_factor_;
490 494
491 // The size of the delegated frame in DIP, set when SetDelegatedFrame was 495 // The size of the delegated frame in DIP, set when SetDelegatedFrame was
492 // called. 496 // called.
493 gfx::Size delegated_frame_size_in_dip_; 497 gfx::Size delegated_frame_size_in_dip_;
494 498
495 DISALLOW_COPY_AND_ASSIGN(Layer); 499 DISALLOW_COPY_AND_ASSIGN(Layer);
496 }; 500 };
497 501
498 } // namespace ui 502 } // namespace ui
499 503
500 #endif // UI_COMPOSITOR_LAYER_H_ 504 #endif // UI_COMPOSITOR_LAYER_H_
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_plugin_instance_impl.cc ('k') | ui/compositor/layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698