summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <idr@us.ibm.com>2005-01-24 21:29:13 +0000
committerIan Romanick <idr@us.ibm.com>2005-01-24 21:29:13 +0000
commit5ff2b94630e89da1586628f14eb869b513071154 (patch)
tree8f79ca30adeaf39f72d8bf1fdb5f041dca8e37d3
parent0246b2a5c0f45788a5c418d62ccf5a3a72d16d4a (diff)
Remove glEnum::startElement, but refactor out some of the common code from
there and glXEnum::startElement to glEnum::process_attributes.
-rw-r--r--src/mesa/glapi/glX_XML.py9
-rw-r--r--src/mesa/glapi/gl_XML.py17
2 files changed, 12 insertions, 14 deletions
diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py
index 8efc90ca56..4c9da6e304 100644
--- a/src/mesa/glapi/glX_XML.py
+++ b/src/mesa/glapi/glX_XML.py
@@ -244,17 +244,12 @@ class glXEnum(gl_XML.glEnum):
def startElement(self, name, attrs):
if name == "size":
- n = attrs.get('name', None)
+ [n, c] = self.process_attributes(attrs)
+
if not self.context.glx_enum_functions.has_key( n ):
f = glXEnumFunction( n )
self.context.glx_enum_functions[ f.name ] = f
- temp = attrs.get('count', None)
- try:
- c = int(temp)
- except Exception,e:
- raise RuntimeError('Invalid count value "%s" for enum "%s" in function "%s" when an integer was expected.' % (temp, self.name, n))
-
self.context.glx_enum_functions[ n ].append( c, self.value, self.name )
else:
gl_XML.glEnum.startElement(self, context, name, attrs)
diff --git a/src/mesa/glapi/gl_XML.py b/src/mesa/glapi/gl_XML.py
index 538756ea0c..bc7d27befe 100644
--- a/src/mesa/glapi/gl_XML.py
+++ b/src/mesa/glapi/gl_XML.py
@@ -86,18 +86,21 @@ class glEnum( glItem ):
def __init__(self, context, name, attrs):
self.value = int(attrs.get('value', "0x0000"), 0)
- self.functions = {}
enum_name = "GL_" + attrs.get('name', None)
glItem.__init__(self, name, enum_name, context)
- def startElement(self, name, attrs):
- if name == "size":
- name = attrs.get('name', None)
- count = int(attrs.get('count', "0"), 0)
- self.functions[name] = count
- return
+ def process_attributes(self, attrs):
+ name = attrs.get('name', None)
+
+ temp = attrs.get('count', None)
+ try:
+ c = int(temp)
+ except Exception,e:
+ raise RuntimeError('Invalid count value "%s" for enum "%s" in function "%s" when an integer was expected.' % (temp, self.name, n))
+
+ return [name, c]
class glType( glItem ):