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

Side by Side Diff: webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h

Issue 18432002: Blend TextureLayer background-color at draw time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: added TextureLayer unittest 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
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_EXTERNAL_TEXTURE_LAYER_IMPL_H_ 5 #ifndef WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_EXTERNAL_TEXTURE_LAYER_IMPL_H_
6 #define WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_EXTERNAL_TEXTURE_LAYER_IMPL_H_ 6 #define WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_EXTERNAL_TEXTURE_LAYER_IMPL_H_
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "cc/layers/texture_layer_client.h" 10 #include "cc/layers/texture_layer_client.h"
(...skipping 21 matching lines...) Expand all
32 virtual ~WebExternalTextureLayerImpl(); 32 virtual ~WebExternalTextureLayerImpl();
33 33
34 // WebKit::WebExternalTextureLayer implementation. 34 // WebKit::WebExternalTextureLayer implementation.
35 virtual WebKit::WebLayer* layer(); 35 virtual WebKit::WebLayer* layer();
36 virtual void clearTexture(); 36 virtual void clearTexture();
37 virtual void setTextureId(unsigned texture_id); 37 virtual void setTextureId(unsigned texture_id);
38 virtual void setFlipped(bool flipped); 38 virtual void setFlipped(bool flipped);
39 virtual void setUVRect(const WebKit::WebFloatRect& uv_rect); 39 virtual void setUVRect(const WebKit::WebFloatRect& uv_rect);
40 virtual void setOpaque(bool opaque); 40 virtual void setOpaque(bool opaque);
41 virtual void setPremultipliedAlpha(bool premultiplied); 41 virtual void setPremultipliedAlpha(bool premultiplied);
42 #if WEB_EXTERNAL_TEXTURE_LAYER_HAS_BLEND_BACKGROUND_COLOR
43 virtual void setBlendBackgroundColor(bool blend);
44 #endif // WEB_EXTERNAL_TEXTURE_LAYER_HAS_BLEND_BACKGROUND_COLOR
42 45
43 virtual void willModifyTexture(); 46 virtual void willModifyTexture();
44 virtual void setRateLimitContext(bool rate_limit); 47 virtual void setRateLimitContext(bool rate_limit);
45 48
46 // TextureLayerClient implementation. 49 // TextureLayerClient implementation.
47 virtual unsigned PrepareTexture(cc::ResourceUpdateQueue*) OVERRIDE; 50 virtual unsigned PrepareTexture(cc::ResourceUpdateQueue*) OVERRIDE;
48 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE; 51 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE;
49 virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox) OVERRIDE; 52 virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox) OVERRIDE;
50 53
51 private: 54 private:
52 void DidReleaseMailbox(const WebKit::WebExternalTextureMailbox& mailbox, 55 void DidReleaseMailbox(const WebKit::WebExternalTextureMailbox& mailbox,
53 unsigned sync_point, 56 unsigned sync_point,
54 bool lost_resource); 57 bool lost_resource);
55 58
56 WebKit::WebExternalTextureLayerClient* client_; 59 WebKit::WebExternalTextureLayerClient* client_;
57 scoped_ptr<WebLayerImpl> layer_; 60 scoped_ptr<WebLayerImpl> layer_;
58 bool uses_mailbox_; 61 bool uses_mailbox_;
59 62
60 DISALLOW_COPY_AND_ASSIGN(WebExternalTextureLayerImpl); 63 DISALLOW_COPY_AND_ASSIGN(WebExternalTextureLayerImpl);
61 }; 64 };
62 65
63 } // namespace webkit 66 } // namespace webkit
64 67
65 #endif // WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_EXTERNAL_TEXTURE_LAYER_IMPL_H _ 68 #endif // WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_EXTERNAL_TEXTURE_LAYER_IMPL_H _
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698