1da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang// 2da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. 3da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang// Use of this source code is governed by a BSD-style license that can be 4da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang// found in the LICENSE file. 5da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 6da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang// Error.h: Defines the gl::Error class which encapsulates an OpenGL error 7da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang// and optional error message. 8da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 9da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang#ifndef LIBGLESV2_ERROR_H_ 10da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang#define LIBGLESV2_ERROR_H_ 11da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 12da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang#include "angle_gl.h" 13da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 14da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang#include <string> 15da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 16da5777cf9f131dbafcf91c88026624545db2cc87Geoff Langnamespace gl 17da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang{ 18da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 19da5777cf9f131dbafcf91c88026624545db2cc87Geoff Langclass Error 20da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang{ 21da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang public: 22da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang explicit Error(GLenum errorCode); 238e7d7a30b496a726c72329e74d054f5b859b0d9eShannon Woods Error(GLenum errorCode, const char *msg, ...); 24da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang Error(const Error &other); 25da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang Error &operator=(const Error &other); 26da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 27da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang GLenum getCode() const { return mCode; } 28da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang bool isError() const { return (mCode != GL_NO_ERROR); } 29da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 30da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang const std::string &getMessage() const { return mMessage; } 31da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 32da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang private: 33da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang GLenum mCode; 34da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang std::string mMessage; 35da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang}; 36da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 37da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang} 38da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang 39da5777cf9f131dbafcf91c88026624545db2cc87Geoff Lang#endif // LIBGLESV2_ERROR_H_ 40