Implements support for setting/getting line width.

TRAC #11531 Implements glLineWidth, and provides glGet results for LINE_WIDTH and ALIASED_LINE_WIDTH_RANGE. Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@68 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent debe2591
...@@ -77,6 +77,8 @@ Context::Context(const egl::Config *config) ...@@ -77,6 +77,8 @@ Context::Context(const egl::Config *config)
dither = true; dither = true;
generateMipmapHint = GL_DONT_CARE; generateMipmapHint = GL_DONT_CARE;
lineWidth = 1.0f;
viewportX = 0; viewportX = 0;
viewportY = 0; viewportY = 0;
viewportWidth = config->mDisplayMode.Width; viewportWidth = config->mDisplayMode.Width;
......
...@@ -150,6 +150,8 @@ struct State ...@@ -150,6 +150,8 @@ struct State
bool scissorTest; bool scissorTest;
bool dither; bool dither;
GLfloat lineWidth;
GLenum generateMipmapHint; GLenum generateMipmapHint;
GLint viewportX; GLint viewportX;
......
...@@ -1758,7 +1758,24 @@ void __stdcall glGetFloatv(GLenum pname, GLfloat* params) ...@@ -1758,7 +1758,24 @@ void __stdcall glGetFloatv(GLenum pname, GLfloat* params)
try try
{ {
gl::Context *context = gl::getContext();
if (context)
{
switch (pname)
{
case GL_LINE_WIDTH: *params = context->lineWidth; break;
case GL_ALIASED_LINE_WIDTH_RANGE:
{
params[0] = 1.0f;
params[1] = 1.0f;
}
break;
default:
UNIMPLEMENTED(); // FIXME UNIMPLEMENTED(); // FIXME
return error(GL_INVALID_ENUM);
}
}
} }
catch(std::bad_alloc&) catch(std::bad_alloc&)
{ {
...@@ -2507,9 +2524,11 @@ void __stdcall glLineWidth(GLfloat width) ...@@ -2507,9 +2524,11 @@ void __stdcall glLineWidth(GLfloat width)
return error(GL_INVALID_VALUE); return error(GL_INVALID_VALUE);
} }
if (width != 1.0f) gl::Context *context = gl::getContext();
if (context)
{ {
UNIMPLEMENTED(); // FIXME context->lineWidth = width;
} }
} }
catch(std::bad_alloc&) catch(std::bad_alloc&)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment