OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 CHROME_BROWSER_RENDERER_HOST_GPU_PLUGIN_CONTAINER_MAC_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_GPU_PLUGIN_CONTAINER_MAC_H_ |
6 #define CHROME_BROWSER_RENDERER_HOST_GPU_PLUGIN_CONTAINER_MAC_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_GPU_PLUGIN_CONTAINER_MAC_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 // The "GPU plugin" is currently implemented as a special kind of | 9 // The "GPU plugin" is currently implemented as a special kind of |
10 // NPAPI plugin to provide high-performance on-screen 3D rendering for | 10 // NPAPI plugin to provide high-performance on-screen 3D rendering for |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 // time the drawing context has changed. | 72 // time the drawing context has changed. |
73 void ForceTextureReload() { texture_needs_upload_ = true; } | 73 void ForceTextureReload() { texture_needs_upload_ = true; } |
74 | 74 |
75 private: | 75 private: |
76 // The manager of this accelerated surface container. | 76 // The manager of this accelerated surface container. |
77 AcceleratedSurfaceContainerManagerMac* manager_; | 77 AcceleratedSurfaceContainerManagerMac* manager_; |
78 | 78 |
79 // Whether this accelerated surface's content is supposed to be opaque. | 79 // Whether this accelerated surface's content is supposed to be opaque. |
80 bool opaque_; | 80 bool opaque_; |
81 | 81 |
82 // The x and y coordinates of the plugin window on the web page. | |
83 int x_; | |
84 int y_; | |
85 | |
86 // The IOSurfaceRef, if any, that has been handed from the GPU | 82 // The IOSurfaceRef, if any, that has been handed from the GPU |
87 // plugin process back to the browser process for drawing. | 83 // plugin process back to the browser process for drawing. |
88 // This is held as a CFTypeRef because we can't refer to the | 84 // This is held as a CFTypeRef because we can't refer to the |
89 // IOSurfaceRef type when building on 10.5. | 85 // IOSurfaceRef type when building on 10.5. |
90 CFTypeRef surface_; | 86 CFTypeRef surface_; |
91 | 87 |
92 // The TransportDIB which is used in pre-10.6 systems where the IOSurface | 88 // The TransportDIB which is used in pre-10.6 systems where the IOSurface |
93 // API is not supported. This is a weak reference to the actual TransportDIB | 89 // API is not supported. This is a weak reference to the actual TransportDIB |
94 // whic is owned by the GPU process. | 90 // whic is owned by the GPU process. |
95 scoped_ptr<TransportDIB> transport_dib_; | 91 scoped_ptr<TransportDIB> transport_dib_; |
(...skipping 19 matching lines...) Expand all Loading... |
115 void ReleaseIOSurface(); | 111 void ReleaseIOSurface(); |
116 | 112 |
117 // Enqueue our texture for later deletion. | 113 // Enqueue our texture for later deletion. |
118 void EnqueueTextureForDeletion(); | 114 void EnqueueTextureForDeletion(); |
119 | 115 |
120 DISALLOW_COPY_AND_ASSIGN(AcceleratedSurfaceContainerMac); | 116 DISALLOW_COPY_AND_ASSIGN(AcceleratedSurfaceContainerMac); |
121 }; | 117 }; |
122 | 118 |
123 #endif // CHROME_BROWSER_RENDERER_HOST_GPU_PLUGIN_CONTAINER_MAC_H_ | 119 #endif // CHROME_BROWSER_RENDERER_HOST_GPU_PLUGIN_CONTAINER_MAC_H_ |
124 | 120 |
OLD | NEW |