text: #ifndef _GLCCONTEXT_HPP
  #define _GLCCONTEXT_HPP
  /*-------------------------------------------------------------------------
   * OpenGL Conformance Test Suite
   * -----------------------------
   *
   * Copyright (c) 2016 Google Inc.
   * Copyright (c) 2016 The Khronos Group Inc.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */ /*!
   * \file
   * \brief OpenGL context.
   */ /*-------------------------------------------------------------------*/
  
  #include "gluRenderConfig.hpp"
  #include "gluRenderContext.hpp"
  #include "tcuDefs.hpp"
  #include "tcuTestContext.hpp"
  
  namespace glu
  {
  class RenderContext;
  class ContextInfo;
  }
  
  namespace tcu
  {
  class RenderTarget;
  }
  
  namespace deqp
  {
  
  class Context
  {
  public:
  	Context(tcu::TestContext& testCtx, glu::ContextType contextType = glu::ContextType());
  	~Context(void);
  
  	tcu::TestContext& getTestContext(void)
  	{
  		return m_testCtx;
  	}
  
  	glu::RenderContext& getRenderContext(void)
  	{
  		return *m_renderCtx;
  	}
  
  	void setRenderContext(glu::RenderContext* renderCtx)
  	{
  		m_renderCtx = renderCtx;
  	}
  
  	const glu::ContextInfo& getContextInfo(void) const
  	{
  		return *m_contextInfo;
  	}
  
  	const tcu::RenderTarget& getRenderTarget(void) const;
  
  private:
  	Context(const Context& other);
  	Context& operator=(const Context& other);
  
  	void createRenderContext(glu::ContextType& contextType, glu::ContextFlags ctxFlags = (glu::ContextFlags)0);
  	void destroyRenderContext(void);
  
  	tcu::TestContext&   m_testCtx;
  	glu::RenderContext* m_renderCtx;
  	glu::ContextInfo*   m_contextInfo;
  	glu::ContextType	m_contextType;
  };
  
  } // deqp
  
  #endif // _GLCCONTEXT_HPP
  