OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 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 | 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_OUTPUT_OUTPUT_SURFACE_H_ | 5 #ifndef CC_OUTPUT_OUTPUT_SURFACE_H_ |
6 #define CC_OUTPUT_OUTPUT_SURFACE_H_ | 6 #define CC_OUTPUT_OUTPUT_SURFACE_H_ |
7 | 7 |
8 #define USE_CC_OUTPUT_SURFACE // TODO(danakj): Remove this. | 8 #define USE_CC_OUTPUT_SURFACE // TODO(danakj): Remove this. |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 | 84 |
85 virtual void BindFramebuffer(); | 85 virtual void BindFramebuffer(); |
86 | 86 |
87 virtual void PostSubBuffer(gfx::Rect rect); | 87 virtual void PostSubBuffer(gfx::Rect rect); |
88 virtual void SwapBuffers(); | 88 virtual void SwapBuffers(); |
89 | 89 |
90 // Notifies frame-rate smoothness preference. If true, all non-critical | 90 // Notifies frame-rate smoothness preference. If true, all non-critical |
91 // processing should be stopped, or lowered in priority. | 91 // processing should be stopped, or lowered in priority. |
92 virtual void UpdateSmoothnessTakesPriority(bool prefer_smoothness) {} | 92 virtual void UpdateSmoothnessTakesPriority(bool prefer_smoothness) {} |
93 | 93 |
| 94 // Requests a vsync notification from the output surface. The notification |
| 95 // will be delivered by calling OutputSurfaceClient::DidVSync for all future |
| 96 // vsync events until the callback is disabled. |
| 97 virtual void EnableVSyncNotification(bool enable_vsync) {} |
| 98 |
94 protected: | 99 protected: |
95 OutputSurfaceClient* client_; | 100 OutputSurfaceClient* client_; |
96 struct cc::OutputSurface::Capabilities capabilities_; | 101 struct cc::OutputSurface::Capabilities capabilities_; |
97 scoped_ptr<WebKit::WebGraphicsContext3D> context3d_; | 102 scoped_ptr<WebKit::WebGraphicsContext3D> context3d_; |
98 scoped_ptr<cc::SoftwareOutputDevice> software_device_; | 103 scoped_ptr<cc::SoftwareOutputDevice> software_device_; |
99 bool has_gl_discard_backbuffer_; | 104 bool has_gl_discard_backbuffer_; |
100 | 105 |
101 private: | 106 private: |
102 DISALLOW_COPY_AND_ASSIGN(OutputSurface); | 107 DISALLOW_COPY_AND_ASSIGN(OutputSurface); |
103 }; | 108 }; |
104 | 109 |
105 } // namespace cc | 110 } // namespace cc |
106 | 111 |
107 #endif // CC_OUTPUT_OUTPUT_SURFACE_H_ | 112 #endif // CC_OUTPUT_OUTPUT_SURFACE_H_ |
OLD | NEW |