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
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 2258589..e2623e3 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -1758,7 +1758,24 @@
 
     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 @@
             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&)