diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Error.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/Error.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Error.h b/src/3rdparty/angle/src/libANGLE/Error.h new file mode 100644 index 0000000000..896b777567 --- /dev/null +++ b/src/3rdparty/angle/src/libANGLE/Error.h @@ -0,0 +1,83 @@ +// +// Copyright (c) 2014 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. + +// Error.h: Defines the egl::Error and gl::Error classes which encapsulate API errors +// and optional error messages. + +#ifndef LIBANGLE_ERROR_H_ +#define LIBANGLE_ERROR_H_ + +#include "angle_gl.h" +#include "common/platform.h" +#include <EGL/egl.h> + +#include <string> + +namespace gl +{ + +class Error final +{ + public: + explicit inline Error(GLenum errorCode); + Error(GLenum errorCode, const char *msg, ...); + inline Error(const Error &other); + inline Error(Error &&other); + + inline ~Error(); + + inline Error &operator=(const Error &other); + inline Error &operator=(Error &&other); + + inline GLenum getCode() const; + inline bool isError() const; + + const std::string &getMessage() const; + + private: + void createMessageString() const; + + GLenum mCode; + mutable std::string *mMessage; +}; + +} + +namespace egl +{ + +class Error final +{ + public: + explicit inline Error(EGLint errorCode); + Error(EGLint errorCode, const char *msg, ...); + Error(EGLint errorCode, EGLint id, const char *msg, ...); + inline Error(const Error &other); + inline Error(Error &&other); + + inline ~Error(); + + inline Error &operator=(const Error &other); + inline Error &operator=(Error &&other); + + inline EGLint getCode() const; + inline EGLint getID() const; + inline bool isError() const; + + const std::string &getMessage() const; + + private: + void createMessageString() const; + + EGLint mCode; + EGLint mID; + mutable std::string *mMessage; +}; + +} + +#include "Error.inl" + +#endif // LIBANGLE_ERROR_H_ |