Edit

kc3-lang/angle/src/libEGL/main.h

Branch :

  • Show log

    Commit

  • Author : daniel@transgaming.com
    Date : 2010-03-17 13:12:52
    Hash : 203934dc
    Message : mv libEGL -> src/libEGL Trac #11406 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@39 736b8ea6-26fd-11df-bfd4-992fa37f6226

  • src/libEGL/main.h
  • //
    // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    // main.h: Management of thread-local data.
    
    #ifndef LIBEGL_MAIN_H_
    #define LIBEGL_MAIN_H_
    
    #define EGLAPI
    #include <EGL/egl.h>
    
    namespace egl
    {
    struct Current
    {
        EGLint error;
        EGLenum API;
    };
    
    void setCurrentError(EGLint error);
    EGLint getCurrentError();
    
    void setCurrentAPI(EGLenum API);
    EGLenum getCurrentAPI();
    }
    
    void error(EGLint errorCode);
    
    template<class T>
    const T &error(EGLint errorCode, const T &returnValue)
    {
        error(errorCode);
    
        return returnValue;
    }
    
    template<class T>
    const T &success(const T &returnValue)
    {
        egl::setCurrentError(EGL_SUCCESS);
    
        return returnValue;
    }
    
    #endif  // LIBEGL_MAIN_H_