Lines Matching defs:of

3 % Various packages of possible use. {index} creates problems for some reason.
9 % underscore allows use of _ instead of \_ in text. [strings] allows _ in file names
35 generated from the current authoritative copy of the XML files, can be
49 The registry uses an XML representation of the API and a set of Python 3
94 environment, there are equivalent versions of Python and GNU Make, although
120 internal documentation in the form of comments although nothing more
128 The format of an XML registry is a top level \tag{registry} tag
130 \tag{extension} tags describing the different elements of an API, as
157 specified at header generation time, for labelling properties of a
167 A \tag{registry} contains the entire definition of one or more related
170 \subsection{Attributes of \tag{registry} tags}
174 \subsection{Contents of \tag{registry} tags}
176 Zero or more of each of the following tags, normally in this order
187 One parameter can be of multiple kinds, separated by commas.
189 of tokens for possible parameter validation in API bindings for
208 of the derived types used in the API.
213 \subsection{Attributes of \tag{type} tags}
218 \item \attr{name} - name of this type (if not defined in the tag body).
220 specializes this definition of the named type, so that the same
225 \subsection{Contents of \tag{type} tags}
233 \item \tag{name} - contains the name of this type (if not defined in the
237 \subsection{Example of a \tag{types} tag}
261 \subsection{Attributes of (\tag{kinds} tag)}
264 \item \attr{name} - the name of the kind.
265 \item \attr{desc} - a description of what the kind indicates.
268 \subsection{Contents of \tag{kinds} tags}
273 \subsection{Example of a \tag{kinds} tag}
277 <kind name="Color" desc="This parameter represents part of or a complete color." />
287 \subsection{Attributes of \tag{kind} tag}
292 \item \attr{desc} - kind description, a description of what it
296 \subsection{Contents of \tag{kind} tag}
300 \subsection{Meaning of \tag{kind} tags}
303 If a \tag{proto} or \tag{param} tag of a \tag{command} has a
316 some of the group annotations used for return and parameter types.
318 \subsection{Attributes of \tag{groups} tags}
322 \subsection{Contents of \tag{groups} tags}
328 \subsection{Example of \tag{groups} tags}
349 \subsection{Attributes of \tag{group} tags}
353 of enums together within a broader namespace.
356 \subsection{Contents of \tag{group} tags}
362 \subsection{Meaning of \tag{group} tags}
365 If a \tag{proto} or \tag{param} tag of a \tag{command} has a
376 The \tag{enums} tags contain individual \tag{enum} tags describing each of the
379 \subsection{Attributes of \tag{enums} tags}
386 \item \attr{type} - a string describing the data type of the values of
387 this group of enums, currently unused. The only string used at
389 \item \attr{start}, \attr{end} - integers defining the start and end of
390 a reserved range of enumerants for a particular vendor or purpose.
396 reserved range of enumerants is allocated.
400 \subsection{Contents of \tag{enums} tags}
406 \subsection{Example of \tag{enums} tags}
434 \subsection{Attributes of \tag{enum} tags}
440 \item \attr{api} - an API name which specializes this definition of the
448 sorting of values, and is rarely used.
449 \item \attr{group} - group name, an arbitrary string for grouping a set of
452 serves the same purpose, but is deprecated in favor of this attribute.
455 \item \attr{alias} - name of another enumerant this is an alias of, used
456 where token names have been changed as a result of profile changes
461 the {\em Changed Tokens} sections of appendices to the OpenGL
465 \subsection{Contents of \tag{enum} tags}
474 Each \tag{unused} tag defines a range of enumerants which is allocated,
478 \subsection{Attributes of \tag{unused} tags}
481 \item \attr{start}, \attr{end} - integers defining the start and end of
482 an unused range of enumerants. \attr{start} must be $\leq$
486 reserved range of enumerants is allocated. Usually identical to
487 the \attr{vendor} attribute of the surrounding \attr{enums} block.
491 \subsection{Contents of \tag{unused} tags}
499 The \tag{commands} tag contains definitions of each of the functions
502 \subsection{Attributes of \tag{commands} tags}
510 \subsection{Contents of \tag{commands} tags}
520 The \tag{command} tag contains a structured definition of a single API
523 \subsection{Attributes of \tag{command} tags}
529 \subsection{Contents of \tag{command} tags}
533 function prototype of a command as described below, up to the
545 name of another command this command is an alias of, used when
552 the name of another command which is the {\em vector equivalent}
553 of this command. For example, the vector equivalent of
564 The \tag{proto} tag defines the return type and name of a command.
566 \subsubsection{Attributes of \tag{proto} tags}
570 \item \attr{kind} - kind list, a comma separated list of names of
577 \subsubsection{Contents of \tag{proto} tags}
579 The text elements of a \tag{proto} tag, with all other tags removed, is
580 legal C code describing the return type and name of a command. In addition
586 type must be previously defined for the definition of the command
597 The \tag{param} tag defines the type and name of a parameter.
599 \subsubsection{Attributes of \tag{param} tags}
603 \item \attr{kind} - kind list, a comma separated list of names of
606 number of elements of the parameter \tag{ptype}, or a complex
608 a length that is computed as a combination of other command
610 \item \attr{class} - an arbitrary string defining the type of object handles
620 \subsubsection{Contents of \tag{param} tags}
622 The text elements of a \tag{param} tag, with all other tags removed, is
623 legal C code describing the type and name of a function parameter. In
629 type must be previously defined for the definition of the command
637 \subsection{Example of a \tag{commands} tag}
662 is the set of interfaces (enumerants and commands) defined by a
664 includes all API profiles of that version.
666 \subsection{Attributes of \tag{feature} tags}
677 definition of a feature or extension requires another to be
684 \subsection{Contents of \tag{feature} tags}
688 set of interfaces that is respectively required for, or removed from,
691 \subsection{Example of a \tag{feature} tag}
706 When processed into a C header for the \code{compatibility} profile of
707 OpenGL, this results in (assuming the usual definitions of these GL
723 If processed into a header for the \code{core} profile, the definition of
730 The \tag{extensions} tag contains definitions of each of the extenions
733 \subsection{Attributes of \tag{extensions} tags}
737 \subsection{Contents of \tag{extensions} tags}
749 extension is the set of interfaces defined by a particular API extension
751 similar to \tag{feature}, but instead of having \attr{version} and
753 which describes the set of API names which the extension can potentially
756 \subsection{Attributes of \tag{extension} tags}
761 \attr{api} tag of a set of \tag{feature} tags.
765 definition of an extension requires another to be defined first.
769 \subsection{Contents of \tag{extension} tags}
773 set of interfaces that is respectively required for, or removed from,
776 \subsection{Example of an \tag{extensions} tag}
795 \code{core} profile of OpenGL, this results in (assuming the usual
796 definitions of these GL interfaces):
813 A \tag{require} block defines a set of interfaces (types, enumerants and
815 \tag{remove} block defines a set of interfaces {\em removed} by a
819 the tag name and behavior, the contents of \tag{require} and
822 \subsection{Attributes of \tag{require} and \tag{remove} tags}
825 \item \attr{profile} - string name of an API profile. Interfaces in the
840 \subsection{Contents of \tag{require} and \tag{remove} tags}
842 Zero or more of the following tags, in any order:
850 \item \attr{name} - name of the command (required).
858 \item \attr{name} - name of the enumerant (required).
863 the \tag{ptype} tags of commands, but in a few cases, additional
869 \item \attr{name} - name of the type (required).
879 \subsection{Stability of the XML Database and Schema}
888 canonicalization of the XML or sorting of \tag{command} and
890 the change log of this document (see section~\ref{changelog}). Changes
897 There are lots of tools and additional tags that would make the XML format
900 of the API and bindings to it.
906 sorts of aliases, such as commands equivalent in behavior and
908 a {\em client-side alias} or something of the sort).
914 The initial releases of the XML Registry did not include type annotation
916 generated a number of complaints from people writing bindings of OpenGL
917 to languages other than C. The majority of these annotations have now
918 been added to the XML, in the form of \tag{group} tags (see
919 section~\ref{tag:group}) defining groups of related enumerants,
922 attributes on \tag{param} tags specifying the array length of the
930 later versions of OpenGL and OpenGL extensions. The group names are
943 entirely out of \code{gl.xml}, since they offer no useful additional
951 A few examples of such groups are \code{cl\_context},
957 Group names representing some type of numerical constraint on a value
963 did not describe the meaning of these groups.
965 A few examples of such groups are \code{CheckedFloat32},
978 did not describe the meaning of these groups.
980 A few examples of such groups are \code{List} and \code{Path}.
988 groups usually are a result of vendors contributing \code{gl.spec}
993 did not describe the meaning of these groups.
995 A few examples of such groups are \code{ArrayObjectPNameATI},
1036 section~\ref{general:annotations} discussing limitations of these
1037 annotations. Still need to add examples of the annotation
1040 groups of \tag{extension} tags, to ease XML transformations such
1042 \item 2013-06-14 - Expanded description of tags, better formatting