Exemplo n.º 1
0
 def __init__(self,
              conventions = None,
              filename = None,
              directory = '.',
              apiname = None,
              profile = None,
              versions = '.*',
              emitversions = '.*',
              defaultExtensions = None,
              addExtensions = None,
              removeExtensions = None,
              emitExtensions = None,
              sortProcedure = regSortFeatures,
              prefixText = "",
              apicall = '',
              apientry = '',
              apientryp = '',
              indentFuncProto = True,
              indentFuncPointer = False,
              alignFuncParam = 0,
              secondaryInclude = False,
              expandEnumerants = True):
     GeneratorOptions.__init__(self, conventions, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
     self.prefixText      = prefixText
     self.apicall         = apicall
     self.apientry        = apientry
     self.apientryp       = apientryp
     self.indentFuncProto = indentFuncProto
     self.indentFuncPointer = indentFuncPointer
     self.alignFuncParam  = alignFuncParam
     self.secondaryInclude = secondaryInclude
     self.expandEnumerants = expandEnumerants
Exemplo n.º 2
0
 def __init__(self,
              conventions = None,
              filename = None,
              directory = '.',
              apiname = None,
              profile = None,
              versions = '.*',
              emitversions = '.*',
              defaultExtensions = None,
              addExtensions = None,
              removeExtensions = None,
              emitExtensions = None,
              sortProcedure = regSortFeatures,
              prefixText = "",
              apicall = '',
              apientry = '',
              apientryp = '',
              indentFuncProto = True,
              indentFuncPointer = False,
              alignFuncParam = 0,
              expandEnumerants = True):
     GeneratorOptions.__init__(self, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
     self.prefixText      = prefixText
     self.apicall         = apicall
     self.apientry        = apientry
     self.apientryp       = apientryp
     self.indentFuncProto = indentFuncProto
     self.indentFuncPointer = indentFuncPointer
     self.alignFuncParam  = alignFuncParam
     self.expandEnumerants = expandEnumerants
     self.conventions = conventions
Exemplo n.º 3
0
 def __init__(
         self,
         blacklists=None,  # Path to JSON file listing apicalls and structs to ignore.
         platformTypes=None,  # Path to JSON file listing platform (WIN32, X11, etc.) defined types.
         # Khronos CGeneratorOptions
     filename=None,
         directory='.',
         prefixText='',
         protectFile=False,
         protectFeature=True,
         conventions=VulkanConventions(),
         apicall='VKAPI_ATTR ',
         apientry='VKAPI_CALL ',
         apientryp='VKAPI_PTR *',
         indentFuncProto=True,
         alignFuncParam=48,
         sortProcedure=regSortFeatures,
         apiname='vulkan',
         profile=None,
         versions=_featuresPat,
         emitversions=_featuresPat,
         defaultExtensions=_defaultExtensions,
         addExtensions=_addExtensionsPat,
         removeExtensions=_removeExtensionsPat,
         emitExtensions=_emitExtensionsPat):
     GeneratorOptions.__init__(self,
                               conventions=conventions,
                               filename=filename,
                               directory=directory,
                               apiname=apiname,
                               profile=profile,
                               versions=versions,
                               emitversions=emitversions,
                               defaultExtensions=defaultExtensions,
                               addExtensions=addExtensions,
                               removeExtensions=removeExtensions,
                               emitExtensions=emitExtensions,
                               sortProcedure=sortProcedure)
     self.blacklists = blacklists
     self.platformTypes = platformTypes
     # Khronos CGeneratorOptions
     self.prefixText = prefixText
     self.protectFile = protectFile
     self.protectFeature = protectFeature
     self.apicall = apicall
     self.apientry = apientry  # NOTE: While not used in this file, apientry is expected to be defined here by the OutputGenerator base class.
     self.apientryp = apientryp  # NOTE: While not used in this file, apientry is expected to be defined here by the OutputGenerator base class.
     self.indentFuncProto = indentFuncProto
     self.alignFuncParam = alignFuncParam
     self.codeGenerator = True
Exemplo n.º 4
0
 def __init__(self,
              conventions = None,
              filename = None,
              directory = '.',
              apiname = None,
              profile = None,
              versions = '.*',
              emitversions = '.*',
              defaultExtensions = None,
              addExtensions = None,
              removeExtensions = None,
              emitExtensions = None,
              sortProcedure = regSortFeatures,
              prefixText = "",
              genFuncPointers = True,
              protectFile = True,
              protectFeature = True,
              protectProto = None,
              protectProtoStr = None,
              apicall = '',
              apientry = '',
              apientryp = '',
              indentFuncProto = True,
              indentFuncPointer = False,
              alignFuncParam = 0,
              genEnumBeginEndRange = False,
              genAliasMacro = False,
              aliasMacro = ''
             ):
     GeneratorOptions.__init__(self, conventions, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
     self.prefixText      = prefixText
     self.genFuncPointers = genFuncPointers
     self.protectFile     = protectFile
     self.protectFeature  = protectFeature
     self.protectProto    = protectProto
     self.protectProtoStr = protectProtoStr
     self.apicall         = apicall
     self.apientry        = apientry
     self.apientryp       = apientryp
     self.indentFuncProto = indentFuncProto
     self.indentFuncPointer = indentFuncPointer
     self.alignFuncParam  = alignFuncParam
     self.genEnumBeginEndRange = genEnumBeginEndRange
     self.genAliasMacro   = genAliasMacro
     self.aliasMacro      = aliasMacro
Exemplo n.º 5
0
 def __init__(self,
              conventions = None,
              filename = None,
              directory = '.',
              apiname = None,
              profile = None,
              versions = '.*',
              emitversions = '.*',
              defaultExtensions = None,
              addExtensions = None,
              removeExtensions = None,
              emitExtensions = None,
              sortProcedure = regSortFeatures,
              prefixText = "",
              genFuncPointers = True,
              protectFile = True,
              protectFeature = True,
              protectProto = None,
              protectProtoStr = None,
              apicall = '',
              apientry = '',
              apientryp = '',
              indentFuncProto = True,
              indentFuncPointer = False,
              alignFuncParam = 0,
              genEnumBeginEndRange = False,
              genAliasMacro = False,
              aliasMacro = ''
             ):
     GeneratorOptions.__init__(self, conventions, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
     self.prefixText      = prefixText
     self.genFuncPointers = genFuncPointers
     self.protectFile     = protectFile
     self.protectFeature  = protectFeature
     self.protectProto    = protectProto
     self.protectProtoStr = protectProtoStr
     self.apicall         = apicall
     self.apientry        = apientry
     self.apientryp       = apientryp
     self.indentFuncProto = indentFuncProto
     self.indentFuncPointer = indentFuncPointer
     self.alignFuncParam  = alignFuncParam
     self.genEnumBeginEndRange = genEnumBeginEndRange
     self.genAliasMacro   = genAliasMacro
     self.aliasMacro      = aliasMacro
Exemplo n.º 6
0
 def __init__(self,
              conventions = None,
              filename = None,
              directory = '.',
              apiname = None,
              profile = None,
              versions = '.*',
              emitversions = '.*',
              defaultExtensions = None,
              addExtensions = None,
              removeExtensions = None,
              emitExtensions = None,
              sortProcedure = regSortFeatures):
     GeneratorOptions.__init__(self, conventions, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
 def __init__(self,
              conventions = None,
              filename = None,
              directory = '.',
              apiname = None,
              profile = None,
              versions = '.*',
              emitversions = '.*',
              defaultExtensions = None,
              addExtensions = None,
              removeExtensions = None,
              emitExtensions = None,
              sortProcedure = regSortFeatures):
     GeneratorOptions.__init__(self, conventions, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
Exemplo n.º 8
0
 def __init__(self,
              filename=None,
              directory='.',
              apiname=None,
              profile=None,
              versions='.*',
              emitversions='.*',
              defaultExtensions=None,
              addExtensions=None,
              removeExtensions=None,
              emitExtensions=None,
              sortProcedure=regSortFeatures,
              regFile='',
              module=''):
     GeneratorOptions.__init__(self, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
     self.regFile = regFile
     self.module = module
 def __init__(self,
              filename=None,
              directory='.',
              apiname=None,
              profile=None,
              versions='.*',
              emitversions='.*',
              defaultExtensions=None,
              addExtensions=None,
              removeExtensions=None,
              emitExtensions=None,
              sortProcedure=regSortFeatures,
              prefixText="",
              alignFuncParam=0):
     GeneratorOptions.__init__(self, filename, directory, apiname, profile,
                               versions, emitversions, defaultExtensions,
                               addExtensions, removeExtensions,
                               emitExtensions, sortProcedure)
     self.prefixText = prefixText
     self.alignFuncParam = alignFuncParam
Exemplo n.º 10
0
    def __init__(self,
                 prefixText="",
                 genFuncPointers=True,
                 protectFile=True,
                 protectFeature=True,
                 protectProto=None,
                 protectProtoStr=None,
                 apicall='',
                 apientry='',
                 apientryp='',
                 indentFuncProto=True,
                 indentFuncPointer=False,
                 alignFuncParam=0,
                 genEnumBeginEndRange=False,
                 genAliasMacro=False,
                 aliasMacro='',
                 misracstyle=False,
                 misracppstyle=False,
                 **kwargs
                 ):
        """Constructor.
        Additional parameters beyond parent class:

        - prefixText - list of strings to prefix generated header with
        (usually a copyright statement + calling convention macros).
        - protectFile - True if multiple inclusion protection should be
        generated (based on the filename) around the entire header.
        - protectFeature - True if #ifndef..#endif protection should be
        generated around a feature interface in the header file.
        - genFuncPointers - True if function pointer typedefs should be
        generated
        - protectProto - If conditional protection should be generated
        around prototype declarations, set to either '#ifdef'
        to require opt-in (#ifdef protectProtoStr) or '#ifndef'
        to require opt-out (#ifndef protectProtoStr). Otherwise
        set to None.
        - protectProtoStr - #ifdef/#ifndef symbol to use around prototype
        declarations, if protectProto is set
        - apicall - string to use for the function declaration prefix,
        such as APICALL on Windows.
        - apientry - string to use for the calling convention macro,
        in typedefs, such as APIENTRY.
        - apientryp - string to use for the calling convention macro
        in function pointer typedefs, such as APIENTRYP.
        - indentFuncProto - True if prototype declarations should put each
        parameter on a separate line
        - indentFuncPointer - True if typedefed function pointers should put each
        parameter on a separate line
        - alignFuncParam - if nonzero and parameters are being put on a
        separate line, align parameter names at the specified column
        - genEnumBeginEndRange - True if BEGIN_RANGE / END_RANGE macros should
        be generated for enumerated types
        - genAliasMacro - True if the OpenXR alias macro should be generated
        for aliased types (unclear what other circumstances this is useful)
        - aliasMacro - alias macro to inject when genAliasMacro is True
        - misracstyle - generate MISRA C-friendly headers
        - misracppstyle - generate MISRA C++-friendly headers"""

        GeneratorOptions.__init__(self, **kwargs)

        self.prefixText = prefixText
        """list of strings to prefix generated header with (usually a copyright statement + calling convention macros)."""

        self.genFuncPointers = genFuncPointers
        """True if function pointer typedefs should be generated"""

        self.protectFile = protectFile
        """True if multiple inclusion protection should be generated (based on the filename) around the entire header."""

        self.protectFeature = protectFeature
        """True if #ifndef..#endif protection should be generated around a feature interface in the header file."""

        self.protectProto = protectProto
        """If conditional protection should be generated around prototype declarations, set to either '#ifdef' to require opt-in (#ifdef protectProtoStr) or '#ifndef' to require opt-out (#ifndef protectProtoStr). Otherwise set to None."""

        self.protectProtoStr = protectProtoStr
        """#ifdef/#ifndef symbol to use around prototype declarations, if protectProto is set"""

        self.apicall = apicall
        """string to use for the function declaration prefix, such as APICALL on Windows."""

        self.apientry = apientry
        """string to use for the calling convention macro, in typedefs, such as APIENTRY."""

        self.apientryp = apientryp
        """string to use for the calling convention macro in function pointer typedefs, such as APIENTRYP."""

        self.indentFuncProto = indentFuncProto
        """True if prototype declarations should put each parameter on a separate line"""

        self.indentFuncPointer = indentFuncPointer
        """True if typedefed function pointers should put each parameter on a separate line"""

        self.alignFuncParam = alignFuncParam
        """if nonzero and parameters are being put on a separate line, align parameter names at the specified column"""

        self.genEnumBeginEndRange = genEnumBeginEndRange
        """True if BEGIN_RANGE / END_RANGE macros should be generated for enumerated types"""

        self.genAliasMacro = genAliasMacro
        """True if the OpenXR alias macro should be generated for aliased types (unclear what other circumstances this is useful)"""

        self.aliasMacro = aliasMacro
        """alias macro to inject when genAliasMacro is True"""

        self.misracstyle = misracstyle
        """generate MISRA C-friendly headers"""

        self.misracppstyle = misracppstyle
        """generate MISRA C++-friendly headers"""

        self.codeGenerator = True
        """True if this generator makes compilable code"""
Exemplo n.º 11
0
    def __init__(self,
                 prefixText="",
                 apicall='',
                 apientry='',
                 apientryp='',
                 indentFuncProto=True,
                 indentFuncPointer=False,
                 alignFuncParam=0,
                 secondaryInclude=False,
                 expandEnumerants=True,
                 extEnumerantAdditions=False,
                 extEnumerantFormatString=" (Added by the {} extension)",
                 **kwargs):
        """Constructor.

        Since this generator outputs multiple files at once,
        the filename is just a "stamp" to indicate last generation time.

        Shares many parameters/members with CGeneratorOptions, since
        both are writing C-style declarations:

        - prefixText - list of strings to prefix generated header with
        (usually a copyright statement + calling convention macros).
        - apicall - string to use for the function declaration prefix,
        such as APICALL on Windows.
        - apientry - string to use for the calling convention macro,
        in typedefs, such as APIENTRY.
        - apientryp - string to use for the calling convention macro
        in function pointer typedefs, such as APIENTRYP.
        - indentFuncProto - True if prototype declarations should put each
        parameter on a separate line
        - indentFuncPointer - True if typedefed function pointers should put each
        parameter on a separate line
        - alignFuncParam - if nonzero and parameters are being put on a
        separate line, align parameter names at the specified column

        Additional parameters/members:

        - expandEnumerants - if True, add BEGIN/END_RANGE macros in enumerated
        type declarations
        - secondaryInclude - if True, add secondary (no xref anchor) versions
        of generated files
        - extEnumerantAdditions - if True, include enumerants added by extensions
        in comment tables for core enumeration types.
        - extEnumerantFormatString - A format string for any additional message for
        enumerants from extensions if extEnumerantAdditions is True. The correctly-
        marked-up extension name will be passed.
        """
        GeneratorOptions.__init__(self, **kwargs)
        self.prefixText = prefixText
        """list of strings to prefix generated header with (usually a copyright statement + calling convention macros)."""

        self.apicall = apicall
        """string to use for the function declaration prefix, such as APICALL on Windows."""

        self.apientry = apientry
        """string to use for the calling convention macro, in typedefs, such as APIENTRY."""

        self.apientryp = apientryp
        """string to use for the calling convention macro in function pointer typedefs, such as APIENTRYP."""

        self.indentFuncProto = indentFuncProto
        """True if prototype declarations should put each parameter on a separate line"""

        self.indentFuncPointer = indentFuncPointer
        """True if typedefed function pointers should put each parameter on a separate line"""

        self.alignFuncParam = alignFuncParam
        """if nonzero and parameters are being put on a separate line, align parameter names at the specified column"""

        self.secondaryInclude = secondaryInclude
        """if True, add secondary (no xref anchor) versions of generated files"""

        self.expandEnumerants = expandEnumerants
        """if True, add BEGIN/END_RANGE macros in enumerated type declarations"""

        self.extEnumerantAdditions = extEnumerantAdditions
        """if True, include enumerants added by extensions in comment tables for core enumeration types."""

        self.extEnumerantFormatString = extEnumerantFormatString
        """A format string for any additional message for