Remove glEnum::startElement, but refactor out some of the common code from

there and glXEnum::startElement to glEnum::process_attributes.
This commit is contained in:
Ian Romanick 2005-01-24 21:29:13 +00:00
parent 0246b2a5c0
commit 5ff2b94630
2 changed files with 12 additions and 14 deletions

View file

@ -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)

View file

@ -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 ):