1 // Copyright 2013 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 MOJO_PUBLIC_SYSTEM_GLES2_PRIVATE_H_ 6 #define MOJO_PUBLIC_SYSTEM_GLES2_PRIVATE_H_ 7 8 #include "mojo/public/gles2/gles2.h" 9 10 namespace mojo { 11 12 // Implementors of the gles2 APIs can use this interface to install their 13 // implementation into the mojo_gles2 dynamic library. Mojo clients should not 14 // call these functions directly. 15 class MOJO_GLES2_EXPORT GLES2Private { 16 public: 17 virtual ~GLES2Private(); 18 19 static void Init(GLES2Private* priv); 20 21 virtual void Initialize() = 0; 22 virtual void Terminate() = 0; 23 virtual void MakeCurrent(uint64_t encoded) = 0; 24 virtual void SwapBuffers() = 0; 25 }; 26 27 } // namespace mojo 28 29 #endif // MOJO_PUBLIC_SYSTEM_GLES2_PRIVATE_H_ 30