1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef PPAPI_CPP_GRAPHICS_3D_CLIENT_H_ 6 #define PPAPI_CPP_GRAPHICS_3D_CLIENT_H_ 7 8 #include "ppapi/c/pp_stdint.h" 9 #include "ppapi/cpp/instance_handle.h" 10 11 /// @file 12 /// This file defines the API for callbacks related to 3D. 13 14 namespace pp { 15 16 class Instance; 17 18 // This class provides a C++ interface for callbacks related to 3D. You 19 // would normally use multiple inheritance to derive from this class in your 20 // instance. 21 class Graphics3DClient { 22 public: 23 /// 24 /// A constructor for creating a Graphics3DClient. 25 /// 26 /// @param[in] instance The instance that will own the new 27 /// <code>Graphics3DClient</code>. 28 explicit Graphics3DClient(Instance* instance); 29 30 /// Destructor. 31 virtual ~Graphics3DClient(); 32 33 /// Graphics3DContextLost() is a notification that the context was lost for 34 /// the 3D devices. 35 virtual void Graphics3DContextLost() = 0; 36 37 private: 38 InstanceHandle associated_instance_; 39 }; 40 41 } // namespace pp 42 43 #endif // PPAPI_CPP_GRAPHICS_3D_CLIENT_H_ 44