|  | // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef PPAPI_CPP_GRAPHICS_3D_CLIENT_H_ | 
|  | #define PPAPI_CPP_GRAPHICS_3D_CLIENT_H_ | 
|  |  | 
|  | #include "ppapi/c/pp_stdint.h" | 
|  | #include "ppapi/cpp/instance_handle.h" | 
|  |  | 
|  | /// @file | 
|  | /// This file defines the API for callbacks related to 3D. | 
|  |  | 
|  | namespace pp { | 
|  |  | 
|  | class Instance; | 
|  |  | 
|  | // This class provides a C++ interface for callbacks related to 3D. You | 
|  | // would normally use multiple inheritance to derive from this class in your | 
|  | // instance. | 
|  | class Graphics3DClient { | 
|  | public: | 
|  | /// | 
|  | /// A constructor for creating a Graphics3DClient. | 
|  | /// | 
|  | /// @param[in] instance The instance that will own the new | 
|  | /// <code>Graphics3DClient</code>. | 
|  | explicit Graphics3DClient(Instance* instance); | 
|  |  | 
|  | /// Destructor. | 
|  | virtual ~Graphics3DClient(); | 
|  |  | 
|  | /// Graphics3DContextLost() is a notification that the context was lost for | 
|  | /// the 3D devices. | 
|  | virtual void Graphics3DContextLost() = 0; | 
|  |  | 
|  | private: | 
|  | InstanceHandle associated_instance_; | 
|  | }; | 
|  |  | 
|  | }  // namespace pp | 
|  |  | 
|  | #endif  // PPAPI_CPP_GRAPHICS_3D_CLIENT_H_ |