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)
dither = true;
generateMipmapHint = GL_DONT_CARE;
lineWidth = 1.0f;
viewportX = 0;
viewportY = 0;
viewportWidth = config->mDisplayMode.Width;
......
......@@ -150,6 +150,8 @@ struct State
bool scissorTest;
bool dither;
GLfloat lineWidth;
GLenum generateMipmapHint;
GLint viewportX;
......
......@@ -1758,7 +1758,24 @@ void __stdcall glGetFloatv(GLenum pname, GLfloat* params)
try
{
UNIMPLEMENTED(); // FIXME
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
return error(GL_INVALID_ENUM);
}
}
}
catch(std::bad_alloc&)
{
......@@ -2507,9 +2524,11 @@ void __stdcall glLineWidth(GLfloat width)
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&)
......
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