mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:37:35 +00:00
LibGL: Implement glIsEnabled()
This commit is contained in:
parent
b2627c8b74
commit
a36ee213b9
5 changed files with 30 additions and 0 deletions
|
@ -371,6 +371,7 @@ GLAPI void glVertex4sv(const GLshort* v);
|
||||||
GLAPI void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
|
GLAPI void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||||
GLAPI void glEnable(GLenum cap);
|
GLAPI void glEnable(GLenum cap);
|
||||||
GLAPI void glDisable(GLenum cap);
|
GLAPI void glDisable(GLenum cap);
|
||||||
|
GLAPI GLboolean glIsEnabled(GLenum cap);
|
||||||
GLAPI void glCullFace(GLenum mode);
|
GLAPI void glCullFace(GLenum mode);
|
||||||
GLAPI void glFrontFace(GLenum mode);
|
GLAPI void glFrontFace(GLenum mode);
|
||||||
GLAPI GLuint glGenLists(GLsizei range);
|
GLAPI GLuint glGenLists(GLsizei range);
|
||||||
|
|
|
@ -42,6 +42,7 @@ public:
|
||||||
virtual void gl_viewport(GLint x, GLint y, GLsizei width, GLsizei height) = 0;
|
virtual void gl_viewport(GLint x, GLint y, GLsizei width, GLsizei height) = 0;
|
||||||
virtual void gl_enable(GLenum) = 0;
|
virtual void gl_enable(GLenum) = 0;
|
||||||
virtual void gl_disable(GLenum) = 0;
|
virtual void gl_disable(GLenum) = 0;
|
||||||
|
virtual GLboolean gl_is_enabled(GLenum) = 0;
|
||||||
virtual void gl_front_face(GLenum) = 0;
|
virtual void gl_front_face(GLenum) = 0;
|
||||||
virtual void gl_cull_face(GLenum) = 0;
|
virtual void gl_cull_face(GLenum) = 0;
|
||||||
virtual GLuint gl_gen_lists(GLsizei range) = 0;
|
virtual GLuint gl_gen_lists(GLsizei range) = 0;
|
||||||
|
|
|
@ -20,6 +20,11 @@ void glDisable(GLenum cap)
|
||||||
g_gl_context->gl_disable(cap);
|
g_gl_context->gl_disable(cap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GLboolean glIsEnabled(GLenum cap)
|
||||||
|
{
|
||||||
|
return g_gl_context->gl_is_enabled(cap);
|
||||||
|
}
|
||||||
|
|
||||||
void glFrontFace(GLenum mode)
|
void glFrontFace(GLenum mode)
|
||||||
{
|
{
|
||||||
g_gl_context->gl_front_face(mode);
|
g_gl_context->gl_front_face(mode);
|
||||||
|
|
|
@ -597,6 +597,28 @@ void SoftwareGLContext::gl_disable(GLenum capability)
|
||||||
m_rasterizer.set_options(rasterizer_options);
|
m_rasterizer.set_options(rasterizer_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GLboolean SoftwareGLContext::gl_is_enabled(GLenum capability)
|
||||||
|
{
|
||||||
|
RETURN_VALUE_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION, 0);
|
||||||
|
|
||||||
|
auto rasterizer_options = m_rasterizer.options();
|
||||||
|
|
||||||
|
switch (capability) {
|
||||||
|
case GL_CULL_FACE:
|
||||||
|
return m_cull_faces;
|
||||||
|
case GL_DEPTH_TEST:
|
||||||
|
return m_depth_test_enabled;
|
||||||
|
case GL_BLEND:
|
||||||
|
return m_blend_enabled;
|
||||||
|
case GL_ALPHA_TEST:
|
||||||
|
return m_alpha_test_enabled;
|
||||||
|
case GL_FOG:
|
||||||
|
return rasterizer_options.fog_enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_VALUE_WITH_ERROR_IF(true, GL_INVALID_ENUM, 0);
|
||||||
|
}
|
||||||
|
|
||||||
void SoftwareGLContext::gl_gen_textures(GLsizei n, GLuint* textures)
|
void SoftwareGLContext::gl_gen_textures(GLsizei n, GLuint* textures)
|
||||||
{
|
{
|
||||||
RETURN_WITH_ERROR_IF(n < 0, GL_INVALID_VALUE);
|
RETURN_WITH_ERROR_IF(n < 0, GL_INVALID_VALUE);
|
||||||
|
|
|
@ -52,6 +52,7 @@ public:
|
||||||
virtual void gl_viewport(GLint x, GLint y, GLsizei width, GLsizei height) override;
|
virtual void gl_viewport(GLint x, GLint y, GLsizei width, GLsizei height) override;
|
||||||
virtual void gl_enable(GLenum) override;
|
virtual void gl_enable(GLenum) override;
|
||||||
virtual void gl_disable(GLenum) override;
|
virtual void gl_disable(GLenum) override;
|
||||||
|
virtual GLboolean gl_is_enabled(GLenum) override;
|
||||||
virtual void gl_front_face(GLenum) override;
|
virtual void gl_front_face(GLenum) override;
|
||||||
virtual void gl_cull_face(GLenum) override;
|
virtual void gl_cull_face(GLenum) override;
|
||||||
virtual GLuint gl_gen_lists(GLsizei range) override;
|
virtual GLuint gl_gen_lists(GLsizei range) override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue