/*** Copyright (c) 2006-2010 LOVE Development Team* * This software is provided 'as-is', without any express or implied* warranty. In no event will the authors be held liable for any damages* arising from the use of this software.* * Permission is granted to anyone to use this software for any purpose,* including commercial applications, and to alter it and redistribute it* freely, subject to the following restrictions:* * 1. The origin of this software must not be misrepresented; you must not* claim that you wrote the original software. If you use this software* in a product, an acknowledgment in the product documentation would be* appreciated but is not required.* 2. Altered source versions must be plainly marked as such, and must not be* misrepresented as being the original software.* 3. This notice may not be removed or altered from any source distribution.**/#ifndef LOVE_GRAPHICS_OPENGL2_SHADER_H#define LOVE_GRAPHICS_OPENGL2_SHADER_H// OpenGL#include <GLES2/gl2.h>#include <GLES2/gl2ext.h>// LOVE#include <common/config.h>namespacelove{namespacegraphics{namespaceopengl2{classShader{friendclassShaderProgram;public:enumDomain{DOMAIN_VERTEX,DOMAIN_FRAGMENT};enumFormat{FORMAT_SOURCE_GLSL,FORMAT_BINARY_TEGRA};Shader(Domaindomain,Formatformat,constvoid*data,size_tlength);Shader(constShader&src);DomaingetDomain()const;FormatgetFormat()const;staticboolisLoadable(Formatformat);Shader&operator=(constShader&src);~Shader();private:GLuintshaderId;Domaindomain;Formatformat;unsignedint*refCount;};// Shader}// opengl2}// graphics}// love#endif // LOVE_GRAPHICS_OPENGL2_SHADER_H