1 #ifndef _EGLUUNIQUE_HPP
2 #define _EGLUUNIQUE_HPP
3 /*-------------------------------------------------------------------------
4 * drawElements Quality Program Tester Core
5 * ----------------------------------------
7 * Copyright 2014 The Android Open Source Project
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
23 * \brief EGL unique resources
24 *//*--------------------------------------------------------------------*/
26 #include "egluDefs.hpp"
27 #include "egluHeaderWrapper.hpp"
35 UniqueSurface (EGLDisplay display, EGLSurface surface);
36 ~UniqueSurface (void);
38 EGLSurface operator* (void) { return m_surface; }
39 operator bool (void) const { return m_surface != EGL_NO_SURFACE; }
46 UniqueSurface& operator= (const UniqueSurface&);
47 UniqueSurface (const UniqueSurface&);
53 UniqueContext (EGLDisplay display, EGLContext context);
54 ~UniqueContext (void);
56 EGLContext operator* (void) { return m_context; }
57 operator bool (void) const { return m_context != EGL_NO_CONTEXT; }
64 UniqueContext operator= (const UniqueContext&);
65 UniqueContext (const UniqueContext&);
68 class ScopedCurrentContext
71 ScopedCurrentContext (EGLDisplay display, EGLSurface draw, EGLSurface read, EGLContext context);
72 ~ScopedCurrentContext (void);
80 #endif // _EGLUUNIQUE_HPP