예제 #1
0
def generate_for_file(filename):
    log.info('Starting file: %s', filename)
    registry = xmlreg.parse(filename)
    generator = codegenerator.Generator(registry,
                                        ctypetopytype.ctype_to_pytype)
    for name, feature in registry.feature_set.items():
        print(feature.name, feature.api)
        generator.module(feature)
    for name, extension in registry.extension_set.items():
        print(extension.name, extension.apis)
        generator.module(extension)
예제 #2
0
def main():
    chromium = load_chromium()
    registry = xmlreg.parse(os.path.join(HERE, "khronosapi", "gl.xml"))
    generator = codegenerator.Generator(registry, ctypetopytype.ctype_to_pytype)
    for key, value in generator.glGetSizes.items():
        if not value:
            if key in chromium:
                print(f"Updating {key} should be {chromium[key]}")
                generator.glGetSizes[key] = [str(chromium[key]).replace(" ", "")]
        try:
            chromium.pop(key)
        except KeyError:
            pass
    for key, value in chromium.items():
        print("New constant from chromium:", (key, value))
        generator.glGetSizes[key] = [str(chromium[key]).replace(" ", "")]
    generator.saveGLGetSizes()
예제 #3
0
def main():
    chromium = load_chromium()
    registry = xmlreg.parse(os.path.join(HERE, 'khronosapi', 'gl.xml'))
    generator = codegenerator.Generator(registry,
                                        ctypetopytype.ctype_to_pytype)
    for key, value in generator.glGetSizes.items():
        if not value:
            if key in chromium:
                print('Updating %s should be %s' % (key, chromium[key]))
                generator.glGetSizes[key] = [
                    str(chromium[key]).replace(' ', '')
                ]
        try:
            chromium.pop(key)
        except KeyError:
            pass
    for key, value in chromium.items():
        print('New constant from chromium:', (key, value))
        generator.glGetSizes[key] = [str(chromium[key]).replace(' ', '')]
    generator.saveGLGetSizes()
예제 #4
0
    for f in parser.methods:
        print "Function: " + str(f)


def main():
    if len(sys.argv) < 2:
        print "Falta al menos un nombre de clase osg"
        sys.exit(-1)

    for name in sys.argv[1:]:
        try:
            parser = xmlparser.Parser()
            theclass = parser.parseClassName(name)
            if theclass == None or not theclass.isObject():
                print name + " no es un osg::Object"
            showParserInfo(parser)
        except IOError, err:
            print "ERROR: No existe un xml para la clase"
            print err

    xmlparser.registry.inherit()
    print "Generating code..."
    classes = xmlparser.registry.getObjects()
    for obj in classes:
        generator = codegenerator.Generator(obj)
        generator.generate()
    print xmlparser.registry.stats()


main()