• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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