]> O.S.I.I.S - jp/vkvg.git/commitdiff
save commit with all tests gh-pages-tests
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 21 Aug 2020 21:17:45 +0000 (23:17 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 21 Aug 2020 21:17:45 +0000 (23:17 +0200)
39 files changed:
.sass-cache/873bb8b7409f49ad37bc16c4d09002f085fb5ad2/no-style-please.scssc [new file with mode: 0644]
Gemfile
_config.yml
_data/doc/xml/combine.xslt [new file with mode: 0644]
_data/doc/xml/compound.xsd [new file with mode: 0644]
_data/doc/xml/dir_d44c64559bbebec7f509842c48db8b23.xml [new file with mode: 0644]
_data/doc/xml/index.xml [new file with mode: 0644]
_data/doc/xml/index.xsd [new file with mode: 0644]
_data/doc/xml/index.yaml [new file with mode: 0644]
_data/doc/xml/structvkvg__color__t.xml [new file with mode: 0644]
_data/doc/xml/structvkvg__font__extents__t.xml [new file with mode: 0644]
_data/doc/xml/structvkvg__matrix__t.xml [new file with mode: 0644]
_data/doc/xml/structvkvg__text__extents__t.xml [new file with mode: 0644]
_data/doc/xml/vkvg_8h.xml [new file with mode: 0644]
_data/doc/xml/vkvg_8h.yaml [new file with mode: 0644]
_includes/head.html
_includes/navfunc.html [new file with mode: 0644]
_includes/sidenav.html [new file with mode: 0644]
_layouts/default.html
_layouts/documentation.html [new file with mode: 0644]
_layouts/framed.html [new file with mode: 0644]
_layouts/home.html
_plugins/directory_tag.rb [new file with mode: 0644]
_plugins/doxygen.rb [new file with mode: 0644]
_plugins/hello.rb [new file with mode: 0644]
_posts/2020-08-16-welcome-to-jekyll.markdown
_sass/no-style-please.scss
about.markdown
assets/css/syntax.css [new file with mode: 0644]
documentation.md [new file with mode: 0644]
documentation/README.md [new file with mode: 0644]
documentation/building/debian.md [new file with mode: 0644]
documentation/building/windows.md [new file with mode: 0644]
documentation/building2/debian.md [new file with mode: 0644]
documentation/building2/windows.md [new file with mode: 0644]
documentation/building3/debian.md [new file with mode: 0644]
documentation/building3/windows.md [new file with mode: 0644]
index.markdown
testxml.md [new file with mode: 0644]

diff --git a/.sass-cache/873bb8b7409f49ad37bc16c4d09002f085fb5ad2/no-style-please.scssc b/.sass-cache/873bb8b7409f49ad37bc16c4d09002f085fb5ad2/no-style-please.scssc
new file mode 100644 (file)
index 0000000..1ebedae
Binary files /dev/null and b/.sass-cache/873bb8b7409f49ad37bc16c4d09002f085fb5ad2/no-style-please.scssc differ
diff --git a/Gemfile b/Gemfile
index 8b23a009fcbe262a9b3dbfb17f27bdb6a1fc3e01..0181b3b478463a6bc05427099bf13081b80522df 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -7,7 +7,7 @@ source "https://rubygems.org"
 #
 # This will help ensure the proper Jekyll version is running.
 # Happy Jekylling!
-gem "jekyll", "~> 4.1.1"
+gem "jekyll", "~> 3.8.6"
 # This is the default theme for new Jekyll sites. You may change this to anything you like.
 gem "no-style-please"
 # If you want to use GitHub Pages, remove the "gem "jekyll"" above and
@@ -16,6 +16,10 @@ gem "no-style-please"
 # If you have any plugins, put them here!
 group :jekyll_plugins do
   gem "jekyll-feed", "~> 0.12"
+  gem "jekyll-seo-tag"
+  gem "jekyll-remote-theme"
+  gem "jekyll-admin"
+  gem "jekyll-datapage-generator"
 end
 
 # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
index 348243cfb53e7d15a73080619da5a7968bff530e..3ec52f6117926efd2384aa7163ced383f32f00b4 100644 (file)
@@ -1,23 +1,15 @@
 title: VKVG Documentation
 author: Jean-Philippe Bruyère
 email: jp_bruyere@hotmail.com
-url: http://github.com/jpbruyere/vkvg # root address of the site
-description: >-
-  description: Open source 2d vector graphic library for vulkan writen in c.
-
-baseurl: "/vkvg" # the subpath of your site, e.g. /blog
-url: "https://jpbruyere.github.io" # the base hostname & protocol for your site, e.g. http://example.com
 twitter_username: jpbruyere
 github_username: jpbruyere
+description: >-
+  description: Open source 2d vector graphic library for vulkan writen in c.
+url: http://github.com/jpbruyere/vkvg # root address of the site
 
-# Build settings
-# theme: no-style-please
-remote_theme: riggraz/no-style-please
+theme: no-style-please
+#remote_theme: riggraz/no-style-please
 
-theme_config:
-  back_home_text: ".." # customize text for homepage link in post layout
-  date_format: "%Y-%m-%d" # customize how date is formatted
-  show_description: false # show blog description in home page
 
 addons:
   - github
@@ -28,6 +20,19 @@ plugins:
   - jekyll-feed
   - jekyll-seo-tag
   - jekyll-remote-theme
+  - jekyll-admin
+  - jekyll-datapage-generator
+
+markdown: kramdown
+
+kramdown:
+  input: GFM
+  syntax_highlighter: rouge
+
+theme_config:
+  back_home_text: ".." # customize text for homepage link in post layout
+  date_format: "%Y-%m-%d" # customize how date is formatted
+  show_description: true # show blog description in home page
 
 # Exclude from processing.
 # The following items will not be processed, by default.
@@ -37,7 +42,7 @@ plugins:
 # Excluded items can be processed by explicitly listing the directories or
 # their entries' file path in the `include:` list.
 #
-# exclude:
+#exclude:
 #   - .sass-cache/
 #   - .jekyll-cache/
 #   - gemfiles/
diff --git a/_data/doc/xml/combine.xslt b/_data/doc/xml/combine.xslt
new file mode 100644 (file)
index 0000000..f0ee1fd
--- /dev/null
@@ -0,0 +1,15 @@
+<!-- XSLT script to combine the generated output into a single file. 
+     If you have xsltproc you could use:
+     xsltproc combine.xslt index.xml >all.xml
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+  <xsl:output method="xml" version="1.0" indent="no" standalone="yes" />
+  <xsl:template match="/">
+    <doxygen version="{doxygenindex/@version}">
+      <!-- Load all doxygen generated xml files -->
+      <xsl:for-each select="doxygenindex/compound">
+        <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
+      </xsl:for-each>
+    </doxygen>
+  </xsl:template>
+</xsl:stylesheet>
diff --git a/_data/doc/xml/compound.xsd b/_data/doc/xml/compound.xsd
new file mode 100644 (file)
index 0000000..246e4a1
--- /dev/null
@@ -0,0 +1,1198 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:element name="doxygen" type="DoxygenType"/>
+
+  <!-- Complex types -->
+
+  <xsd:complexType name="DoxygenType">
+    <xsd:sequence maxOccurs="unbounded">
+      <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
+  </xsd:complexType>
+
+  <xsd:complexType name="compounddefType">
+    <xsd:sequence>
+      <xsd:element name="compoundname" type="xsd:string"/>
+      <xsd:element name="title" type="xsd:string" minOccurs="0" />
+      <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
+      <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
+      <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
+      <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="1" />
+      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
+      <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
+      <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
+      <xsd:element name="programlisting" type="listingType" minOccurs="0" />
+      <xsd:element name="location" type="locationType" minOccurs="0" />
+      <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" />
+    <xsd:attribute name="kind" type="DoxCompoundKind" />
+    <xsd:attribute name="language" type="DoxLanguage" use="optional"/>
+    <xsd:attribute name="prot" type="DoxProtectionKind" />
+    <xsd:attribute name="final" type="DoxBool" use="optional"/>
+    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
+    <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="listofallmembersType">
+    <xsd:sequence>
+      <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="memberRefType">
+    <xsd:sequence>
+      <xsd:element name="scope" />
+      <xsd:element name="name" />
+    </xsd:sequence>
+    <xsd:attribute name="refid" type="xsd:string" />
+    <xsd:attribute name="prot" type="DoxProtectionKind" />
+    <xsd:attribute name="virt" type="DoxVirtualKind" />
+    <xsd:attribute name="ambiguityscope" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docHtmlOnlyType">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="block" type="xsd:string" />
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="compoundRefType">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="refid" type="xsd:string" use="optional" />
+        <xsd:attribute name="prot" type="DoxProtectionKind" />
+        <xsd:attribute name="virt" type="DoxVirtualKind" />
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="reimplementType">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="refid" type="xsd:string" />
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="incType">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="refid" type="xsd:string" />
+        <xsd:attribute name="local" type="DoxBool" />
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="refType">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="refid" type="xsd:string" />
+        <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="refTextType">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+       <xsd:attribute name="refid" type="xsd:string" />
+       <xsd:attribute name="kindref" type="DoxRefKind" />
+       <xsd:attribute name="external" type="xsd:string" use="optional"/>
+       <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="sectiondefType">
+    <xsd:sequence>
+      <xsd:element name="header" type="xsd:string" minOccurs="0" />
+      <xsd:element name="description" type="descriptionType" minOccurs="0" />
+      <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="kind" type="DoxSectionKind" />
+  </xsd:complexType>
+
+  <xsd:complexType name="memberdefType">
+    <xsd:sequence>
+      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
+      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
+      <xsd:element name="definition" minOccurs="0" />
+      <xsd:element name="argsstring" minOccurs="0" />
+      <xsd:element name="name" />
+      <xsd:element name="read" minOccurs="0" />
+      <xsd:element name="write" minOccurs="0" />
+      <xsd:element name="bitfield" minOccurs="0" />
+      <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
+      <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
+      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
+      <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
+      <xsd:element name="location" type="locationType" />
+      <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="kind" type="DoxMemberKind" />
+    <xsd:attribute name="id" type="xsd:string" />
+    <xsd:attribute name="prot" type="DoxProtectionKind" />
+    <xsd:attribute name="static" type="DoxBool" />
+    <xsd:attribute name="strong" type="DoxBool" use="optional"/>
+    <xsd:attribute name="const" type="DoxBool" use="optional"/>
+    <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
+    <xsd:attribute name="inline" type="DoxBool" use="optional"/>
+    <xsd:attribute name="refqual" type="DoxRefQualifierKind" use="optional"/>
+    <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
+    <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
+    <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="noexcept" type="DoxBool" use="optional"/>
+    <xsd:attribute name="constexpr" type="DoxBool" use="optional"/>
+    <!-- Qt property -->
+    <xsd:attribute name="readable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="writable" type="DoxBool" use="optional"/>
+    <!-- C++/CLI variable -->
+    <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
+    <!-- C++/CLI and C# property -->
+    <xsd:attribute name="settable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="privatesettable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="protectedsettable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="privategettable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="protectedgettable" type="DoxBool" use="optional"/>
+    <!-- C++/CLI function -->
+    <xsd:attribute name="final" type="DoxBool" use="optional"/>
+    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
+    <xsd:attribute name="new" type="DoxBool" use="optional"/>
+    <!-- C++/CLI event -->
+    <xsd:attribute name="add" type="DoxBool" use="optional"/>
+    <xsd:attribute name="remove" type="DoxBool" use="optional"/>
+    <xsd:attribute name="raise" type="DoxBool" use="optional"/>
+    <!-- Objective-C 2.0 protocol method -->
+    <xsd:attribute name="optional" type="DoxBool" use="optional"/>
+    <xsd:attribute name="required" type="DoxBool" use="optional"/>
+    <!-- Objective-C 2.0 property accessor -->
+    <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
+    <!-- UNO IDL -->
+    <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
+    <xsd:attribute name="property" type="DoxBool" use="optional"/>
+    <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
+    <xsd:attribute name="bound" type="DoxBool" use="optional"/>
+    <xsd:attribute name="removable" type="DoxBool" use="optional"/>
+    <xsd:attribute name="constrained" type="DoxBool" use="optional"/>
+    <xsd:attribute name="transient" type="DoxBool" use="optional"/>
+    <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
+    <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
+    <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
+
+  </xsd:complexType>
+
+  <xsd:complexType name="descriptionType" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="title" type="xsd:string" minOccurs="0"/>          
+      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="internal" type="docInternalType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="enumvalueType" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="name" />
+      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
+      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" />
+    <xsd:attribute name="prot" type="DoxProtectionKind" />
+  </xsd:complexType>
+
+  <xsd:complexType name="templateparamlistType">
+    <xsd:sequence>
+      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="paramType">
+    <xsd:sequence>
+      <xsd:element name="attributes" minOccurs="0" />
+      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
+      <xsd:element name="declname" minOccurs="0" />
+      <xsd:element name="defname" minOccurs="0" />
+      <xsd:element name="array" minOccurs="0" />
+      <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
+      <xsd:element name="typeconstraint" type="linkedTextType" minOccurs="0" />
+      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="linkedTextType" mixed="true">
+    <xsd:sequence>
+    <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="graphType">
+    <xsd:sequence>
+      <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="nodeType">
+    <xsd:sequence>
+      <xsd:element name="label" />
+      <xsd:element name="link" type="linkType" minOccurs="0" />
+      <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="childnodeType">
+    <xsd:sequence>
+      <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="refid" type="xsd:string" />
+    <xsd:attribute name="relation" type="DoxGraphRelation" />
+  </xsd:complexType>
+
+  <xsd:complexType name="linkType">
+    <xsd:attribute name="refid" type="xsd:string" />
+    <xsd:attribute name="external" type="xsd:string" use="optional"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="listingType">
+    <xsd:sequence>
+      <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="filename" type="xsd:string" use="optional"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="codelineType">
+    <xsd:sequence>
+      <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="lineno" type="xsd:integer" />
+    <xsd:attribute name="refid" type="xsd:string" />
+    <xsd:attribute name="refkind" type="DoxRefKind" />
+    <xsd:attribute name="external" type="DoxBool" />
+  </xsd:complexType>
+
+  <xsd:complexType name="highlightType" mixed="true">
+    <xsd:choice minOccurs="0" maxOccurs="unbounded">
+      <xsd:element name="sp" type="spType" />
+      <xsd:element name="ref" type="refTextType" />
+    </xsd:choice>
+    <xsd:attribute name="class" type="DoxHighlightClass" />
+  </xsd:complexType>
+
+  <xsd:complexType name="spType" mixed="true">
+    <xsd:attribute name="value" type="xsd:integer" use="optional"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="referenceType" mixed="true">
+    <xsd:attribute name="refid" type="xsd:string" />
+    <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
+    <xsd:attribute name="startline" type="xsd:integer" />
+    <xsd:attribute name="endline" type="xsd:integer" />
+  </xsd:complexType>
+
+  <xsd:complexType name="locationType">
+    <xsd:attribute name="file" type="xsd:string" />
+    <xsd:attribute name="line" type="xsd:integer" />
+    <xsd:attribute name="column" type="xsd:integer" use="optional"/>
+    <xsd:attribute name="declfile" type="xsd:string" use="optional"/>
+    <xsd:attribute name="declline" type="xsd:integer" use="optional"/>
+    <xsd:attribute name="declcolumn" type="xsd:integer" use="optional"/>
+    <xsd:attribute name="bodyfile" type="xsd:string" />
+    <xsd:attribute name="bodystart" type="xsd:integer" />
+    <xsd:attribute name="bodyend" type="xsd:integer" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docSect1Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="title" type="xsd:string" minOccurs="0" />
+      <xsd:choice maxOccurs="unbounded">
+        <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+        <xsd:element name="internal" type="docInternalS1Type" minOccurs="0"  maxOccurs="unbounded" />
+        <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docSect2Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="title" type="xsd:string" />
+      <xsd:choice maxOccurs="unbounded">
+        <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+        <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
+        <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docSect3Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="title" type="xsd:string" />
+      <xsd:choice maxOccurs="unbounded">
+        <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+        <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
+        <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docSect4Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="title" type="xsd:string" />
+      <xsd:choice maxOccurs="unbounded">
+        <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+        <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docInternalType" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docInternalS1Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docInternalS2Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docInternalS3Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docInternalS4Type" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:group name="docTitleCmdGroup">
+    <xsd:choice>
+      <xsd:element name="ulink" type="docURLLink" />
+      <xsd:element name="bold" type="docMarkupType" />
+      <xsd:element name="s" type="docMarkupType" />
+      <xsd:element name="strike" type="docMarkupType" />
+      <xsd:element name="underline" type="docMarkupType" />
+      <xsd:element name="emphasis" type="docMarkupType" />
+      <xsd:element name="computeroutput" type="docMarkupType" />
+      <xsd:element name="subscript" type="docMarkupType" />
+      <xsd:element name="superscript" type="docMarkupType" />
+      <xsd:element name="center" type="docMarkupType" />
+      <xsd:element name="small" type="docMarkupType" />
+      <xsd:element name="del" type="docMarkupType" />
+      <xsd:element name="ins" type="docMarkupType" />
+      <xsd:element name="htmlonly" type="docHtmlOnlyType" />
+      <xsd:element name="manonly" type="xsd:string" />
+      <xsd:element name="xmlonly" type="xsd:string" />
+      <xsd:element name="rtfonly" type="xsd:string" />
+      <xsd:element name="latexonly" type="xsd:string" />
+      <xsd:element name="docbookonly" type="xsd:string" />
+      <xsd:element name="image" type="docImageType" />
+      <xsd:element name="dot" type="docImageType" />
+      <xsd:element name="msc" type="docImageType" />
+      <xsd:element name="plantuml" type="docImageType" />
+      <xsd:element name="anchor" type="docAnchorType" />
+      <xsd:element name="formula" type="docFormulaType" />
+      <xsd:element name="ref" type="docRefTextType" />
+      <xsd:element name="emoji" type="docEmojiType" />
+      <xsd:element name="linebreak" type="docEmptyType" />
+      <xsd:element name="nonbreakablespace" type="docEmptyType" />
+      <xsd:element name="iexcl" type="docEmptyType" />
+      <xsd:element name="cent" type="docEmptyType" />
+      <xsd:element name="pound" type="docEmptyType" />
+      <xsd:element name="curren" type="docEmptyType" />
+      <xsd:element name="yen" type="docEmptyType" />
+      <xsd:element name="brvbar" type="docEmptyType" />
+      <xsd:element name="sect" type="docEmptyType" />
+      <xsd:element name="umlaut" type="docEmptyType" />
+      <xsd:element name="copy" type="docEmptyType" />
+      <xsd:element name="ordf" type="docEmptyType" />
+      <xsd:element name="laquo" type="docEmptyType" />
+      <xsd:element name="not" type="docEmptyType" />
+      <xsd:element name="shy" type="docEmptyType" />
+      <xsd:element name="registered" type="docEmptyType" />
+      <xsd:element name="macr" type="docEmptyType" />
+      <xsd:element name="deg" type="docEmptyType" />
+      <xsd:element name="plusmn" type="docEmptyType" />
+      <xsd:element name="sup2" type="docEmptyType" />
+      <xsd:element name="sup3" type="docEmptyType" />
+      <xsd:element name="acute" type="docEmptyType" />
+      <xsd:element name="micro" type="docEmptyType" />
+      <xsd:element name="para" type="docEmptyType" />
+      <xsd:element name="middot" type="docEmptyType" />
+      <xsd:element name="cedil" type="docEmptyType" />
+      <xsd:element name="sup1" type="docEmptyType" />
+      <xsd:element name="ordm" type="docEmptyType" />
+      <xsd:element name="raquo" type="docEmptyType" />
+      <xsd:element name="frac14" type="docEmptyType" />
+      <xsd:element name="frac12" type="docEmptyType" />
+      <xsd:element name="frac34" type="docEmptyType" />
+      <xsd:element name="iquest" type="docEmptyType" />
+      <xsd:element name="Agrave" type="docEmptyType" />
+      <xsd:element name="Aacute" type="docEmptyType" />
+      <xsd:element name="Acirc" type="docEmptyType" />
+      <xsd:element name="Atilde" type="docEmptyType" />
+      <xsd:element name="Aumlaut" type="docEmptyType" />
+      <xsd:element name="Aring" type="docEmptyType" />
+      <xsd:element name="AElig" type="docEmptyType" />
+      <xsd:element name="Ccedil" type="docEmptyType" />
+      <xsd:element name="Egrave" type="docEmptyType" />
+      <xsd:element name="Eacute" type="docEmptyType" />
+      <xsd:element name="Ecirc" type="docEmptyType" />
+      <xsd:element name="Eumlaut" type="docEmptyType" />
+      <xsd:element name="Igrave" type="docEmptyType" />
+      <xsd:element name="Iacute" type="docEmptyType" />
+      <xsd:element name="Icirc" type="docEmptyType" />
+      <xsd:element name="Iumlaut" type="docEmptyType" />
+      <xsd:element name="ETH" type="docEmptyType" />
+      <xsd:element name="Ntilde" type="docEmptyType" />
+      <xsd:element name="Ograve" type="docEmptyType" />
+      <xsd:element name="Oacute" type="docEmptyType" />
+      <xsd:element name="Ocirc" type="docEmptyType" />
+      <xsd:element name="Otilde" type="docEmptyType" />
+      <xsd:element name="Oumlaut" type="docEmptyType" />
+      <xsd:element name="times" type="docEmptyType" />
+      <xsd:element name="Oslash" type="docEmptyType" />
+      <xsd:element name="Ugrave" type="docEmptyType" />
+      <xsd:element name="Uacute" type="docEmptyType" />
+      <xsd:element name="Ucirc" type="docEmptyType" />
+      <xsd:element name="Uumlaut" type="docEmptyType" />
+      <xsd:element name="Yacute" type="docEmptyType" />
+      <xsd:element name="THORN" type="docEmptyType" />
+      <xsd:element name="szlig" type="docEmptyType" />
+      <xsd:element name="agrave" type="docEmptyType" />
+      <xsd:element name="aacute" type="docEmptyType" />
+      <xsd:element name="acirc" type="docEmptyType" />
+      <xsd:element name="atilde" type="docEmptyType" />
+      <xsd:element name="aumlaut" type="docEmptyType" />
+      <xsd:element name="aring" type="docEmptyType" />
+      <xsd:element name="aelig" type="docEmptyType" />
+      <xsd:element name="ccedil" type="docEmptyType" />
+      <xsd:element name="egrave" type="docEmptyType" />
+      <xsd:element name="eacute" type="docEmptyType" />
+      <xsd:element name="ecirc" type="docEmptyType" />
+      <xsd:element name="eumlaut" type="docEmptyType" />
+      <xsd:element name="igrave" type="docEmptyType" />
+      <xsd:element name="iacute" type="docEmptyType" />
+      <xsd:element name="icirc" type="docEmptyType" />
+      <xsd:element name="iumlaut" type="docEmptyType" />
+      <xsd:element name="eth" type="docEmptyType" />
+      <xsd:element name="ntilde" type="docEmptyType" />
+      <xsd:element name="ograve" type="docEmptyType" />
+      <xsd:element name="oacute" type="docEmptyType" />
+      <xsd:element name="ocirc" type="docEmptyType" />
+      <xsd:element name="otilde" type="docEmptyType" />
+      <xsd:element name="oumlaut" type="docEmptyType" />
+      <xsd:element name="divide" type="docEmptyType" />
+      <xsd:element name="oslash" type="docEmptyType" />
+      <xsd:element name="ugrave" type="docEmptyType" />
+      <xsd:element name="uacute" type="docEmptyType" />
+      <xsd:element name="ucirc" type="docEmptyType" />
+      <xsd:element name="uumlaut" type="docEmptyType" />
+      <xsd:element name="yacute" type="docEmptyType" />
+      <xsd:element name="thorn" type="docEmptyType" />
+      <xsd:element name="yumlaut" type="docEmptyType" />
+      <xsd:element name="fnof" type="docEmptyType" />
+      <xsd:element name="Alpha" type="docEmptyType" />
+      <xsd:element name="Beta" type="docEmptyType" />
+      <xsd:element name="Gamma" type="docEmptyType" />
+      <xsd:element name="Delta" type="docEmptyType" />
+      <xsd:element name="Epsilon" type="docEmptyType" />
+      <xsd:element name="Zeta" type="docEmptyType" />
+      <xsd:element name="Eta" type="docEmptyType" />
+      <xsd:element name="Theta" type="docEmptyType" />
+      <xsd:element name="Iota" type="docEmptyType" />
+      <xsd:element name="Kappa" type="docEmptyType" />
+      <xsd:element name="Lambda" type="docEmptyType" />
+      <xsd:element name="Mu" type="docEmptyType" />
+      <xsd:element name="Nu" type="docEmptyType" />
+      <xsd:element name="Xi" type="docEmptyType" />
+      <xsd:element name="Omicron" type="docEmptyType" />
+      <xsd:element name="Pi" type="docEmptyType" />
+      <xsd:element name="Rho" type="docEmptyType" />
+      <xsd:element name="Sigma" type="docEmptyType" />
+      <xsd:element name="Tau" type="docEmptyType" />
+      <xsd:element name="Upsilon" type="docEmptyType" />
+      <xsd:element name="Phi" type="docEmptyType" />
+      <xsd:element name="Chi" type="docEmptyType" />
+      <xsd:element name="Psi" type="docEmptyType" />
+      <xsd:element name="Omega" type="docEmptyType" />
+      <xsd:element name="alpha" type="docEmptyType" />
+      <xsd:element name="beta" type="docEmptyType" />
+      <xsd:element name="gamma" type="docEmptyType" />
+      <xsd:element name="delta" type="docEmptyType" />
+      <xsd:element name="epsilon" type="docEmptyType" />
+      <xsd:element name="zeta" type="docEmptyType" />
+      <xsd:element name="eta" type="docEmptyType" />
+      <xsd:element name="theta" type="docEmptyType" />
+      <xsd:element name="iota" type="docEmptyType" />
+      <xsd:element name="kappa" type="docEmptyType" />
+      <xsd:element name="lambda" type="docEmptyType" />
+      <xsd:element name="mu" type="docEmptyType" />
+      <xsd:element name="nu" type="docEmptyType" />
+      <xsd:element name="xi" type="docEmptyType" />
+      <xsd:element name="omicron" type="docEmptyType" />
+      <xsd:element name="pi" type="docEmptyType" />
+      <xsd:element name="rho" type="docEmptyType" />
+      <xsd:element name="sigmaf" type="docEmptyType" />
+      <xsd:element name="sigma" type="docEmptyType" />
+      <xsd:element name="tau" type="docEmptyType" />
+      <xsd:element name="upsilon" type="docEmptyType" />
+      <xsd:element name="phi" type="docEmptyType" />
+      <xsd:element name="chi" type="docEmptyType" />
+      <xsd:element name="psi" type="docEmptyType" />
+      <xsd:element name="omega" type="docEmptyType" />
+      <xsd:element name="thetasym" type="docEmptyType" />
+      <xsd:element name="upsih" type="docEmptyType" />
+      <xsd:element name="piv" type="docEmptyType" />
+      <xsd:element name="bull" type="docEmptyType" />
+      <xsd:element name="hellip" type="docEmptyType" />
+      <xsd:element name="prime" type="docEmptyType" />
+      <xsd:element name="Prime" type="docEmptyType" />
+      <xsd:element name="oline" type="docEmptyType" />
+      <xsd:element name="frasl" type="docEmptyType" />
+      <xsd:element name="weierp" type="docEmptyType" />
+      <xsd:element name="imaginary" type="docEmptyType" />
+      <xsd:element name="real" type="docEmptyType" />
+      <xsd:element name="trademark" type="docEmptyType" />
+      <xsd:element name="alefsym" type="docEmptyType" />
+      <xsd:element name="larr" type="docEmptyType" />
+      <xsd:element name="uarr" type="docEmptyType" />
+      <xsd:element name="rarr" type="docEmptyType" />
+      <xsd:element name="darr" type="docEmptyType" />
+      <xsd:element name="harr" type="docEmptyType" />
+      <xsd:element name="crarr" type="docEmptyType" />
+      <xsd:element name="lArr" type="docEmptyType" />
+      <xsd:element name="uArr" type="docEmptyType" />
+      <xsd:element name="rArr" type="docEmptyType" />
+      <xsd:element name="dArr" type="docEmptyType" />
+      <xsd:element name="hArr" type="docEmptyType" />
+      <xsd:element name="forall" type="docEmptyType" />
+      <xsd:element name="part" type="docEmptyType" />
+      <xsd:element name="exist" type="docEmptyType" />
+      <xsd:element name="empty" type="docEmptyType" />
+      <xsd:element name="nabla" type="docEmptyType" />
+      <xsd:element name="isin" type="docEmptyType" />
+      <xsd:element name="notin" type="docEmptyType" />
+      <xsd:element name="ni" type="docEmptyType" />
+      <xsd:element name="prod" type="docEmptyType" />
+      <xsd:element name="sum" type="docEmptyType" />
+      <xsd:element name="minus" type="docEmptyType" />
+      <xsd:element name="lowast" type="docEmptyType" />
+      <xsd:element name="radic" type="docEmptyType" />
+      <xsd:element name="prop" type="docEmptyType" />
+      <xsd:element name="infin" type="docEmptyType" />
+      <xsd:element name="ang" type="docEmptyType" />
+      <xsd:element name="and" type="docEmptyType" />
+      <xsd:element name="or" type="docEmptyType" />
+      <xsd:element name="cap" type="docEmptyType" />
+      <xsd:element name="cup" type="docEmptyType" />
+      <xsd:element name="int" type="docEmptyType" />
+      <xsd:element name="there4" type="docEmptyType" />
+      <xsd:element name="sim" type="docEmptyType" />
+      <xsd:element name="cong" type="docEmptyType" />
+      <xsd:element name="asymp" type="docEmptyType" />
+      <xsd:element name="ne" type="docEmptyType" />
+      <xsd:element name="equiv" type="docEmptyType" />
+      <xsd:element name="le" type="docEmptyType" />
+      <xsd:element name="ge" type="docEmptyType" />
+      <xsd:element name="sub" type="docEmptyType" />
+      <xsd:element name="sup" type="docEmptyType" />
+      <xsd:element name="nsub" type="docEmptyType" />
+      <xsd:element name="sube" type="docEmptyType" />
+      <xsd:element name="supe" type="docEmptyType" />
+      <xsd:element name="oplus" type="docEmptyType" />
+      <xsd:element name="otimes" type="docEmptyType" />
+      <xsd:element name="perp" type="docEmptyType" />
+      <xsd:element name="sdot" type="docEmptyType" />
+      <xsd:element name="lceil" type="docEmptyType" />
+      <xsd:element name="rceil" type="docEmptyType" />
+      <xsd:element name="lfloor" type="docEmptyType" />
+      <xsd:element name="rfloor" type="docEmptyType" />
+      <xsd:element name="lang" type="docEmptyType" />
+      <xsd:element name="rang" type="docEmptyType" />
+      <xsd:element name="loz" type="docEmptyType" />
+      <xsd:element name="spades" type="docEmptyType" />
+      <xsd:element name="clubs" type="docEmptyType" />
+      <xsd:element name="hearts" type="docEmptyType" />
+      <xsd:element name="diams" type="docEmptyType" />
+      <xsd:element name="OElig" type="docEmptyType" />
+      <xsd:element name="oelig" type="docEmptyType" />
+      <xsd:element name="Scaron" type="docEmptyType" />
+      <xsd:element name="scaron" type="docEmptyType" />
+      <xsd:element name="Yumlaut" type="docEmptyType" />
+      <xsd:element name="circ" type="docEmptyType" />
+      <xsd:element name="tilde" type="docEmptyType" />
+      <xsd:element name="ensp" type="docEmptyType" />
+      <xsd:element name="emsp" type="docEmptyType" />
+      <xsd:element name="thinsp" type="docEmptyType" />
+      <xsd:element name="zwnj" type="docEmptyType" />
+      <xsd:element name="zwj" type="docEmptyType" />
+      <xsd:element name="lrm" type="docEmptyType" />
+      <xsd:element name="rlm" type="docEmptyType" />
+      <xsd:element name="ndash" type="docEmptyType" />
+      <xsd:element name="mdash" type="docEmptyType" />
+      <xsd:element name="lsquo" type="docEmptyType" />
+      <xsd:element name="rsquo" type="docEmptyType" />
+      <xsd:element name="sbquo" type="docEmptyType" />
+      <xsd:element name="ldquo" type="docEmptyType" />
+      <xsd:element name="rdquo" type="docEmptyType" />
+      <xsd:element name="bdquo" type="docEmptyType" />
+      <xsd:element name="dagger" type="docEmptyType" />
+      <xsd:element name="Dagger" type="docEmptyType" />
+      <xsd:element name="permil" type="docEmptyType" />
+      <xsd:element name="lsaquo" type="docEmptyType" />
+      <xsd:element name="rsaquo" type="docEmptyType" />
+      <xsd:element name="euro" type="docEmptyType" />
+      <xsd:element name="tm" type="docEmptyType" />
+    </xsd:choice>
+  </xsd:group>
+
+  <xsd:complexType name="docTitleType" mixed="true">
+    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+  </xsd:complexType>
+
+  <xsd:group name="docCmdGroup">
+    <xsd:choice>
+      <xsd:group ref="docTitleCmdGroup"/>
+      <xsd:element name="hruler" type="docEmptyType" />
+      <xsd:element name="preformatted" type="docMarkupType" />
+      <xsd:element name="programlisting" type="listingType" />
+      <xsd:element name="verbatim" type="xsd:string" />
+      <xsd:element name="indexentry" type="docIndexEntryType" />
+      <xsd:element name="orderedlist" type="docListType" />
+      <xsd:element name="itemizedlist" type="docListType" />
+      <xsd:element name="simplesect" type="docSimpleSectType" />
+      <xsd:element name="title" type="docTitleType" />
+      <xsd:element name="variablelist" type="docVariableListType" />
+      <xsd:element name="table" type="docTableType" />
+      <xsd:element name="heading" type="docHeadingType" />
+      <xsd:element name="dotfile" type="docImageType" />
+      <xsd:element name="mscfile" type="docImageType" />
+      <xsd:element name="diafile" type="docImageType" />
+      <xsd:element name="toclist" type="docTocListType" />
+      <xsd:element name="language" type="docLanguageType" />
+      <xsd:element name="parameterlist" type="docParamListType" />
+      <xsd:element name="xrefsect" type="docXRefSectType" />
+      <xsd:element name="copydoc" type="docCopyType" />
+      <xsd:element name="blockquote" type="docBlockQuoteType" />
+      <xsd:element name="parblock" type="docParBlockType" />
+    </xsd:choice>
+  </xsd:group>
+
+  <xsd:complexType name="docParaType" mixed="true">
+    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docMarkupType" mixed="true">
+    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docURLLink" mixed="true">
+    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+    <xsd:attribute name="url" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docAnchorType" mixed="true">
+    <xsd:attribute name="id" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docFormulaType" mixed="true">
+    <xsd:attribute name="id" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docIndexEntryType">
+    <xsd:sequence>
+      <xsd:element name="primaryie" type="xsd:string" />
+      <xsd:element name="secondaryie" type="xsd:string" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docListType">
+    <xsd:sequence>
+      <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docListItemType">
+    <xsd:sequence>
+      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docSimpleSectType">
+    <xsd:sequence>
+      <xsd:element name="title" type="docTitleType" minOccurs="0" />
+      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+        <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
+      </xsd:sequence>
+    </xsd:sequence>
+    <xsd:attribute name="kind" type="DoxSimpleSectKind" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docVarListEntryType">
+    <xsd:sequence>
+      <xsd:element name="term" type="docTitleType" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:group name="docVariableListGroup">
+    <xsd:sequence>
+      <xsd:element name="varlistentry" type="docVarListEntryType" />
+      <xsd:element name="listitem" type="docListItemType" />
+    </xsd:sequence>
+  </xsd:group>
+
+  <xsd:complexType name="docVariableListType">
+    <xsd:sequence>
+      <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docRefTextType" mixed="true">
+    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+    <xsd:attribute name="refid" type="xsd:string" />
+    <xsd:attribute name="kindref" type="DoxRefKind" />
+    <xsd:attribute name="external" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docTableType">
+    <xsd:sequence>
+      <xsd:element name="caption" type="docCaptionType" minOccurs="0" maxOccurs="1" />
+      <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="rows" type="xsd:integer" />
+    <xsd:attribute name="cols" type="xsd:integer" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docRowType">
+    <xsd:sequence>
+      <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docEntryType">
+    <xsd:sequence>
+      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="thead" type="DoxBool" />
+    <xsd:attribute name="colspan" type="xsd:integer" />
+    <xsd:attribute name="rowspan" type="xsd:integer" />
+    <xsd:attribute name="align" type="DoxAlign" />
+    <xsd:attribute name="class" type="xsd:string" />
+    <xsd:anyAttribute processContents="skip"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="docCaptionType" mixed="true">
+    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docHeadingType" mixed="true">
+    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+    <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
+  </xsd:complexType>
+
+  <xsd:complexType name="docImageType" mixed="true">
+    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+    <xsd:attribute name="type" type="DoxImageKind" use="optional"/>
+    <xsd:attribute name="name" type="xsd:string" use="optional"/>
+    <xsd:attribute name="width" type="xsd:string" use="optional"/>
+    <xsd:attribute name="height" type="xsd:string" use="optional"/>
+    <xsd:attribute name="inline" type="DoxBool" use="optional"/>
+    <xsd:attribute name="caption" type="xsd:string" use="optional"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="docTocItemType" mixed="true">
+    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+    <xsd:attribute name="id" type="xsd:string" /> 
+  </xsd:complexType>
+
+  <xsd:complexType name="docTocListType">
+    <xsd:sequence>
+      <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docLanguageType">
+    <xsd:sequence>
+      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="langid" type="xsd:string" /> 
+  </xsd:complexType>
+
+  <xsd:complexType name="docParamListType">
+    <xsd:sequence>
+      <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attribute name="kind" type="DoxParamListKind" /> 
+  </xsd:complexType>
+
+  <xsd:complexType name="docParamListItem">
+    <xsd:sequence>
+      <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="parameterdescription" type="descriptionType" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docParamNameList">
+    <xsd:sequence>
+      <xsd:element name="parametertype" type="docParamType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docParamType" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docParamName" mixed="true">
+    <xsd:sequence>
+      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
+    </xsd:sequence>
+    <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="docXRefSectType">
+    <xsd:sequence>
+      <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="xrefdescription" type="descriptionType" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string" /> 
+  </xsd:complexType>
+
+  <xsd:complexType name="docCopyType">
+    <xsd:sequence>
+      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="link" type="xsd:string" /> 
+  </xsd:complexType>
+
+  <xsd:complexType name="docBlockQuoteType">
+    <xsd:sequence>
+      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docParBlockType">
+    <xsd:sequence>
+      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docEmptyType"/>
+
+  <xsd:complexType name="tableofcontentsType">
+    <xsd:sequence>
+      <xsd:element name="tocsect" type="tableofcontentsKindType" minOccurs="1" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="tableofcontentsKindType">
+    <xsd:sequence>
+      <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+      <xsd:element name="reference" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+      <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="docEmojiType">
+    <xsd:attribute name="name" type="xsd:string"/>
+    <xsd:attribute name="unicode" type="xsd:string"/>
+  </xsd:complexType>
+
+  <!-- Simple types -->
+
+  <xsd:simpleType name="DoxBool">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="yes" />
+      <xsd:enumeration value="no" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxGraphRelation">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="include" />
+      <xsd:enumeration value="usage" />
+      <xsd:enumeration value="template-instance" />
+      <xsd:enumeration value="public-inheritance" />
+      <xsd:enumeration value="protected-inheritance" />
+      <xsd:enumeration value="private-inheritance" />
+      <xsd:enumeration value="type-constraint" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxRefKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="compound" />
+      <xsd:enumeration value="member" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxMemberKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="define" />
+      <xsd:enumeration value="property" />
+      <xsd:enumeration value="event" />
+      <xsd:enumeration value="variable" />
+      <xsd:enumeration value="typedef" />
+      <xsd:enumeration value="enum" />
+      <xsd:enumeration value="function" />
+      <xsd:enumeration value="signal" />
+      <xsd:enumeration value="prototype" />
+      <xsd:enumeration value="friend" />
+      <xsd:enumeration value="dcop" />
+      <xsd:enumeration value="slot" />
+      <xsd:enumeration value="interface" />
+      <xsd:enumeration value="service" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxProtectionKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="public" />
+      <xsd:enumeration value="protected" />
+      <xsd:enumeration value="private" />
+      <xsd:enumeration value="package" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxRefQualifierKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="lvalue" />
+      <xsd:enumeration value="rvalue" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxLanguage">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="Unknown" />
+      <xsd:enumeration value="IDL" />
+      <xsd:enumeration value="Java" />
+      <xsd:enumeration value="C#" />
+      <xsd:enumeration value="D" />
+      <xsd:enumeration value="PHP" />
+      <xsd:enumeration value="Objective-C" />
+      <xsd:enumeration value="C++" />
+      <xsd:enumeration value="JavaScript" />
+      <xsd:enumeration value="Python" />
+      <xsd:enumeration value="Fortran" />
+      <xsd:enumeration value="VHDL" />
+      <xsd:enumeration value="XML" />
+      <xsd:enumeration value="SQL" />
+      <xsd:enumeration value="Markdown" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxVirtualKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="non-virtual" />
+      <xsd:enumeration value="virtual" />
+      <xsd:enumeration value="pure-virtual" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxCompoundKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="class" />
+      <xsd:enumeration value="struct" />
+      <xsd:enumeration value="union" />
+      <xsd:enumeration value="interface" />
+      <xsd:enumeration value="protocol" />
+      <xsd:enumeration value="category" />
+      <xsd:enumeration value="exception" />
+      <xsd:enumeration value="service" />
+      <xsd:enumeration value="singleton" />
+      <xsd:enumeration value="module" />
+      <xsd:enumeration value="type" />
+      <xsd:enumeration value="file" />
+      <xsd:enumeration value="namespace" />
+      <xsd:enumeration value="group" />
+      <xsd:enumeration value="page" />
+      <xsd:enumeration value="example" />
+      <xsd:enumeration value="dir" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxSectionKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="user-defined" />
+      <xsd:enumeration value="public-type" />
+      <xsd:enumeration value="public-func" />
+      <xsd:enumeration value="public-attrib" />
+      <xsd:enumeration value="public-slot" />
+      <xsd:enumeration value="signal" />
+      <xsd:enumeration value="dcop-func" />
+      <xsd:enumeration value="property" />
+      <xsd:enumeration value="event" />
+      <xsd:enumeration value="public-static-func" />
+      <xsd:enumeration value="public-static-attrib" />
+      <xsd:enumeration value="protected-type" />
+      <xsd:enumeration value="protected-func" />
+      <xsd:enumeration value="protected-attrib" />
+      <xsd:enumeration value="protected-slot" />
+      <xsd:enumeration value="protected-static-func" />
+      <xsd:enumeration value="protected-static-attrib" />
+      <xsd:enumeration value="package-type" />
+      <xsd:enumeration value="package-func" />
+      <xsd:enumeration value="package-attrib" />
+      <xsd:enumeration value="package-static-func" />
+      <xsd:enumeration value="package-static-attrib" />
+      <xsd:enumeration value="private-type" />
+      <xsd:enumeration value="private-func" />
+      <xsd:enumeration value="private-attrib" />
+      <xsd:enumeration value="private-slot" />
+      <xsd:enumeration value="private-static-func" />
+      <xsd:enumeration value="private-static-attrib" />
+      <xsd:enumeration value="friend" />
+      <xsd:enumeration value="related" />
+      <xsd:enumeration value="define" />
+      <xsd:enumeration value="prototype" />
+      <xsd:enumeration value="typedef" />
+      <xsd:enumeration value="enum" />
+      <xsd:enumeration value="func" />
+      <xsd:enumeration value="var" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxHighlightClass">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="comment" />
+      <xsd:enumeration value="normal" />
+      <xsd:enumeration value="preprocessor" />
+      <xsd:enumeration value="keyword" />
+      <xsd:enumeration value="keywordtype" />
+      <xsd:enumeration value="keywordflow" />
+      <xsd:enumeration value="stringliteral" />
+      <xsd:enumeration value="charliteral" />
+      <xsd:enumeration value="vhdlkeyword" />
+      <xsd:enumeration value="vhdllogic" />
+      <xsd:enumeration value="vhdlchar" />
+      <xsd:enumeration value="vhdldigit" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxSimpleSectKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="see" />
+      <xsd:enumeration value="return" />
+      <xsd:enumeration value="author" />
+      <xsd:enumeration value="authors" />
+      <xsd:enumeration value="version" />
+      <xsd:enumeration value="since" />
+      <xsd:enumeration value="date" />
+      <xsd:enumeration value="note" />
+      <xsd:enumeration value="warning" />
+      <xsd:enumeration value="pre" />
+      <xsd:enumeration value="post" />
+      <xsd:enumeration value="copyright" />
+      <xsd:enumeration value="invariant" />
+      <xsd:enumeration value="remark" />
+      <xsd:enumeration value="attention" />
+      <xsd:enumeration value="par" />
+      <xsd:enumeration value="rcs" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxVersionNumber">
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="\d+\.\d+.*" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxImageKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="html" />
+      <xsd:enumeration value="latex" />
+      <xsd:enumeration value="docbook" />
+      <xsd:enumeration value="rtf" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxParamListKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="param" />
+      <xsd:enumeration value="retval" />
+      <xsd:enumeration value="exception" />
+      <xsd:enumeration value="templateparam" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxCharRange">
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="[aeiouncAEIOUNC]" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxParamDir">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="in"/>
+      <xsd:enumeration value="out"/>
+      <xsd:enumeration value="inout"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxAccessor">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="retain"/>
+      <xsd:enumeration value="copy"/>
+      <xsd:enumeration value="assign"/>
+      <xsd:enumeration value="weak"/>
+      <xsd:enumeration value="strong"/>
+      <xsd:enumeration value="unretained"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="DoxAlign">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="left"/>
+      <xsd:enumeration value="right"/>
+      <xsd:enumeration value="center"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+</xsd:schema>
+
diff --git a/_data/doc/xml/dir_d44c64559bbebec7f509842c48db8b23.xml b/_data/doc/xml/dir_d44c64559bbebec7f509842c48db8b23.xml
new file mode 100644 (file)
index 0000000..b8f9867
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.18">
+  <compounddef id="dir_d44c64559bbebec7f509842c48db8b23" kind="dir">
+    <compoundname>include</compoundname>
+    <innerfile refid="vkvg_8h">vkvg.h</innerfile>
+    <briefdescription>
+    </briefdescription>
+    <detaileddescription>
+    </detaileddescription>
+    <location file="include/"/>
+  </compounddef>
+</doxygen>
diff --git a/_data/doc/xml/index.xml b/_data/doc/xml/index.xml
new file mode 100644 (file)
index 0000000..fbea04c
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.8.18">
+  <compound refid="structvkvg__color__t" kind="struct"><name>vkvg_color_t</name>
+    <member refid="structvkvg__color__t_1a4788d82c901b9367dd5c0daff8a7616b" kind="variable"><name>r</name></member>
+    <member refid="structvkvg__color__t_1a8cf17d727651616de6f2b79ef32170cd" kind="variable"><name>g</name></member>
+    <member refid="structvkvg__color__t_1a83fc1af92e29717b4513d121b0c72c7d" kind="variable"><name>b</name></member>
+    <member refid="structvkvg__color__t_1a4aec1a5be9d9a4a394a2e49e9744286e" kind="variable"><name>a</name></member>
+  </compound>
+  <compound refid="structvkvg__font__extents__t" kind="struct"><name>vkvg_font_extents_t</name>
+    <member refid="structvkvg__font__extents__t_1a31ebc425eeae55d11acd591bb46dd468" kind="variable"><name>ascent</name></member>
+    <member refid="structvkvg__font__extents__t_1a5984964357202018e67f64fd879af95b" kind="variable"><name>descent</name></member>
+    <member refid="structvkvg__font__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" kind="variable"><name>height</name></member>
+    <member refid="structvkvg__font__extents__t_1afef09feed3e6d406a79a4654bbfdf32e" kind="variable"><name>max_x_advance</name></member>
+    <member refid="structvkvg__font__extents__t_1a5a74d8c1db44409b96daa190fce554b1" kind="variable"><name>max_y_advance</name></member>
+  </compound>
+  <compound refid="structvkvg__matrix__t" kind="struct"><name>vkvg_matrix_t</name>
+    <member refid="structvkvg__matrix__t_1a9fb9d00fbbf390e0263bcc204b03c7c8" kind="variable"><name>xx</name></member>
+    <member refid="structvkvg__matrix__t_1a8e1608facba0c31efe99d65811fab570" kind="variable"><name>yx</name></member>
+    <member refid="structvkvg__matrix__t_1a83a7590defc35766f789fbbf7fc41590" kind="variable"><name>xy</name></member>
+    <member refid="structvkvg__matrix__t_1a342cbf7f29a65a0d1a2949ef4675008e" kind="variable"><name>yy</name></member>
+    <member refid="structvkvg__matrix__t_1a3c9556645d92e863376a4063a3ad7001" kind="variable"><name>x0</name></member>
+    <member refid="structvkvg__matrix__t_1adf19b8ba42d497d3093c3a51b1a32cca" kind="variable"><name>y0</name></member>
+  </compound>
+  <compound refid="structvkvg__text__extents__t" kind="struct"><name>vkvg_text_extents_t</name>
+    <member refid="structvkvg__text__extents__t_1a36152a2d5302d6860e555e77a4a8b456" kind="variable"><name>x_bearing</name></member>
+    <member refid="structvkvg__text__extents__t_1adb121426957cb2c536d442cb6fd1c90f" kind="variable"><name>y_bearing</name></member>
+    <member refid="structvkvg__text__extents__t_1ae426f00e82704fa09578f5446e22d915" kind="variable"><name>width</name></member>
+    <member refid="structvkvg__text__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" kind="variable"><name>height</name></member>
+    <member refid="structvkvg__text__extents__t_1ae83c02c42c97888eca5532a98ed4e2e4" kind="variable"><name>x_advance</name></member>
+    <member refid="structvkvg__text__extents__t_1a35b39603f2d8ae8c01b5cb9dfbfd20d3" kind="variable"><name>y_advance</name></member>
+  </compound>
+  <compound refid="vkvg_8h" kind="file"><name>vkvg.h</name>
+    <member refid="vkvg_8h_1a6664f29e4f38fafb584188235b65718a" kind="define"><name>VKVG_LOG_ERR</name></member>
+    <member refid="vkvg_8h_1a0411814a6919e5df693cf40dcfcbc4e3" kind="define"><name>VKVG_LOG_DEBUG</name></member>
+    <member refid="vkvg_8h_1af9445855626eb75472a91844db51e59e" kind="define"><name>VKVG_LOG_INFO</name></member>
+    <member refid="vkvg_8h_1af23f274286a67543b606d4918bc87d9c" kind="define"><name>VKVG_LOG_INFO_PATH</name></member>
+    <member refid="vkvg_8h_1a040b130202d4c2e3e1a57dd8837ed919" kind="define"><name>VKVG_LOG_DBG_ARRAYS</name></member>
+    <member refid="vkvg_8h_1a13fb664af0ea69bff0f1fbc142b57f60" kind="define"><name>VKVG_LOG_FULL</name></member>
+    <member refid="vkvg_8h_1a159ca84d25a5487d8e81e4438725df19" kind="define"><name>LOG</name></member>
+    <member refid="vkvg_8h_1a7a14d8e9fafcb47df7b52731622a15a3" kind="define"><name>VKVG_IDENTITY_MATRIX</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354" kind="enum"><name>vkvg_status_t</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adeea52cf65dc55d26c0ba6824c3245bf" kind="enumvalue"><name>VKVG_STATUS_SUCCESS</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adca5beade5a3fd84c5e3cb4db65d593e" kind="enumvalue"><name>VKVG_STATUS_NO_MEMORY</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad38afefc99aa272f5fa31598ddd0aa7f" kind="enumvalue"><name>VKVG_STATUS_INVALID_RESTORE</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a0b997f5a2181b315da16057fc152cda6" kind="enumvalue"><name>VKVG_STATUS_INVALID_POP_GROUP</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae52f6f34a55e63cc48acc0a973c5d454" kind="enumvalue"><name>VKVG_STATUS_NO_CURRENT_POINT</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a80652ae5261224409e179eef9121e5bd" kind="enumvalue"><name>VKVG_STATUS_INVALID_MATRIX</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354af1e2820c9277603041bb2cf1e92b9bcb" kind="enumvalue"><name>VKVG_STATUS_INVALID_STATUS</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a38d751f65b5ca4aba90ba3695627946c" kind="enumvalue"><name>VKVG_STATUS_NULL_POINTER</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a86d6a05e2fcd115f97a37a28c0d06b31" kind="enumvalue"><name>VKVG_STATUS_INVALID_STRING</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5c82a93fbd517d5a98098ac7c23fbf90" kind="enumvalue"><name>VKVG_STATUS_INVALID_PATH_DATA</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ace8b60d5e7bc16bf325b330b58c01f18" kind="enumvalue"><name>VKVG_STATUS_READ_ERROR</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354abbd09c792c0a7f4e25492bc1fd038db6" kind="enumvalue"><name>VKVG_STATUS_WRITE_ERROR</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a18b2554c65517624cf7425376c1e1bca" kind="enumvalue"><name>VKVG_STATUS_SURFACE_FINISHED</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5b97c967996b1d4286225140cb8883ad" kind="enumvalue"><name>VKVG_STATUS_SURFACE_TYPE_MISMATCH</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a1e6dcf65d3707ebb3c7aa1b96cf21987" kind="enumvalue"><name>VKVG_STATUS_PATTERN_TYPE_MISMATCH</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a2a9d2a77d748f8caad3f7ccb44e2a1bc" kind="enumvalue"><name>VKVG_STATUS_INVALID_CONTENT</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354aac1f7c1ddaf47f1ef79695e901d718f1" kind="enumvalue"><name>VKVG_STATUS_INVALID_FORMAT</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad620e357ff26af8b1adb6215406b3b14" kind="enumvalue"><name>VKVG_STATUS_INVALID_VISUAL</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae26847e7ea42867a9ae851b2b3a976a4" kind="enumvalue"><name>VKVG_STATUS_FILE_NOT_FOUND</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad171c132ea43395b0a748c63b99f55d9" kind="enumvalue"><name>VKVG_STATUS_INVALID_DASH</name></member>
+    <member refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ac774981b96eba5a3e20fea9d23dd631c" kind="enumvalue"><name>VKVG_STAtUS_NOT_ENOUGH_POINTS_TO_CLOSE_PATH</name></member>
+    <member refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995" kind="enum"><name>vkvg_direction_t</name></member>
+    <member refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995aaa62739c1a76e107fba227dffd6b8199" kind="enumvalue"><name>VKVG_HORIZONTAL</name></member>
+    <member refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995a288489ba8f506ba72415b35e86e5f332" kind="enumvalue"><name>VKVG_VERTICAL</name></member>
+    <member refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5" kind="enum"><name>vkvg_format_t</name></member>
+    <member refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a51e8f390b02e7117cb6bded3df1bc609" kind="enumvalue"><name>VKVG_FORMAT_ARGB32</name></member>
+    <member refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5aca9496af53332389ea1c579becfff146" kind="enumvalue"><name>VKVG_FORMAT_RGB24</name></member>
+    <member refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a1fc395bec4fab5baf6a8e9d12c48f91b" kind="enumvalue"><name>VKVG_FORMAT_A8</name></member>
+    <member refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a41129f80cde1638c50336775ec6059f1" kind="enumvalue"><name>VKVG_FORMAT_A1</name></member>
+    <member refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" kind="enum"><name>vkvg_extend_t</name></member>
+    <member refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a016c184949340ded7cab8cc3ebebee8f" kind="enumvalue"><name>VKVG_EXTEND_NONE</name></member>
+    <member refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a7f0a3a3c71705d13270039ced36036c0" kind="enumvalue"><name>VKVG_EXTEND_REPEAT</name></member>
+    <member refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40ad3e0f41a1a2af562e7538657d6611832" kind="enumvalue"><name>VKVG_EXTEND_REFLECT</name></member>
+    <member refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a2fbaf3043fce97d14bcfaad9f2dc0a1c" kind="enumvalue"><name>VKVG_EXTEND_PAD</name></member>
+    <member refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" kind="enum"><name>vkvg_filter_t</name></member>
+    <member refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a227895a3ffbd082c7f779c6c9ca7d76c" kind="enumvalue"><name>VKVG_FILTER_FAST</name></member>
+    <member refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a63f51bfec03cdca07fdfe9d718f3a75f" kind="enumvalue"><name>VKVG_FILTER_GOOD</name></member>
+    <member refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a00cb91e4e5cc8a0bc88ff1b8ab8fc8c0" kind="enumvalue"><name>VKVG_FILTER_BEST</name></member>
+    <member refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a51346835be4c9cafb1b033ec6cae5754" kind="enumvalue"><name>VKVG_FILTER_NEAREST</name></member>
+    <member refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a680a8fce657583362e33bdb2d97d3238" kind="enumvalue"><name>VKVG_FILTER_BILINEAR</name></member>
+    <member refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a3469ff42e4e804cf5b362eb2787b2654" kind="enumvalue"><name>VKVG_FILTER_GAUSSIAN</name></member>
+    <member refid="vkvg_8h_1a1cde27798744c6485ac522a843017513" kind="enum"><name>vkvg_pattern_type_t</name></member>
+    <member refid="vkvg_8h_1a1cde27798744c6485ac522a843017513aeb9d4daba143ba603f114c3805ab4fa4" kind="enumvalue"><name>VKVG_PATTERN_TYPE_SOLID</name></member>
+    <member refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a8396d15ca456c54a268bdc464107e5db" kind="enumvalue"><name>VKVG_PATTERN_TYPE_SURFACE</name></member>
+    <member refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a4aff9ccbec5d272981c596474adb5386" kind="enumvalue"><name>VKVG_PATTERN_TYPE_LINEAR</name></member>
+    <member refid="vkvg_8h_1a1cde27798744c6485ac522a843017513abac29bd75596cb8af065aa02a1aa34e4" kind="enumvalue"><name>VKVG_PATTERN_TYPE_RADIAL</name></member>
+    <member refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a926565c0b987eed62e76eca261151ee5" kind="enumvalue"><name>VKVG_PATTERN_TYPE_MESH</name></member>
+    <member refid="vkvg_8h_1a1cde27798744c6485ac522a843017513ae30ae9f2771df088bc24886fd42fc037" kind="enumvalue"><name>VKVG_PATTERN_TYPE_RASTER_SOURCE</name></member>
+    <member refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" kind="enum"><name>vkvg_line_cap_t</name></member>
+    <member refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a89ac22c56380187ec32463602a864f7b" kind="enumvalue"><name>VKVG_LINE_CAP_BUTT</name></member>
+    <member refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a803bf47b2bc042a98c2f1cf2b6543519" kind="enumvalue"><name>VKVG_LINE_CAP_ROUND</name></member>
+    <member refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a3fca82a7ac5b5ef3355775c79d4adb45" kind="enumvalue"><name>VKVG_LINE_CAP_SQUARE</name></member>
+    <member refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" kind="enum"><name>vkvg_line_join_t</name></member>
+    <member refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da87107f3a4b3dcbabeb57102b2fb3a311" kind="enumvalue"><name>VKVG_LINE_JOIN_MITER</name></member>
+    <member refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da5f2989d8df5882d66a907ad8d70a3e3c" kind="enumvalue"><name>VKVG_LINE_JOIN_ROUND</name></member>
+    <member refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da83710d8d86be990e5d057a109a559d83" kind="enumvalue"><name>VKVG_LINE_JOIN_BEVEL</name></member>
+    <member refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" kind="enum"><name>vkvg_fill_rule_t</name></member>
+    <member refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6ada97bad79f6371820b82472e0ff49fe7" kind="enumvalue"><name>VKVG_FILL_RULE_EVEN_ODD</name></member>
+    <member refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6a799b8a88417c80da02d1d52d8e62a43d" kind="enumvalue"><name>VKVG_FILL_RULE_NON_ZERO</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87" kind="enum"><name>_vkvg_operator</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7af999d0306d40ea662520ee32b7c366" kind="enumvalue"><name>VKVG_OPERATOR_CLEAR</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab3cee330e9692a3ff88897172616572d" kind="enumvalue"><name>VKVG_OPERATOR_SOURCE</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4dfe6b31014d9176eb6b7a7aa3d385b9" kind="enumvalue"><name>VKVG_OPERATOR_OVER</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87abbbc4a76b4369d28e2403865e00f2924" kind="enumvalue"><name>VKVG_OPERATOR_IN</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a1e3ea4b353149b5542c03ea976dcecc9" kind="enumvalue"><name>VKVG_OPERATOR_OUT</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab31e8813929c80d7695a9ec8faacdc2e" kind="enumvalue"><name>VKVG_OPERATOR_ATOP</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae7942f26d9811ae695fa9039a25185ac" kind="enumvalue"><name>VKVG_OPERATOR_DEST</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a31ab931279fff91ed1fdd0c3922f2efc" kind="enumvalue"><name>VKVG_OPERATOR_DEST_OVER</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acf76935b165c60b02bf712bfb0db490e" kind="enumvalue"><name>VKVG_OPERATOR_DEST_IN</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acfa2bd450283e3cad02adf315d468929" kind="enumvalue"><name>VKVG_OPERATOR_DEST_OUT</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4457938db69a0be5c966afe1416c4114" kind="enumvalue"><name>VKVG_OPERATOR_DEST_ATOP</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af6aedbb6e0b1dba8d1962e42fe952e2d" kind="enumvalue"><name>VKVG_OPERATOR_XOR</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72fe713a46b0c95d3a18ea0caaa9f29b" kind="enumvalue"><name>VKVG_OPERATOR_ADD</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7b0833925f83ff58e512027e42f80a0d" kind="enumvalue"><name>VKVG_OPERATOR_SATURATE</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4c3f2838289c96f9a6bb3271610eb3e9" kind="enumvalue"><name>VKVG_OPERATOR_MULTIPLY</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a041f32ac411d0ee92ee45515fe421eed" kind="enumvalue"><name>VKVG_OPERATOR_SCREEN</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87afc1665244ce692e3567acdac34360075" kind="enumvalue"><name>VKVG_OPERATOR_OVERLAY</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a68d84ef832f80cfa3fca0ba2aa72b08a" kind="enumvalue"><name>VKVG_OPERATOR_DARKEN</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af21ede6af7733c9392d78d31c6b1b20f" kind="enumvalue"><name>VKVG_OPERATOR_LIGHTEN</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a8d580f3ec35b024b64b7ac975064fe36" kind="enumvalue"><name>VKVG_OPERATOR_COLOR_DODGE</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a5c8b3fd21aaa197283ccceaf560230cd" kind="enumvalue"><name>VKVG_OPERATOR_COLOR_BURN</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a83357143445067cb70b2b9b460b61432" kind="enumvalue"><name>VKVG_OPERATOR_HARD_LIGHT</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ac935a73f1ee61c8a264f08a39f80f3f7" kind="enumvalue"><name>VKVG_OPERATOR_SOFT_LIGHT</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab391cf4ab11c3654ac15df0e573ecc78" kind="enumvalue"><name>VKVG_OPERATOR_DIFFERENCE</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72050d7bef560659ad20f4b881a262cd" kind="enumvalue"><name>VKVG_OPERATOR_EXCLUSION</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae37e0c8cdc8c925a1bc40a89619dca26" kind="enumvalue"><name>VKVG_OPERATOR_HSL_HUE</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87aad77d61118360c77d67576ba93aa7dc5" kind="enumvalue"><name>VKVG_OPERATOR_HSL_SATURATION</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a6afb07f344d2eb38a17316a1fd6dc3b9" kind="enumvalue"><name>VKVG_OPERATOR_HSL_COLOR</name></member>
+    <member refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae49240fcf0dcf3a90430c677eb4c60fe" kind="enumvalue"><name>VKVG_OPERATOR_HSL_LUMINOSITY</name></member>
+    <member refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kind="typedef"><name>VkvgText</name></member>
+    <member refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kind="typedef"><name>VkvgContext</name></member>
+    <member refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kind="typedef"><name>VkvgSurface</name></member>
+    <member refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kind="typedef"><name>VkvgDevice</name></member>
+    <member refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kind="typedef"><name>VkvgPattern</name></member>
+    <member refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kind="typedef"><name>NSVGimage</name></member>
+    <member refid="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" kind="typedef"><name>vkvg_operator_t</name></member>
+    <member refid="vkvg_8h_1a350ccc17b18af2ae47138c169edf4d0d" kind="function"><name>vkvg_device_create</name></member>
+    <member refid="vkvg_8h_1a055e4085fc23e7a95d3081f59c7ef66a" kind="function"><name>vkvg_device_create_multisample</name></member>
+    <member refid="vkvg_8h_1a2aaf6df4810242a7ba61d1cc22dda83d" kind="function"><name>vkvg_device_destroy</name></member>
+    <member refid="vkvg_8h_1a3fbc07e9e6fa4e97dd0857b58e66a916" kind="function"><name>vkvg_device_reference</name></member>
+    <member refid="vkvg_8h_1af8fba0b5d5588ef33326e874bd25a4c1" kind="function"><name>vkvg_device_get_reference_count</name></member>
+    <member refid="vkvg_8h_1a67fe3cfb43415cc557c3c6f2dad1990b" kind="function"><name>vkvg_device_set_dpy</name></member>
+    <member refid="vkvg_8h_1a629ad9c736d5e7936529aadbfc202c53" kind="function"><name>vkvg_device_get_dpy</name></member>
+    <member refid="vkvg_8h_1ac60a50a2726621c5bc3c99b9810ad627" kind="function"><name>vkvg_surface_create</name></member>
+    <member refid="vkvg_8h_1ab8ea522885d2768088a15f91bfcd3139" kind="function"><name>vkvg_surface_create_from_image</name></member>
+    <member refid="vkvg_8h_1acc1786f9608880df323b46ebac50733a" kind="function"><name>vkvg_surface_create_from_svg</name></member>
+    <member refid="vkvg_8h_1a98368f0e89ad91fba6ba763f9e6f7d27" kind="function"><name>vkvg_surface_create_from_svg_fragment</name></member>
+    <member refid="vkvg_8h_1aedc4e2964cf5c9a9c004d2874d73addb" kind="function"><name>vkvg_surface_create_for_VkhImage</name></member>
+    <member refid="vkvg_8h_1a22a2d413efceb83249e2b4348fe58345" kind="function"><name>vkvg_surface_reference</name></member>
+    <member refid="vkvg_8h_1af4a177cd4af529d4ff1fce0b9e3cba12" kind="function"><name>vkvg_surface_get_reference_count</name></member>
+    <member refid="vkvg_8h_1a4fb66c2cbbebddae0c0b8f69d13325e9" kind="function"><name>vkvg_surface_destroy</name></member>
+    <member refid="vkvg_8h_1ad43c411887c5c5bf60daeb62d05af0eb" kind="function"><name>vkvg_surface_clear</name></member>
+    <member refid="vkvg_8h_1a52d86147f436de7d2e138bcb4ee6015c" kind="function"><name>vkvg_surface_get_vk_image</name></member>
+    <member refid="vkvg_8h_1a51e2017f312896befb7e3a841d5542c5" kind="function"><name>vkvg_surface_get_vk_format</name></member>
+    <member refid="vkvg_8h_1abbb66e36ee4d187485b0ef4bba8780f3" kind="function"><name>vkvg_surface_get_width</name></member>
+    <member refid="vkvg_8h_1a52b10b4864ebba4dd2ce0edc0ed7e9b3" kind="function"><name>vkvg_surface_get_height</name></member>
+    <member refid="vkvg_8h_1ad6f4d9e10a156088df4cebbe82c5b650" kind="function"><name>vkvg_surface_get_vkh_image</name></member>
+    <member refid="vkvg_8h_1adcc851f311810c7827e75a3acd51cf2a" kind="function"><name>vkvg_surface_write_to_png</name></member>
+    <member refid="vkvg_8h_1a81a31187710d44e3df99da2b95335181" kind="function"><name>vkvg_multisample_surface_resolve</name></member>
+    <member refid="vkvg_8h_1a867f678630642e488d84c8d427c7f7fe" kind="function"><name>nsvg_load_file</name></member>
+    <member refid="vkvg_8h_1a827869f4fa022b99c91e884705abb1de" kind="function"><name>nsvg_load</name></member>
+    <member refid="vkvg_8h_1ad77975be665a6d9c559346c2a3baca71" kind="function"><name>nsvg_destroy</name></member>
+    <member refid="vkvg_8h_1aa25f73cd7894c62393aa5cd94609137d" kind="function"><name>nsvg_get_size</name></member>
+    <member refid="vkvg_8h_1a6eb760e09504a0282dac8b431f9182b3" kind="function"><name>vkvg_render_svg</name></member>
+    <member refid="vkvg_8h_1ab276844a1cbcb7e666997d78ba305aa7" kind="function"><name>vkvg_create</name></member>
+    <member refid="vkvg_8h_1a0e0bba5a28e7e264e8b265789b35cef5" kind="function"><name>vkvg_destroy</name></member>
+    <member refid="vkvg_8h_1ae855f56bde644560f5025d09c834a55c" kind="function"><name>vkvg_reference</name></member>
+    <member refid="vkvg_8h_1a0b8f1aabb13f0a25b195fc28153eb821" kind="function"><name>vkvg_get_reference_count</name></member>
+    <member refid="vkvg_8h_1aca4d2b86c75bdf3f07add4a48d861b5f" kind="function"><name>vkvg_flush</name></member>
+    <member refid="vkvg_8h_1a92d2ddcda9b53c6dbd352c31a84b6dfb" kind="function"><name>vkvg_new_path</name></member>
+    <member refid="vkvg_8h_1af7a96ef43fd8721ad82c296e96b1a89a" kind="function"><name>vkvg_close_path</name></member>
+    <member refid="vkvg_8h_1ad4df2d61a5e1ed43ceb89b5cb908f09c" kind="function"><name>vkvg_new_sub_path</name></member>
+    <member refid="vkvg_8h_1a7fdda8e84e6cc77dc30be427087f597d" kind="function"><name>vkvg_line_to</name></member>
+    <member refid="vkvg_8h_1afa0cae5af951c82a48470d530df9d7ff" kind="function"><name>vkvg_rel_line_to</name></member>
+    <member refid="vkvg_8h_1aa9a27bece5bbd278921c6cba623b2c63" kind="function"><name>vkvg_move_to</name></member>
+    <member refid="vkvg_8h_1ac7853e3949a804d682a856bfbd77312b" kind="function"><name>vkvg_rel_move_to</name></member>
+    <member refid="vkvg_8h_1ac068112f830a390f6b1ea52817d0fa6b" kind="function"><name>vkvg_arc</name></member>
+    <member refid="vkvg_8h_1a81af95aa15f5d5c54e42143183a4bf9b" kind="function"><name>vkvg_arc_negative</name></member>
+    <member refid="vkvg_8h_1aaef505547efbf0dac08363c29aa6d5fc" kind="function"><name>vkvg_curve_to</name></member>
+    <member refid="vkvg_8h_1a9e89a82994312cc6f29d86f7f24538d6" kind="function"><name>vkvg_rectangle</name></member>
+    <member refid="vkvg_8h_1a17aea0f2bcc09b2187fc6b1055c26dd3" kind="function"><name>vkvg_fill_rectangle</name></member>
+    <member refid="vkvg_8h_1a74bf1033a534dab1a320e95dc7dea157" kind="function"><name>vkvg_stroke</name></member>
+    <member refid="vkvg_8h_1aa2ed6dc1512777dd5ccad6aeb1dda7f4" kind="function"><name>vkvg_stroke_preserve</name></member>
+    <member refid="vkvg_8h_1a514541817d323e89f66069362bb8611d" kind="function"><name>vkvg_fill</name></member>
+    <member refid="vkvg_8h_1ab1fa94f07caed2355f289efe9ad5b920" kind="function"><name>vkvg_fill_preserve</name></member>
+    <member refid="vkvg_8h_1a8962c8af0aecbee767a3ca60e224cd8b" kind="function"><name>vkvg_paint</name></member>
+    <member refid="vkvg_8h_1af8ce78ae7fa4269a2a3c1c54ad2c58dd" kind="function"><name>vkvg_clear</name></member>
+    <member refid="vkvg_8h_1acc55b53318df7aa0fbb0d2a8ad62a7de" kind="function"><name>vkvg_reset_clip</name></member>
+    <member refid="vkvg_8h_1a1377398c35756811e602cb1f62a3666a" kind="function"><name>vkvg_clip</name></member>
+    <member refid="vkvg_8h_1af4f41865696063157dcccc49826c7542" kind="function"><name>vkvg_clip_preserve</name></member>
+    <member refid="vkvg_8h_1a74613bc604a761da3f8a5f3a05588837" kind="function"><name>vkvg_set_source_rgba</name></member>
+    <member refid="vkvg_8h_1a747c8ae1a645947fd918d5ac54b97a5a" kind="function"><name>vkvg_set_source_rgb</name></member>
+    <member refid="vkvg_8h_1ac159a4f21cb08f34c01e9a424b2a146b" kind="function"><name>vkvg_set_line_width</name></member>
+    <member refid="vkvg_8h_1acac211b9ddc47b13c9ad7887db491bd8" kind="function"><name>vkvg_set_line_cap</name></member>
+    <member refid="vkvg_8h_1a5b49660d94b802be40975417e7d963f3" kind="function"><name>vkvg_set_line_join</name></member>
+    <member refid="vkvg_8h_1a449bf4b084310edb22aacf4ffba7d8da" kind="function"><name>vkvg_set_source_surface</name></member>
+    <member refid="vkvg_8h_1a3d85796d4747860d13263be493d33ef9" kind="function"><name>vkvg_set_source</name></member>
+    <member refid="vkvg_8h_1a77655256b5a06027abf60cb6eb561c1e" kind="function"><name>vkvg_set_operator</name></member>
+    <member refid="vkvg_8h_1a305378530707a0e8436d068e919d15bf" kind="function"><name>vkvg_set_fill_rule</name></member>
+    <member refid="vkvg_8h_1a0cba8dfc3b4340e70820abba3c26c07b" kind="function"><name>vkvg_set_dash</name></member>
+    <member refid="vkvg_8h_1a003f578ba25479c16cec0f66161ed0f9" kind="function"><name>vkvg_get_dash</name></member>
+    <member refid="vkvg_8h_1a403922084a3cfecd3ef7e10f764bbd8e" kind="function"><name>vkvg_get_line_width</name></member>
+    <member refid="vkvg_8h_1aa24335582127d17912b7f0f79e4d760c" kind="function"><name>vkvg_get_line_cap</name></member>
+    <member refid="vkvg_8h_1a1a425a93c299ea2fe50b80c26d54e65a" kind="function"><name>vkvg_get_line_join</name></member>
+    <member refid="vkvg_8h_1ac525aec4976320d2bac91a16cf1d84f8" kind="function"><name>vkvg_get_operator</name></member>
+    <member refid="vkvg_8h_1ad628d092e9fae6f1c9dc8c2ae6c96b35" kind="function"><name>vkvg_get_fill_rule</name></member>
+    <member refid="vkvg_8h_1af86035c0d1696a504aec94572d218415" kind="function"><name>vkvg_get_source</name></member>
+    <member refid="vkvg_8h_1ac03501474a0d7c9ba002fd5b7b9d7aa5" kind="function"><name>vkvg_save</name></member>
+    <member refid="vkvg_8h_1a1f8f22f05ba71be6344787c7c52caf3b" kind="function"><name>vkvg_restore</name></member>
+    <member refid="vkvg_8h_1a71761d954c4f84161d889f1a3c3bf3b3" kind="function"><name>vkvg_translate</name></member>
+    <member refid="vkvg_8h_1a8da1de941ca7b4657298fc15d1814a4c" kind="function"><name>vkvg_scale</name></member>
+    <member refid="vkvg_8h_1aeb22a279fa51368ade2094303f729537" kind="function"><name>vkvg_rotate</name></member>
+    <member refid="vkvg_8h_1a2b63169d9113d74d5549e803d3f4fa9a" kind="function"><name>vkvg_transform</name></member>
+    <member refid="vkvg_8h_1ab56218e5b3ba4020ba68ad5fd3a92ddb" kind="function"><name>vkvg_set_matrix</name></member>
+    <member refid="vkvg_8h_1a6b0a4950733eb9792c24a0571cfbc53b" kind="function"><name>vkvg_get_matrix</name></member>
+    <member refid="vkvg_8h_1a07b38d9e2fa6338d765b3ba6f4414a87" kind="function"><name>vkvg_identity_matrix</name></member>
+    <member refid="vkvg_8h_1ade858000e4086620a00952a4ccc8744a" kind="function"><name>vkvg_select_font_face</name></member>
+    <member refid="vkvg_8h_1ae061587061b992790b315c0df670ec29" kind="function"><name>vkvg_set_font_size</name></member>
+    <member refid="vkvg_8h_1a58c6a51f8964a93e250152fc9e59921f" kind="function"><name>vkvg_show_text</name></member>
+    <member refid="vkvg_8h_1a50d271f7cf08e066489566cb192ac57c" kind="function"><name>vkvg_text_extents</name></member>
+    <member refid="vkvg_8h_1abcf41a619deeaf1fab72bc5c4e5ecf99" kind="function"><name>vkvg_font_extents</name></member>
+    <member refid="vkvg_8h_1a5a15641547545beb6c2fa99903713768" kind="function"><name>vkvg_text_run_create</name></member>
+    <member refid="vkvg_8h_1a23dc80671fff96c1f2390f03ea3230be" kind="function"><name>vkvg_text_run_destroy</name></member>
+    <member refid="vkvg_8h_1a1d8a8c6dea5e354b3f951ae980042c3a" kind="function"><name>vkvg_show_text_run</name></member>
+    <member refid="vkvg_8h_1ae7a8c7696c515cdfa1a59d4fe0ca12e8" kind="function"><name>vkvg_text_run_get_extents</name></member>
+    <member refid="vkvg_8h_1a3bc1cde4ef93d5b8e87870f35240cbc2" kind="function"><name>vkvg_pattern_reference</name></member>
+    <member refid="vkvg_8h_1a666342d39a4227e8b1d2ecbc1eaad3e9" kind="function"><name>vkvg_pattern_get_reference_count</name></member>
+    <member refid="vkvg_8h_1ae5284a7f3f6241d3c5b9012dc145dfcb" kind="function"><name>vkvg_pattern_create_for_surface</name></member>
+    <member refid="vkvg_8h_1ac14405c0e08f8cae0013d179a5c15308" kind="function"><name>vkvg_pattern_create_linear</name></member>
+    <member refid="vkvg_8h_1a19e3b3fde4351d70e052030508bed667" kind="function"><name>vkvg_pattern_create_radial</name></member>
+    <member refid="vkvg_8h_1aee2652254686507f28dfcf598db894c4" kind="function"><name>vkvg_pattern_destroy</name></member>
+    <member refid="vkvg_8h_1a058bcc558c988254da9309006a30ed35" kind="function"><name>vkvg_pattern_add_color_stop</name></member>
+    <member refid="vkvg_8h_1a29fe6b4335fe0352c5d7ea5804ba45e9" kind="function"><name>vkvg_pattern_set_extend</name></member>
+    <member refid="vkvg_8h_1ad2d8a91e379b5d39ae9c066380ae95f2" kind="function"><name>vkvg_pattern_set_filter</name></member>
+    <member refid="vkvg_8h_1af89e3a8ba79ac27840b4394d9f503459" kind="function"><name>vkvg_pattern_get_extend</name></member>
+    <member refid="vkvg_8h_1aea43689bc6fa9fff1e1ab557b45bbc9f" kind="function"><name>vkvg_pattern_get_filter</name></member>
+    <member refid="vkvg_8h_1a60cff46b3741569d302c19226b5f7340" kind="function"><name>vkvg_matrix_init_identity</name></member>
+    <member refid="vkvg_8h_1adfb1c02e17804239c8a8f1c2f0f8a374" kind="function"><name>vkvg_matrix_init</name></member>
+    <member refid="vkvg_8h_1a471448472d025facf479dc1fbaa6f102" kind="function"><name>vkvg_matrix_init_translate</name></member>
+    <member refid="vkvg_8h_1a824fa84193b12ef36fd11316b52edfb9" kind="function"><name>vkvg_matrix_init_scale</name></member>
+    <member refid="vkvg_8h_1a7565d3c1202c2aa88d06210e4e880c15" kind="function"><name>vkvg_matrix_init_rotate</name></member>
+    <member refid="vkvg_8h_1aa9cd565c5f9ad461d8ece37459c5757c" kind="function"><name>vkvg_matrix_translate</name></member>
+    <member refid="vkvg_8h_1a2af9ac82c85388031d206e5e59b00ab9" kind="function"><name>vkvg_matrix_scale</name></member>
+    <member refid="vkvg_8h_1a00b8f362ab4e337c2ec219dbee840a76" kind="function"><name>vkvg_matrix_rotate</name></member>
+    <member refid="vkvg_8h_1a696338f6b5986e8cde51cab3bd6f2050" kind="function"><name>vkvg_matrix_multiply</name></member>
+    <member refid="vkvg_8h_1aef5dcf4dab69857a4516cfa3770a6201" kind="function"><name>vkvg_matrix_transform_distance</name></member>
+    <member refid="vkvg_8h_1aa329c7a6282aa4eb6f39b8bcc9547c1c" kind="function"><name>vkvg_matrix_transform_point</name></member>
+    <member refid="vkvg_8h_1ad1b8dec7b489b777fa76f09ef605b3f6" kind="function"><name>vkvg_matrix_invert</name></member>
+  </compound>
+  <compound refid="dir_d44c64559bbebec7f509842c48db8b23" kind="dir"><name>include</name>
+  </compound>
+</doxygenindex>
diff --git a/_data/doc/xml/index.xsd b/_data/doc/xml/index.xsd
new file mode 100644 (file)
index 0000000..04cb2f1
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:element name="doxygenindex" type="DoxygenType"/>
+
+  <xsd:complexType name="DoxygenType">
+    <xsd:sequence>
+      <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="version" type="xsd:string" use="required"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="CompoundType">
+    <xsd:sequence>
+      <xsd:element name="name" type="xsd:string"/>
+      <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="refid" type="xsd:string" use="required"/>
+    <xsd:attribute name="kind" type="CompoundKind" use="required"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="MemberType">
+    <xsd:sequence>
+      <xsd:element name="name" type="xsd:string"/>
+    </xsd:sequence>
+    <xsd:attribute name="refid" type="xsd:string" use="required"/>
+    <xsd:attribute name="kind" type="MemberKind" use="required"/>
+  </xsd:complexType>
+  
+  <xsd:simpleType name="CompoundKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="class"/>
+      <xsd:enumeration value="struct"/>
+      <xsd:enumeration value="union"/>
+      <xsd:enumeration value="interface"/>
+      <xsd:enumeration value="protocol"/>
+      <xsd:enumeration value="category"/>
+      <xsd:enumeration value="exception"/>
+      <xsd:enumeration value="file"/>
+      <xsd:enumeration value="namespace"/>
+      <xsd:enumeration value="group"/>
+      <xsd:enumeration value="page"/>
+      <xsd:enumeration value="example"/>
+      <xsd:enumeration value="dir"/>
+      <xsd:enumeration value="type"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="MemberKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="define"/>
+      <xsd:enumeration value="property"/>
+      <xsd:enumeration value="event"/>
+      <xsd:enumeration value="variable"/>
+      <xsd:enumeration value="typedef"/>
+      <xsd:enumeration value="enum"/>
+      <xsd:enumeration value="enumvalue"/>
+      <xsd:enumeration value="function"/>
+      <xsd:enumeration value="signal"/>
+      <xsd:enumeration value="prototype"/>
+      <xsd:enumeration value="friend"/>
+      <xsd:enumeration value="dcop"/>
+      <xsd:enumeration value="slot"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+</xsd:schema>
+
diff --git a/_data/doc/xml/index.yaml b/_data/doc/xml/index.yaml
new file mode 100644 (file)
index 0000000..744e981
--- /dev/null
@@ -0,0 +1,741 @@
+---
+doxygenindex:
+  compound:
+    - kind: struct
+      member:
+        - kind: variable
+          name: r
+          refid: structvkvg__color__t_1a4788d82c901b9367dd5c0daff8a7616b
+        - kind: variable
+          name: g
+          refid: structvkvg__color__t_1a8cf17d727651616de6f2b79ef32170cd
+        - kind: variable
+          name: b
+          refid: structvkvg__color__t_1a83fc1af92e29717b4513d121b0c72c7d
+        - kind: variable
+          name: a
+          refid: structvkvg__color__t_1a4aec1a5be9d9a4a394a2e49e9744286e
+      name: vkvg_color_t
+      refid: structvkvg__color__t
+    - kind: struct
+      member:
+        - kind: variable
+          name: ascent
+          refid: structvkvg__font__extents__t_1a31ebc425eeae55d11acd591bb46dd468
+        - kind: variable
+          name: descent
+          refid: structvkvg__font__extents__t_1a5984964357202018e67f64fd879af95b
+        - kind: variable
+          name: height
+          refid: structvkvg__font__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4
+        - kind: variable
+          name: max_x_advance
+          refid: structvkvg__font__extents__t_1afef09feed3e6d406a79a4654bbfdf32e
+        - kind: variable
+          name: max_y_advance
+          refid: structvkvg__font__extents__t_1a5a74d8c1db44409b96daa190fce554b1
+      name: vkvg_font_extents_t
+      refid: structvkvg__font__extents__t
+    - kind: struct
+      member:
+        - kind: variable
+          name: xx
+          refid: structvkvg__matrix__t_1a9fb9d00fbbf390e0263bcc204b03c7c8
+        - kind: variable
+          name: yx
+          refid: structvkvg__matrix__t_1a8e1608facba0c31efe99d65811fab570
+        - kind: variable
+          name: xy
+          refid: structvkvg__matrix__t_1a83a7590defc35766f789fbbf7fc41590
+        - kind: variable
+          name: yy
+          refid: structvkvg__matrix__t_1a342cbf7f29a65a0d1a2949ef4675008e
+        - kind: variable
+          name: x0
+          refid: structvkvg__matrix__t_1a3c9556645d92e863376a4063a3ad7001
+        - kind: variable
+          name: y0
+          refid: structvkvg__matrix__t_1adf19b8ba42d497d3093c3a51b1a32cca
+      name: vkvg_matrix_t
+      refid: structvkvg__matrix__t
+    - kind: struct
+      member:
+        - kind: variable
+          name: x_bearing
+          refid: structvkvg__text__extents__t_1a36152a2d5302d6860e555e77a4a8b456
+        - kind: variable
+          name: y_bearing
+          refid: structvkvg__text__extents__t_1adb121426957cb2c536d442cb6fd1c90f
+        - kind: variable
+          name: width
+          refid: structvkvg__text__extents__t_1ae426f00e82704fa09578f5446e22d915
+        - kind: variable
+          name: height
+          refid: structvkvg__text__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4
+        - kind: variable
+          name: x_advance
+          refid: structvkvg__text__extents__t_1ae83c02c42c97888eca5532a98ed4e2e4
+        - kind: variable
+          name: y_advance
+          refid: structvkvg__text__extents__t_1a35b39603f2d8ae8c01b5cb9dfbfd20d3
+      name: vkvg_text_extents_t
+      refid: structvkvg__text__extents__t
+    - kind: file
+      member:
+        - kind: define
+          name: VKVG_LOG_ERR
+          refid: vkvg_8h_1a6664f29e4f38fafb584188235b65718a
+        - kind: define
+          name: VKVG_LOG_DEBUG
+          refid: vkvg_8h_1a0411814a6919e5df693cf40dcfcbc4e3
+        - kind: define
+          name: VKVG_LOG_INFO
+          refid: vkvg_8h_1af9445855626eb75472a91844db51e59e
+        - kind: define
+          name: VKVG_LOG_INFO_PATH
+          refid: vkvg_8h_1af23f274286a67543b606d4918bc87d9c
+        - kind: define
+          name: VKVG_LOG_DBG_ARRAYS
+          refid: vkvg_8h_1a040b130202d4c2e3e1a57dd8837ed919
+        - kind: define
+          name: VKVG_LOG_FULL
+          refid: vkvg_8h_1a13fb664af0ea69bff0f1fbc142b57f60
+        - kind: define
+          name: LOG
+          refid: vkvg_8h_1a159ca84d25a5487d8e81e4438725df19
+        - kind: define
+          name: VKVG_IDENTITY_MATRIX
+          refid: vkvg_8h_1a7a14d8e9fafcb47df7b52731622a15a3
+        - kind: enum
+          name: vkvg_status_t
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354
+        - kind: enumvalue
+          name: VKVG_STATUS_SUCCESS
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adeea52cf65dc55d26c0ba6824c3245bf
+        - kind: enumvalue
+          name: VKVG_STATUS_NO_MEMORY
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adca5beade5a3fd84c5e3cb4db65d593e
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_RESTORE
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad38afefc99aa272f5fa31598ddd0aa7f
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_POP_GROUP
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a0b997f5a2181b315da16057fc152cda6
+        - kind: enumvalue
+          name: VKVG_STATUS_NO_CURRENT_POINT
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae52f6f34a55e63cc48acc0a973c5d454
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_MATRIX
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a80652ae5261224409e179eef9121e5bd
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_STATUS
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354af1e2820c9277603041bb2cf1e92b9bcb
+        - kind: enumvalue
+          name: VKVG_STATUS_NULL_POINTER
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a38d751f65b5ca4aba90ba3695627946c
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_STRING
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a86d6a05e2fcd115f97a37a28c0d06b31
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_PATH_DATA
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5c82a93fbd517d5a98098ac7c23fbf90
+        - kind: enumvalue
+          name: VKVG_STATUS_READ_ERROR
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ace8b60d5e7bc16bf325b330b58c01f18
+        - kind: enumvalue
+          name: VKVG_STATUS_WRITE_ERROR
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354abbd09c792c0a7f4e25492bc1fd038db6
+        - kind: enumvalue
+          name: VKVG_STATUS_SURFACE_FINISHED
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a18b2554c65517624cf7425376c1e1bca
+        - kind: enumvalue
+          name: VKVG_STATUS_SURFACE_TYPE_MISMATCH
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5b97c967996b1d4286225140cb8883ad
+        - kind: enumvalue
+          name: VKVG_STATUS_PATTERN_TYPE_MISMATCH
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a1e6dcf65d3707ebb3c7aa1b96cf21987
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_CONTENT
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a2a9d2a77d748f8caad3f7ccb44e2a1bc
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_FORMAT
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354aac1f7c1ddaf47f1ef79695e901d718f1
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_VISUAL
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad620e357ff26af8b1adb6215406b3b14
+        - kind: enumvalue
+          name: VKVG_STATUS_FILE_NOT_FOUND
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae26847e7ea42867a9ae851b2b3a976a4
+        - kind: enumvalue
+          name: VKVG_STATUS_INVALID_DASH
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad171c132ea43395b0a748c63b99f55d9
+        - kind: enumvalue
+          name: VKVG_STAtUS_NOT_ENOUGH_POINTS_TO_CLOSE_PATH
+          refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ac774981b96eba5a3e20fea9d23dd631c
+        - kind: enum
+          name: vkvg_direction_t
+          refid: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995
+        - kind: enumvalue
+          name: VKVG_HORIZONTAL
+          refid: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995aaa62739c1a76e107fba227dffd6b8199
+        - kind: enumvalue
+          name: VKVG_VERTICAL
+          refid: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995a288489ba8f506ba72415b35e86e5f332
+        - kind: enum
+          name: vkvg_format_t
+          refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5
+        - kind: enumvalue
+          name: VKVG_FORMAT_ARGB32
+          refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a51e8f390b02e7117cb6bded3df1bc609
+        - kind: enumvalue
+          name: VKVG_FORMAT_RGB24
+          refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5aca9496af53332389ea1c579becfff146
+        - kind: enumvalue
+          name: VKVG_FORMAT_A8
+          refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a1fc395bec4fab5baf6a8e9d12c48f91b
+        - kind: enumvalue
+          name: VKVG_FORMAT_A1
+          refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a41129f80cde1638c50336775ec6059f1
+        - kind: enum
+          name: vkvg_extend_t
+          refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40
+        - kind: enumvalue
+          name: VKVG_EXTEND_NONE
+          refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a016c184949340ded7cab8cc3ebebee8f
+        - kind: enumvalue
+          name: VKVG_EXTEND_REPEAT
+          refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a7f0a3a3c71705d13270039ced36036c0
+        - kind: enumvalue
+          name: VKVG_EXTEND_REFLECT
+          refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40ad3e0f41a1a2af562e7538657d6611832
+        - kind: enumvalue
+          name: VKVG_EXTEND_PAD
+          refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a2fbaf3043fce97d14bcfaad9f2dc0a1c
+        - kind: enum
+          name: vkvg_filter_t
+          refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5
+        - kind: enumvalue
+          name: VKVG_FILTER_FAST
+          refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a227895a3ffbd082c7f779c6c9ca7d76c
+        - kind: enumvalue
+          name: VKVG_FILTER_GOOD
+          refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a63f51bfec03cdca07fdfe9d718f3a75f
+        - kind: enumvalue
+          name: VKVG_FILTER_BEST
+          refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a00cb91e4e5cc8a0bc88ff1b8ab8fc8c0
+        - kind: enumvalue
+          name: VKVG_FILTER_NEAREST
+          refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a51346835be4c9cafb1b033ec6cae5754
+        - kind: enumvalue
+          name: VKVG_FILTER_BILINEAR
+          refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a680a8fce657583362e33bdb2d97d3238
+        - kind: enumvalue
+          name: VKVG_FILTER_GAUSSIAN
+          refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a3469ff42e4e804cf5b362eb2787b2654
+        - kind: enum
+          name: vkvg_pattern_type_t
+          refid: vkvg_8h_1a1cde27798744c6485ac522a843017513
+        - kind: enumvalue
+          name: VKVG_PATTERN_TYPE_SOLID
+          refid: vkvg_8h_1a1cde27798744c6485ac522a843017513aeb9d4daba143ba603f114c3805ab4fa4
+        - kind: enumvalue
+          name: VKVG_PATTERN_TYPE_SURFACE
+          refid: vkvg_8h_1a1cde27798744c6485ac522a843017513a8396d15ca456c54a268bdc464107e5db
+        - kind: enumvalue
+          name: VKVG_PATTERN_TYPE_LINEAR
+          refid: vkvg_8h_1a1cde27798744c6485ac522a843017513a4aff9ccbec5d272981c596474adb5386
+        - kind: enumvalue
+          name: VKVG_PATTERN_TYPE_RADIAL
+          refid: vkvg_8h_1a1cde27798744c6485ac522a843017513abac29bd75596cb8af065aa02a1aa34e4
+        - kind: enumvalue
+          name: VKVG_PATTERN_TYPE_MESH
+          refid: vkvg_8h_1a1cde27798744c6485ac522a843017513a926565c0b987eed62e76eca261151ee5
+        - kind: enumvalue
+          name: VKVG_PATTERN_TYPE_RASTER_SOURCE
+          refid: vkvg_8h_1a1cde27798744c6485ac522a843017513ae30ae9f2771df088bc24886fd42fc037
+        - kind: enum
+          name: vkvg_line_cap_t
+          refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0
+        - kind: enumvalue
+          name: VKVG_LINE_CAP_BUTT
+          refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a89ac22c56380187ec32463602a864f7b
+        - kind: enumvalue
+          name: VKVG_LINE_CAP_ROUND
+          refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a803bf47b2bc042a98c2f1cf2b6543519
+        - kind: enumvalue
+          name: VKVG_LINE_CAP_SQUARE
+          refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a3fca82a7ac5b5ef3355775c79d4adb45
+        - kind: enum
+          name: vkvg_line_join_t
+          refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d
+        - kind: enumvalue
+          name: VKVG_LINE_JOIN_MITER
+          refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da87107f3a4b3dcbabeb57102b2fb3a311
+        - kind: enumvalue
+          name: VKVG_LINE_JOIN_ROUND
+          refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da5f2989d8df5882d66a907ad8d70a3e3c
+        - kind: enumvalue
+          name: VKVG_LINE_JOIN_BEVEL
+          refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da83710d8d86be990e5d057a109a559d83
+        - kind: enum
+          name: vkvg_fill_rule_t
+          refid: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6
+        - kind: enumvalue
+          name: VKVG_FILL_RULE_EVEN_ODD
+          refid: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6ada97bad79f6371820b82472e0ff49fe7
+        - kind: enumvalue
+          name: VKVG_FILL_RULE_NON_ZERO
+          refid: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6a799b8a88417c80da02d1d52d8e62a43d
+        - kind: enum
+          name: _vkvg_operator
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87
+        - kind: enumvalue
+          name: VKVG_OPERATOR_CLEAR
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7af999d0306d40ea662520ee32b7c366
+        - kind: enumvalue
+          name: VKVG_OPERATOR_SOURCE
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab3cee330e9692a3ff88897172616572d
+        - kind: enumvalue
+          name: VKVG_OPERATOR_OVER
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4dfe6b31014d9176eb6b7a7aa3d385b9
+        - kind: enumvalue
+          name: VKVG_OPERATOR_IN
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87abbbc4a76b4369d28e2403865e00f2924
+        - kind: enumvalue
+          name: VKVG_OPERATOR_OUT
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a1e3ea4b353149b5542c03ea976dcecc9
+        - kind: enumvalue
+          name: VKVG_OPERATOR_ATOP
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab31e8813929c80d7695a9ec8faacdc2e
+        - kind: enumvalue
+          name: VKVG_OPERATOR_DEST
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae7942f26d9811ae695fa9039a25185ac
+        - kind: enumvalue
+          name: VKVG_OPERATOR_DEST_OVER
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a31ab931279fff91ed1fdd0c3922f2efc
+        - kind: enumvalue
+          name: VKVG_OPERATOR_DEST_IN
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acf76935b165c60b02bf712bfb0db490e
+        - kind: enumvalue
+          name: VKVG_OPERATOR_DEST_OUT
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acfa2bd450283e3cad02adf315d468929
+        - kind: enumvalue
+          name: VKVG_OPERATOR_DEST_ATOP
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4457938db69a0be5c966afe1416c4114
+        - kind: enumvalue
+          name: VKVG_OPERATOR_XOR
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af6aedbb6e0b1dba8d1962e42fe952e2d
+        - kind: enumvalue
+          name: VKVG_OPERATOR_ADD
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72fe713a46b0c95d3a18ea0caaa9f29b
+        - kind: enumvalue
+          name: VKVG_OPERATOR_SATURATE
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7b0833925f83ff58e512027e42f80a0d
+        - kind: enumvalue
+          name: VKVG_OPERATOR_MULTIPLY
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4c3f2838289c96f9a6bb3271610eb3e9
+        - kind: enumvalue
+          name: VKVG_OPERATOR_SCREEN
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a041f32ac411d0ee92ee45515fe421eed
+        - kind: enumvalue
+          name: VKVG_OPERATOR_OVERLAY
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87afc1665244ce692e3567acdac34360075
+        - kind: enumvalue
+          name: VKVG_OPERATOR_DARKEN
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a68d84ef832f80cfa3fca0ba2aa72b08a
+        - kind: enumvalue
+          name: VKVG_OPERATOR_LIGHTEN
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af21ede6af7733c9392d78d31c6b1b20f
+        - kind: enumvalue
+          name: VKVG_OPERATOR_COLOR_DODGE
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a8d580f3ec35b024b64b7ac975064fe36
+        - kind: enumvalue
+          name: VKVG_OPERATOR_COLOR_BURN
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a5c8b3fd21aaa197283ccceaf560230cd
+        - kind: enumvalue
+          name: VKVG_OPERATOR_HARD_LIGHT
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a83357143445067cb70b2b9b460b61432
+        - kind: enumvalue
+          name: VKVG_OPERATOR_SOFT_LIGHT
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ac935a73f1ee61c8a264f08a39f80f3f7
+        - kind: enumvalue
+          name: VKVG_OPERATOR_DIFFERENCE
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab391cf4ab11c3654ac15df0e573ecc78
+        - kind: enumvalue
+          name: VKVG_OPERATOR_EXCLUSION
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72050d7bef560659ad20f4b881a262cd
+        - kind: enumvalue
+          name: VKVG_OPERATOR_HSL_HUE
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae37e0c8cdc8c925a1bc40a89619dca26
+        - kind: enumvalue
+          name: VKVG_OPERATOR_HSL_SATURATION
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87aad77d61118360c77d67576ba93aa7dc5
+        - kind: enumvalue
+          name: VKVG_OPERATOR_HSL_COLOR
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a6afb07f344d2eb38a17316a1fd6dc3b9
+        - kind: enumvalue
+          name: VKVG_OPERATOR_HSL_LUMINOSITY
+          refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae49240fcf0dcf3a90430c677eb4c60fe
+        - kind: typedef
+          name: VkvgText
+          refid: vkvg_8h_1a4371df2f82cabd4963d913a094a06b35
+        - kind: typedef
+          name: VkvgContext
+          refid: vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc
+        - kind: typedef
+          name: VkvgSurface
+          refid: vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7
+        - kind: typedef
+          name: VkvgDevice
+          refid: vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71
+        - kind: typedef
+          name: VkvgPattern
+          refid: vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc
+        - kind: typedef
+          name: NSVGimage
+          refid: vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45
+        - kind: typedef
+          name: vkvg_operator_t
+          refid: vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d
+        - kind: function
+          name: vkvg_device_create
+          refid: vkvg_8h_1a350ccc17b18af2ae47138c169edf4d0d
+        - kind: function
+          name: vkvg_device_create_multisample
+          refid: vkvg_8h_1a055e4085fc23e7a95d3081f59c7ef66a
+        - kind: function
+          name: vkvg_device_destroy
+          refid: vkvg_8h_1a2aaf6df4810242a7ba61d1cc22dda83d
+        - kind: function
+          name: vkvg_device_reference
+          refid: vkvg_8h_1a3fbc07e9e6fa4e97dd0857b58e66a916
+        - kind: function
+          name: vkvg_device_get_reference_count
+          refid: vkvg_8h_1af8fba0b5d5588ef33326e874bd25a4c1
+        - kind: function
+          name: vkvg_device_set_dpy
+          refid: vkvg_8h_1a67fe3cfb43415cc557c3c6f2dad1990b
+        - kind: function
+          name: vkvg_device_get_dpy
+          refid: vkvg_8h_1a629ad9c736d5e7936529aadbfc202c53
+        - kind: function
+          name: vkvg_surface_create
+          refid: vkvg_8h_1ac60a50a2726621c5bc3c99b9810ad627
+        - kind: function
+          name: vkvg_surface_create_from_image
+          refid: vkvg_8h_1ab8ea522885d2768088a15f91bfcd3139
+        - kind: function
+          name: vkvg_surface_create_from_svg
+          refid: vkvg_8h_1acc1786f9608880df323b46ebac50733a
+        - kind: function
+          name: vkvg_surface_create_from_svg_fragment
+          refid: vkvg_8h_1a98368f0e89ad91fba6ba763f9e6f7d27
+        - kind: function
+          name: vkvg_surface_create_for_VkhImage
+          refid: vkvg_8h_1aedc4e2964cf5c9a9c004d2874d73addb
+        - kind: function
+          name: vkvg_surface_reference
+          refid: vkvg_8h_1a22a2d413efceb83249e2b4348fe58345
+        - kind: function
+          name: vkvg_surface_get_reference_count
+          refid: vkvg_8h_1af4a177cd4af529d4ff1fce0b9e3cba12
+        - kind: function
+          name: vkvg_surface_destroy
+          refid: vkvg_8h_1a4fb66c2cbbebddae0c0b8f69d13325e9
+        - kind: function
+          name: vkvg_surface_clear
+          refid: vkvg_8h_1ad43c411887c5c5bf60daeb62d05af0eb
+        - kind: function
+          name: vkvg_surface_get_vk_image
+          refid: vkvg_8h_1a52d86147f436de7d2e138bcb4ee6015c
+        - kind: function
+          name: vkvg_surface_get_vk_format
+          refid: vkvg_8h_1a51e2017f312896befb7e3a841d5542c5
+        - kind: function
+          name: vkvg_surface_get_width
+          refid: vkvg_8h_1abbb66e36ee4d187485b0ef4bba8780f3
+        - kind: function
+          name: vkvg_surface_get_height
+          refid: vkvg_8h_1a52b10b4864ebba4dd2ce0edc0ed7e9b3
+        - kind: function
+          name: vkvg_surface_get_vkh_image
+          refid: vkvg_8h_1ad6f4d9e10a156088df4cebbe82c5b650
+        - kind: function
+          name: vkvg_surface_write_to_png
+          refid: vkvg_8h_1adcc851f311810c7827e75a3acd51cf2a
+        - kind: function
+          name: vkvg_multisample_surface_resolve
+          refid: vkvg_8h_1a81a31187710d44e3df99da2b95335181
+        - kind: function
+          name: nsvg_load_file
+          refid: vkvg_8h_1a867f678630642e488d84c8d427c7f7fe
+        - kind: function
+          name: nsvg_load
+          refid: vkvg_8h_1a827869f4fa022b99c91e884705abb1de
+        - kind: function
+          name: nsvg_destroy
+          refid: vkvg_8h_1ad77975be665a6d9c559346c2a3baca71
+        - kind: function
+          name: nsvg_get_size
+          refid: vkvg_8h_1aa25f73cd7894c62393aa5cd94609137d
+        - kind: function
+          name: vkvg_render_svg
+          refid: vkvg_8h_1a6eb760e09504a0282dac8b431f9182b3
+        - kind: function
+          name: vkvg_create
+          refid: vkvg_8h_1ab276844a1cbcb7e666997d78ba305aa7
+        - kind: function
+          name: vkvg_destroy
+          refid: vkvg_8h_1a0e0bba5a28e7e264e8b265789b35cef5
+        - kind: function
+          name: vkvg_reference
+          refid: vkvg_8h_1ae855f56bde644560f5025d09c834a55c
+        - kind: function
+          name: vkvg_get_reference_count
+          refid: vkvg_8h_1a0b8f1aabb13f0a25b195fc28153eb821
+        - kind: function
+          name: vkvg_flush
+          refid: vkvg_8h_1aca4d2b86c75bdf3f07add4a48d861b5f
+        - kind: function
+          name: vkvg_new_path
+          refid: vkvg_8h_1a92d2ddcda9b53c6dbd352c31a84b6dfb
+        - kind: function
+          name: vkvg_close_path
+          refid: vkvg_8h_1af7a96ef43fd8721ad82c296e96b1a89a
+        - kind: function
+          name: vkvg_new_sub_path
+          refid: vkvg_8h_1ad4df2d61a5e1ed43ceb89b5cb908f09c
+        - kind: function
+          name: vkvg_line_to
+          refid: vkvg_8h_1a7fdda8e84e6cc77dc30be427087f597d
+        - kind: function
+          name: vkvg_rel_line_to
+          refid: vkvg_8h_1afa0cae5af951c82a48470d530df9d7ff
+        - kind: function
+          name: vkvg_move_to
+          refid: vkvg_8h_1aa9a27bece5bbd278921c6cba623b2c63
+        - kind: function
+          name: vkvg_rel_move_to
+          refid: vkvg_8h_1ac7853e3949a804d682a856bfbd77312b
+        - kind: function
+          name: vkvg_arc
+          refid: vkvg_8h_1ac068112f830a390f6b1ea52817d0fa6b
+        - kind: function
+          name: vkvg_arc_negative
+          refid: vkvg_8h_1a81af95aa15f5d5c54e42143183a4bf9b
+        - kind: function
+          name: vkvg_curve_to
+          refid: vkvg_8h_1aaef505547efbf0dac08363c29aa6d5fc
+        - kind: function
+          name: vkvg_rectangle
+          refid: vkvg_8h_1a9e89a82994312cc6f29d86f7f24538d6
+        - kind: function
+          name: vkvg_fill_rectangle
+          refid: vkvg_8h_1a17aea0f2bcc09b2187fc6b1055c26dd3
+        - kind: function
+          name: vkvg_stroke
+          refid: vkvg_8h_1a74bf1033a534dab1a320e95dc7dea157
+        - kind: function
+          name: vkvg_stroke_preserve
+          refid: vkvg_8h_1aa2ed6dc1512777dd5ccad6aeb1dda7f4
+        - kind: function
+          name: vkvg_fill
+          refid: vkvg_8h_1a514541817d323e89f66069362bb8611d
+        - kind: function
+          name: vkvg_fill_preserve
+          refid: vkvg_8h_1ab1fa94f07caed2355f289efe9ad5b920
+        - kind: function
+          name: vkvg_paint
+          refid: vkvg_8h_1a8962c8af0aecbee767a3ca60e224cd8b
+        - kind: function
+          name: vkvg_clear
+          refid: vkvg_8h_1af8ce78ae7fa4269a2a3c1c54ad2c58dd
+        - kind: function
+          name: vkvg_reset_clip
+          refid: vkvg_8h_1acc55b53318df7aa0fbb0d2a8ad62a7de
+        - kind: function
+          name: vkvg_clip
+          refid: vkvg_8h_1a1377398c35756811e602cb1f62a3666a
+        - kind: function
+          name: vkvg_clip_preserve
+          refid: vkvg_8h_1af4f41865696063157dcccc49826c7542
+        - kind: function
+          name: vkvg_set_source_rgba
+          refid: vkvg_8h_1a74613bc604a761da3f8a5f3a05588837
+        - kind: function
+          name: vkvg_set_source_rgb
+          refid: vkvg_8h_1a747c8ae1a645947fd918d5ac54b97a5a
+        - kind: function
+          name: vkvg_set_line_width
+          refid: vkvg_8h_1ac159a4f21cb08f34c01e9a424b2a146b
+        - kind: function
+          name: vkvg_set_line_cap
+          refid: vkvg_8h_1acac211b9ddc47b13c9ad7887db491bd8
+        - kind: function
+          name: vkvg_set_line_join
+          refid: vkvg_8h_1a5b49660d94b802be40975417e7d963f3
+        - kind: function
+          name: vkvg_set_source_surface
+          refid: vkvg_8h_1a449bf4b084310edb22aacf4ffba7d8da
+        - kind: function
+          name: vkvg_set_source
+          refid: vkvg_8h_1a3d85796d4747860d13263be493d33ef9
+        - kind: function
+          name: vkvg_set_operator
+          refid: vkvg_8h_1a77655256b5a06027abf60cb6eb561c1e
+        - kind: function
+          name: vkvg_set_fill_rule
+          refid: vkvg_8h_1a305378530707a0e8436d068e919d15bf
+        - kind: function
+          name: vkvg_set_dash
+          refid: vkvg_8h_1a0cba8dfc3b4340e70820abba3c26c07b
+        - kind: function
+          name: vkvg_get_dash
+          refid: vkvg_8h_1a003f578ba25479c16cec0f66161ed0f9
+        - kind: function
+          name: vkvg_get_line_width
+          refid: vkvg_8h_1a403922084a3cfecd3ef7e10f764bbd8e
+        - kind: function
+          name: vkvg_get_line_cap
+          refid: vkvg_8h_1aa24335582127d17912b7f0f79e4d760c
+        - kind: function
+          name: vkvg_get_line_join
+          refid: vkvg_8h_1a1a425a93c299ea2fe50b80c26d54e65a
+        - kind: function
+          name: vkvg_get_operator
+          refid: vkvg_8h_1ac525aec4976320d2bac91a16cf1d84f8
+        - kind: function
+          name: vkvg_get_fill_rule
+          refid: vkvg_8h_1ad628d092e9fae6f1c9dc8c2ae6c96b35
+        - kind: function
+          name: vkvg_get_source
+          refid: vkvg_8h_1af86035c0d1696a504aec94572d218415
+        - kind: function
+          name: vkvg_save
+          refid: vkvg_8h_1ac03501474a0d7c9ba002fd5b7b9d7aa5
+        - kind: function
+          name: vkvg_restore
+          refid: vkvg_8h_1a1f8f22f05ba71be6344787c7c52caf3b
+        - kind: function
+          name: vkvg_translate
+          refid: vkvg_8h_1a71761d954c4f84161d889f1a3c3bf3b3
+        - kind: function
+          name: vkvg_scale
+          refid: vkvg_8h_1a8da1de941ca7b4657298fc15d1814a4c
+        - kind: function
+          name: vkvg_rotate
+          refid: vkvg_8h_1aeb22a279fa51368ade2094303f729537
+        - kind: function
+          name: vkvg_transform
+          refid: vkvg_8h_1a2b63169d9113d74d5549e803d3f4fa9a
+        - kind: function
+          name: vkvg_set_matrix
+          refid: vkvg_8h_1ab56218e5b3ba4020ba68ad5fd3a92ddb
+        - kind: function
+          name: vkvg_get_matrix
+          refid: vkvg_8h_1a6b0a4950733eb9792c24a0571cfbc53b
+        - kind: function
+          name: vkvg_identity_matrix
+          refid: vkvg_8h_1a07b38d9e2fa6338d765b3ba6f4414a87
+        - kind: function
+          name: vkvg_select_font_face
+          refid: vkvg_8h_1ade858000e4086620a00952a4ccc8744a
+        - kind: function
+          name: vkvg_set_font_size
+          refid: vkvg_8h_1ae061587061b992790b315c0df670ec29
+        - kind: function
+          name: vkvg_show_text
+          refid: vkvg_8h_1a58c6a51f8964a93e250152fc9e59921f
+        - kind: function
+          name: vkvg_text_extents
+          refid: vkvg_8h_1a50d271f7cf08e066489566cb192ac57c
+        - kind: function
+          name: vkvg_font_extents
+          refid: vkvg_8h_1abcf41a619deeaf1fab72bc5c4e5ecf99
+        - kind: function
+          name: vkvg_text_run_create
+          refid: vkvg_8h_1a5a15641547545beb6c2fa99903713768
+        - kind: function
+          name: vkvg_text_run_destroy
+          refid: vkvg_8h_1a23dc80671fff96c1f2390f03ea3230be
+        - kind: function
+          name: vkvg_show_text_run
+          refid: vkvg_8h_1a1d8a8c6dea5e354b3f951ae980042c3a
+        - kind: function
+          name: vkvg_text_run_get_extents
+          refid: vkvg_8h_1ae7a8c7696c515cdfa1a59d4fe0ca12e8
+        - kind: function
+          name: vkvg_pattern_reference
+          refid: vkvg_8h_1a3bc1cde4ef93d5b8e87870f35240cbc2
+        - kind: function
+          name: vkvg_pattern_get_reference_count
+          refid: vkvg_8h_1a666342d39a4227e8b1d2ecbc1eaad3e9
+        - kind: function
+          name: vkvg_pattern_create_for_surface
+          refid: vkvg_8h_1ae5284a7f3f6241d3c5b9012dc145dfcb
+        - kind: function
+          name: vkvg_pattern_create_linear
+          refid: vkvg_8h_1ac14405c0e08f8cae0013d179a5c15308
+        - kind: function
+          name: vkvg_pattern_create_radial
+          refid: vkvg_8h_1a19e3b3fde4351d70e052030508bed667
+        - kind: function
+          name: vkvg_pattern_destroy
+          refid: vkvg_8h_1aee2652254686507f28dfcf598db894c4
+        - kind: function
+          name: vkvg_pattern_add_color_stop
+          refid: vkvg_8h_1a058bcc558c988254da9309006a30ed35
+        - kind: function
+          name: vkvg_pattern_set_extend
+          refid: vkvg_8h_1a29fe6b4335fe0352c5d7ea5804ba45e9
+        - kind: function
+          name: vkvg_pattern_set_filter
+          refid: vkvg_8h_1ad2d8a91e379b5d39ae9c066380ae95f2
+        - kind: function
+          name: vkvg_pattern_get_extend
+          refid: vkvg_8h_1af89e3a8ba79ac27840b4394d9f503459
+        - kind: function
+          name: vkvg_pattern_get_filter
+          refid: vkvg_8h_1aea43689bc6fa9fff1e1ab557b45bbc9f
+        - kind: function
+          name: vkvg_matrix_init_identity
+          refid: vkvg_8h_1a60cff46b3741569d302c19226b5f7340
+        - kind: function
+          name: vkvg_matrix_init
+          refid: vkvg_8h_1adfb1c02e17804239c8a8f1c2f0f8a374
+        - kind: function
+          name: vkvg_matrix_init_translate
+          refid: vkvg_8h_1a471448472d025facf479dc1fbaa6f102
+        - kind: function
+          name: vkvg_matrix_init_scale
+          refid: vkvg_8h_1a824fa84193b12ef36fd11316b52edfb9
+        - kind: function
+          name: vkvg_matrix_init_rotate
+          refid: vkvg_8h_1a7565d3c1202c2aa88d06210e4e880c15
+        - kind: function
+          name: vkvg_matrix_translate
+          refid: vkvg_8h_1aa9cd565c5f9ad461d8ece37459c5757c
+        - kind: function
+          name: vkvg_matrix_scale
+          refid: vkvg_8h_1a2af9ac82c85388031d206e5e59b00ab9
+        - kind: function
+          name: vkvg_matrix_rotate
+          refid: vkvg_8h_1a00b8f362ab4e337c2ec219dbee840a76
+        - kind: function
+          name: vkvg_matrix_multiply
+          refid: vkvg_8h_1a696338f6b5986e8cde51cab3bd6f2050
+        - kind: function
+          name: vkvg_matrix_transform_distance
+          refid: vkvg_8h_1aef5dcf4dab69857a4516cfa3770a6201
+        - kind: function
+          name: vkvg_matrix_transform_point
+          refid: vkvg_8h_1aa329c7a6282aa4eb6f39b8bcc9547c1c
+        - kind: function
+          name: vkvg_matrix_invert
+          refid: vkvg_8h_1ad1b8dec7b489b777fa76f09ef605b3f6
+      name: vkvg.h
+      refid: vkvg_8h
+    - kind: dir
+      name: include
+      refid: dir_d44c64559bbebec7f509842c48db8b23
+  version: 1.8.18
diff --git a/_data/doc/xml/structvkvg__color__t.xml b/_data/doc/xml/structvkvg__color__t.xml
new file mode 100644 (file)
index 0000000..42da385
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.18">
+  <compounddef id="structvkvg__color__t" kind="struct" language="C++" prot="public">
+    <compoundname>vkvg_color_t</compoundname>
+    <includes refid="vkvg_8h" local="no">vkvg.h</includes>
+      <sectiondef kind="public-attrib">
+      <memberdef kind="variable" id="structvkvg__color__t_1a4788d82c901b9367dd5c0daff8a7616b" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float r</definition>
+        <argsstring></argsstring>
+        <name>r</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="126" column="7" bodyfile="include/vkvg.h" bodystart="126" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__color__t_1a8cf17d727651616de6f2b79ef32170cd" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float g</definition>
+        <argsstring></argsstring>
+        <name>g</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="127" column="7" bodyfile="include/vkvg.h" bodystart="127" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__color__t_1a83fc1af92e29717b4513d121b0c72c7d" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float b</definition>
+        <argsstring></argsstring>
+        <name>b</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="128" column="7" bodyfile="include/vkvg.h" bodystart="128" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__color__t_1a4aec1a5be9d9a4a394a2e49e9744286e" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float a</definition>
+        <argsstring></argsstring>
+        <name>a</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="129" column="7" bodyfile="include/vkvg.h" bodystart="129" bodyend="-1"/>
+      </memberdef>
+      </sectiondef>
+    <briefdescription>
+    </briefdescription>
+    <detaileddescription>
+    </detaileddescription>
+    <location file="include/vkvg.h" line="125" column="1" bodyfile="include/vkvg.h" bodystart="125" bodyend="130"/>
+    <listofallmembers>
+      <member refid="structvkvg__color__t_1a4aec1a5be9d9a4a394a2e49e9744286e" prot="public" virt="non-virtual"><scope>vkvg_color_t</scope><name>a</name></member>
+      <member refid="structvkvg__color__t_1a83fc1af92e29717b4513d121b0c72c7d" prot="public" virt="non-virtual"><scope>vkvg_color_t</scope><name>b</name></member>
+      <member refid="structvkvg__color__t_1a8cf17d727651616de6f2b79ef32170cd" prot="public" virt="non-virtual"><scope>vkvg_color_t</scope><name>g</name></member>
+      <member refid="structvkvg__color__t_1a4788d82c901b9367dd5c0daff8a7616b" prot="public" virt="non-virtual"><scope>vkvg_color_t</scope><name>r</name></member>
+    </listofallmembers>
+  </compounddef>
+</doxygen>
diff --git a/_data/doc/xml/structvkvg__font__extents__t.xml b/_data/doc/xml/structvkvg__font__extents__t.xml
new file mode 100644 (file)
index 0000000..2eb78e4
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.18">
+  <compounddef id="structvkvg__font__extents__t" kind="struct" language="C++" prot="public">
+    <compoundname>vkvg_font_extents_t</compoundname>
+    <includes refid="vkvg_8h" local="no">vkvg.h</includes>
+      <sectiondef kind="public-attrib">
+      <memberdef kind="variable" id="structvkvg__font__extents__t_1a31ebc425eeae55d11acd591bb46dd468" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float ascent</definition>
+        <argsstring></argsstring>
+        <name>ascent</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="141" column="7" bodyfile="include/vkvg.h" bodystart="141" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__font__extents__t_1a5984964357202018e67f64fd879af95b" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float descent</definition>
+        <argsstring></argsstring>
+        <name>descent</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="142" column="7" bodyfile="include/vkvg.h" bodystart="142" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__font__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float height</definition>
+        <argsstring></argsstring>
+        <name>height</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="143" column="7" bodyfile="include/vkvg.h" bodystart="143" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__font__extents__t_1afef09feed3e6d406a79a4654bbfdf32e" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float max_x_advance</definition>
+        <argsstring></argsstring>
+        <name>max_x_advance</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="144" column="7" bodyfile="include/vkvg.h" bodystart="144" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__font__extents__t_1a5a74d8c1db44409b96daa190fce554b1" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float max_y_advance</definition>
+        <argsstring></argsstring>
+        <name>max_y_advance</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="145" column="7" bodyfile="include/vkvg.h" bodystart="145" bodyend="-1"/>
+      </memberdef>
+      </sectiondef>
+    <briefdescription>
+    </briefdescription>
+    <detaileddescription>
+    </detaileddescription>
+    <location file="include/vkvg.h" line="140" column="1" bodyfile="include/vkvg.h" bodystart="140" bodyend="146"/>
+    <listofallmembers>
+      <member refid="structvkvg__font__extents__t_1a31ebc425eeae55d11acd591bb46dd468" prot="public" virt="non-virtual"><scope>vkvg_font_extents_t</scope><name>ascent</name></member>
+      <member refid="structvkvg__font__extents__t_1a5984964357202018e67f64fd879af95b" prot="public" virt="non-virtual"><scope>vkvg_font_extents_t</scope><name>descent</name></member>
+      <member refid="structvkvg__font__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" prot="public" virt="non-virtual"><scope>vkvg_font_extents_t</scope><name>height</name></member>
+      <member refid="structvkvg__font__extents__t_1afef09feed3e6d406a79a4654bbfdf32e" prot="public" virt="non-virtual"><scope>vkvg_font_extents_t</scope><name>max_x_advance</name></member>
+      <member refid="structvkvg__font__extents__t_1a5a74d8c1db44409b96daa190fce554b1" prot="public" virt="non-virtual"><scope>vkvg_font_extents_t</scope><name>max_y_advance</name></member>
+    </listofallmembers>
+  </compounddef>
+</doxygen>
diff --git a/_data/doc/xml/structvkvg__matrix__t.xml b/_data/doc/xml/structvkvg__matrix__t.xml
new file mode 100644 (file)
index 0000000..9e28dea
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.18">
+  <compounddef id="structvkvg__matrix__t" kind="struct" language="C++" prot="public">
+    <compoundname>vkvg_matrix_t</compoundname>
+    <includes refid="vkvg_8h" local="no">vkvg.h</includes>
+      <sectiondef kind="public-attrib">
+      <memberdef kind="variable" id="structvkvg__matrix__t_1a9fb9d00fbbf390e0263bcc204b03c7c8" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float xx</definition>
+        <argsstring></argsstring>
+        <name>xx</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="135" column="7" bodyfile="include/vkvg.h" bodystart="135" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__matrix__t_1a8e1608facba0c31efe99d65811fab570" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float yx</definition>
+        <argsstring></argsstring>
+        <name>yx</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="135" column="16" bodyfile="include/vkvg.h" bodystart="135" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__matrix__t_1a83a7590defc35766f789fbbf7fc41590" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float xy</definition>
+        <argsstring></argsstring>
+        <name>xy</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="136" column="7" bodyfile="include/vkvg.h" bodystart="136" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__matrix__t_1a342cbf7f29a65a0d1a2949ef4675008e" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float yy</definition>
+        <argsstring></argsstring>
+        <name>yy</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="136" column="16" bodyfile="include/vkvg.h" bodystart="136" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__matrix__t_1a3c9556645d92e863376a4063a3ad7001" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float x0</definition>
+        <argsstring></argsstring>
+        <name>x0</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="137" column="7" bodyfile="include/vkvg.h" bodystart="137" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__matrix__t_1adf19b8ba42d497d3093c3a51b1a32cca" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float y0</definition>
+        <argsstring></argsstring>
+        <name>y0</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="137" column="16" bodyfile="include/vkvg.h" bodystart="137" bodyend="-1"/>
+      </memberdef>
+      </sectiondef>
+    <briefdescription>
+    </briefdescription>
+    <detaileddescription>
+    </detaileddescription>
+    <location file="include/vkvg.h" line="134" column="1" bodyfile="include/vkvg.h" bodystart="134" bodyend="138"/>
+    <listofallmembers>
+      <member refid="structvkvg__matrix__t_1a3c9556645d92e863376a4063a3ad7001" prot="public" virt="non-virtual"><scope>vkvg_matrix_t</scope><name>x0</name></member>
+      <member refid="structvkvg__matrix__t_1a9fb9d00fbbf390e0263bcc204b03c7c8" prot="public" virt="non-virtual"><scope>vkvg_matrix_t</scope><name>xx</name></member>
+      <member refid="structvkvg__matrix__t_1a83a7590defc35766f789fbbf7fc41590" prot="public" virt="non-virtual"><scope>vkvg_matrix_t</scope><name>xy</name></member>
+      <member refid="structvkvg__matrix__t_1adf19b8ba42d497d3093c3a51b1a32cca" prot="public" virt="non-virtual"><scope>vkvg_matrix_t</scope><name>y0</name></member>
+      <member refid="structvkvg__matrix__t_1a8e1608facba0c31efe99d65811fab570" prot="public" virt="non-virtual"><scope>vkvg_matrix_t</scope><name>yx</name></member>
+      <member refid="structvkvg__matrix__t_1a342cbf7f29a65a0d1a2949ef4675008e" prot="public" virt="non-virtual"><scope>vkvg_matrix_t</scope><name>yy</name></member>
+    </listofallmembers>
+  </compounddef>
+</doxygen>
diff --git a/_data/doc/xml/structvkvg__text__extents__t.xml b/_data/doc/xml/structvkvg__text__extents__t.xml
new file mode 100644 (file)
index 0000000..96c6a3d
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.18">
+  <compounddef id="structvkvg__text__extents__t" kind="struct" language="C++" prot="public">
+    <compoundname>vkvg_text_extents_t</compoundname>
+    <includes refid="vkvg_8h" local="no">vkvg.h</includes>
+      <sectiondef kind="public-attrib">
+      <memberdef kind="variable" id="structvkvg__text__extents__t_1a36152a2d5302d6860e555e77a4a8b456" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float x_bearing</definition>
+        <argsstring></argsstring>
+        <name>x_bearing</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="149" column="7" bodyfile="include/vkvg.h" bodystart="149" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__text__extents__t_1adb121426957cb2c536d442cb6fd1c90f" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float y_bearing</definition>
+        <argsstring></argsstring>
+        <name>y_bearing</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="150" column="7" bodyfile="include/vkvg.h" bodystart="150" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__text__extents__t_1ae426f00e82704fa09578f5446e22d915" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float width</definition>
+        <argsstring></argsstring>
+        <name>width</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="151" column="7" bodyfile="include/vkvg.h" bodystart="151" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__text__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float height</definition>
+        <argsstring></argsstring>
+        <name>height</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="152" column="7" bodyfile="include/vkvg.h" bodystart="152" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__text__extents__t_1ae83c02c42c97888eca5532a98ed4e2e4" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float x_advance</definition>
+        <argsstring></argsstring>
+        <name>x_advance</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="153" column="7" bodyfile="include/vkvg.h" bodystart="153" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="variable" id="structvkvg__text__extents__t_1a35b39603f2d8ae8c01b5cb9dfbfd20d3" prot="public" static="no" mutable="no">
+        <type>float</type>
+        <definition>float y_advance</definition>
+        <argsstring></argsstring>
+        <name>y_advance</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="154" column="7" bodyfile="include/vkvg.h" bodystart="154" bodyend="-1"/>
+      </memberdef>
+      </sectiondef>
+    <briefdescription>
+    </briefdescription>
+    <detaileddescription>
+    </detaileddescription>
+    <location file="include/vkvg.h" line="148" column="1" bodyfile="include/vkvg.h" bodystart="148" bodyend="155"/>
+    <listofallmembers>
+      <member refid="structvkvg__text__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" prot="public" virt="non-virtual"><scope>vkvg_text_extents_t</scope><name>height</name></member>
+      <member refid="structvkvg__text__extents__t_1ae426f00e82704fa09578f5446e22d915" prot="public" virt="non-virtual"><scope>vkvg_text_extents_t</scope><name>width</name></member>
+      <member refid="structvkvg__text__extents__t_1ae83c02c42c97888eca5532a98ed4e2e4" prot="public" virt="non-virtual"><scope>vkvg_text_extents_t</scope><name>x_advance</name></member>
+      <member refid="structvkvg__text__extents__t_1a36152a2d5302d6860e555e77a4a8b456" prot="public" virt="non-virtual"><scope>vkvg_text_extents_t</scope><name>x_bearing</name></member>
+      <member refid="structvkvg__text__extents__t_1a35b39603f2d8ae8c01b5cb9dfbfd20d3" prot="public" virt="non-virtual"><scope>vkvg_text_extents_t</scope><name>y_advance</name></member>
+      <member refid="structvkvg__text__extents__t_1adb121426957cb2c536d442cb6fd1c90f" prot="public" virt="non-virtual"><scope>vkvg_text_extents_t</scope><name>y_bearing</name></member>
+    </listofallmembers>
+  </compounddef>
+</doxygen>
diff --git a/_data/doc/xml/vkvg_8h.xml b/_data/doc/xml/vkvg_8h.xml
new file mode 100644 (file)
index 0000000..d2f83fb
--- /dev/null
@@ -0,0 +1,3692 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.18">
+  <compounddef id="vkvg_8h" kind="file" language="C++">
+    <compoundname>vkvg.h</compoundname>
+    <includes local="no">vulkan/vulkan.h</includes>
+    <includes local="no">math.h</includes>
+    <includes local="no">stdbool.h</includes>
+    <incdepgraph>
+      <node id="4">
+        <label>stdbool.h</label>
+      </node>
+      <node id="1">
+        <label>include/vkvg.h</label>
+        <link refid="vkvg_8h"/>
+        <childnode refid="2" relation="include">
+        </childnode>
+        <childnode refid="3" relation="include">
+        </childnode>
+        <childnode refid="4" relation="include">
+        </childnode>
+      </node>
+      <node id="2">
+        <label>vulkan/vulkan.h</label>
+      </node>
+      <node id="3">
+        <label>math.h</label>
+      </node>
+    </incdepgraph>
+    <innerclass refid="structvkvg__color__t" prot="public">vkvg_color_t</innerclass>
+    <innerclass refid="structvkvg__matrix__t" prot="public">vkvg_matrix_t</innerclass>
+    <innerclass refid="structvkvg__font__extents__t" prot="public">vkvg_font_extents_t</innerclass>
+    <innerclass refid="structvkvg__text__extents__t" prot="public">vkvg_text_extents_t</innerclass>
+      <sectiondef kind="define">
+      <memberdef kind="define" id="vkvg_8h_1a6664f29e4f38fafb584188235b65718a" prot="public" static="no">
+        <name>VKVG_LOG_ERR</name>
+        <initializer>0x10</initializer>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="33" column="9" bodyfile="include/vkvg.h" bodystart="33" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="define" id="vkvg_8h_1a0411814a6919e5df693cf40dcfcbc4e3" prot="public" static="no">
+        <name>VKVG_LOG_DEBUG</name>
+        <initializer>0x20</initializer>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="34" column="9" bodyfile="include/vkvg.h" bodystart="34" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="define" id="vkvg_8h_1af9445855626eb75472a91844db51e59e" prot="public" static="no">
+        <name>VKVG_LOG_INFO</name>
+        <initializer>0x40</initializer>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="35" column="9" bodyfile="include/vkvg.h" bodystart="35" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="define" id="vkvg_8h_1af23f274286a67543b606d4918bc87d9c" prot="public" static="no">
+        <name>VKVG_LOG_INFO_PATH</name>
+        <initializer>0x41</initializer>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="36" column="9" bodyfile="include/vkvg.h" bodystart="36" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="define" id="vkvg_8h_1a040b130202d4c2e3e1a57dd8837ed919" prot="public" static="no">
+        <name>VKVG_LOG_DBG_ARRAYS</name>
+        <initializer>0x80</initializer>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="37" column="9" bodyfile="include/vkvg.h" bodystart="37" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="define" id="vkvg_8h_1a13fb664af0ea69bff0f1fbc142b57f60" prot="public" static="no">
+        <name>VKVG_LOG_FULL</name>
+        <initializer>0xff</initializer>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="38" column="9" bodyfile="include/vkvg.h" bodystart="38" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="define" id="vkvg_8h_1a159ca84d25a5487d8e81e4438725df19" prot="public" static="no">
+        <name>LOG</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="44" column="10" bodyfile="include/vkvg.h" bodystart="44" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="define" id="vkvg_8h_1a7a14d8e9fafcb47df7b52731622a15a3" prot="public" static="no">
+        <name>VKVG_IDENTITY_MATRIX</name>
+        <initializer>{1,0,0,1,0,0}</initializer>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="132" column="9" bodyfile="include/vkvg.h" bodystart="132" bodyend="-1"/>
+      </memberdef>
+      </sectiondef>
+      <sectiondef kind="enum">
+      <memberdef kind="enum" id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_status_t</name>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adeea52cf65dc55d26c0ba6824c3245bf" prot="public">
+          <name>VKVG_STATUS_SUCCESS</name>
+          <initializer>= 0</initializer>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adca5beade5a3fd84c5e3cb4db65d593e" prot="public">
+          <name>VKVG_STATUS_NO_MEMORY</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad38afefc99aa272f5fa31598ddd0aa7f" prot="public">
+          <name>VKVG_STATUS_INVALID_RESTORE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a0b997f5a2181b315da16057fc152cda6" prot="public">
+          <name>VKVG_STATUS_INVALID_POP_GROUP</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae52f6f34a55e63cc48acc0a973c5d454" prot="public">
+          <name>VKVG_STATUS_NO_CURRENT_POINT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a80652ae5261224409e179eef9121e5bd" prot="public">
+          <name>VKVG_STATUS_INVALID_MATRIX</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354af1e2820c9277603041bb2cf1e92b9bcb" prot="public">
+          <name>VKVG_STATUS_INVALID_STATUS</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a38d751f65b5ca4aba90ba3695627946c" prot="public">
+          <name>VKVG_STATUS_NULL_POINTER</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a86d6a05e2fcd115f97a37a28c0d06b31" prot="public">
+          <name>VKVG_STATUS_INVALID_STRING</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5c82a93fbd517d5a98098ac7c23fbf90" prot="public">
+          <name>VKVG_STATUS_INVALID_PATH_DATA</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ace8b60d5e7bc16bf325b330b58c01f18" prot="public">
+          <name>VKVG_STATUS_READ_ERROR</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354abbd09c792c0a7f4e25492bc1fd038db6" prot="public">
+          <name>VKVG_STATUS_WRITE_ERROR</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a18b2554c65517624cf7425376c1e1bca" prot="public">
+          <name>VKVG_STATUS_SURFACE_FINISHED</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5b97c967996b1d4286225140cb8883ad" prot="public">
+          <name>VKVG_STATUS_SURFACE_TYPE_MISMATCH</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a1e6dcf65d3707ebb3c7aa1b96cf21987" prot="public">
+          <name>VKVG_STATUS_PATTERN_TYPE_MISMATCH</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a2a9d2a77d748f8caad3f7ccb44e2a1bc" prot="public">
+          <name>VKVG_STATUS_INVALID_CONTENT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354aac1f7c1ddaf47f1ef79695e901d718f1" prot="public">
+          <name>VKVG_STATUS_INVALID_FORMAT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad620e357ff26af8b1adb6215406b3b14" prot="public">
+          <name>VKVG_STATUS_INVALID_VISUAL</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae26847e7ea42867a9ae851b2b3a976a4" prot="public">
+          <name>VKVG_STATUS_FILE_NOT_FOUND</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad171c132ea43395b0a748c63b99f55d9" prot="public">
+          <name>VKVG_STATUS_INVALID_DASH</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ac774981b96eba5a3e20fea9d23dd631c" prot="public">
+          <name>VKVG_STAtUS_NOT_ENOUGH_POINTS_TO_CLOSE_PATH</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="47" column="1" bodyfile="include/vkvg.h" bodystart="47" bodyend="69"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_direction_t</name>
+        <enumvalue id="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995aaa62739c1a76e107fba227dffd6b8199" prot="public">
+          <name>VKVG_HORIZONTAL</name>
+          <initializer>= 0</initializer>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995a288489ba8f506ba72415b35e86e5f332" prot="public">
+          <name>VKVG_VERTICAL</name>
+          <initializer>= 1</initializer>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="71" column="1" bodyfile="include/vkvg.h" bodystart="71" bodyend="74"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_format_t</name>
+        <enumvalue id="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a51e8f390b02e7117cb6bded3df1bc609" prot="public">
+          <name>VKVG_FORMAT_ARGB32</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5aca9496af53332389ea1c579becfff146" prot="public">
+          <name>VKVG_FORMAT_RGB24</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a1fc395bec4fab5baf6a8e9d12c48f91b" prot="public">
+          <name>VKVG_FORMAT_A8</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a41129f80cde1638c50336775ec6059f1" prot="public">
+          <name>VKVG_FORMAT_A1</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="76" column="1" bodyfile="include/vkvg.h" bodystart="76" bodyend="81"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_extend_t</name>
+        <enumvalue id="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a016c184949340ded7cab8cc3ebebee8f" prot="public">
+          <name>VKVG_EXTEND_NONE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a7f0a3a3c71705d13270039ced36036c0" prot="public">
+          <name>VKVG_EXTEND_REPEAT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40ad3e0f41a1a2af562e7538657d6611832" prot="public">
+          <name>VKVG_EXTEND_REFLECT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a2fbaf3043fce97d14bcfaad9f2dc0a1c" prot="public">
+          <name>VKVG_EXTEND_PAD</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="83" column="1" bodyfile="include/vkvg.h" bodystart="83" bodyend="88"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_filter_t</name>
+        <enumvalue id="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a227895a3ffbd082c7f779c6c9ca7d76c" prot="public">
+          <name>VKVG_FILTER_FAST</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a63f51bfec03cdca07fdfe9d718f3a75f" prot="public">
+          <name>VKVG_FILTER_GOOD</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a00cb91e4e5cc8a0bc88ff1b8ab8fc8c0" prot="public">
+          <name>VKVG_FILTER_BEST</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a51346835be4c9cafb1b033ec6cae5754" prot="public">
+          <name>VKVG_FILTER_NEAREST</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a680a8fce657583362e33bdb2d97d3238" prot="public">
+          <name>VKVG_FILTER_BILINEAR</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a3469ff42e4e804cf5b362eb2787b2654" prot="public">
+          <name>VKVG_FILTER_GAUSSIAN</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="90" column="1" bodyfile="include/vkvg.h" bodystart="90" bodyend="97"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1a1cde27798744c6485ac522a843017513" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_pattern_type_t</name>
+        <enumvalue id="vkvg_8h_1a1cde27798744c6485ac522a843017513aeb9d4daba143ba603f114c3805ab4fa4" prot="public">
+          <name>VKVG_PATTERN_TYPE_SOLID</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a1cde27798744c6485ac522a843017513a8396d15ca456c54a268bdc464107e5db" prot="public">
+          <name>VKVG_PATTERN_TYPE_SURFACE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a1cde27798744c6485ac522a843017513a4aff9ccbec5d272981c596474adb5386" prot="public">
+          <name>VKVG_PATTERN_TYPE_LINEAR</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a1cde27798744c6485ac522a843017513abac29bd75596cb8af065aa02a1aa34e4" prot="public">
+          <name>VKVG_PATTERN_TYPE_RADIAL</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a1cde27798744c6485ac522a843017513a926565c0b987eed62e76eca261151ee5" prot="public">
+          <name>VKVG_PATTERN_TYPE_MESH</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a1cde27798744c6485ac522a843017513ae30ae9f2771df088bc24886fd42fc037" prot="public">
+          <name>VKVG_PATTERN_TYPE_RASTER_SOURCE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="99" column="1" bodyfile="include/vkvg.h" bodystart="99" bodyend="106"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_line_cap_t</name>
+        <enumvalue id="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a89ac22c56380187ec32463602a864f7b" prot="public">
+          <name>VKVG_LINE_CAP_BUTT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a803bf47b2bc042a98c2f1cf2b6543519" prot="public">
+          <name>VKVG_LINE_CAP_ROUND</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a3fca82a7ac5b5ef3355775c79d4adb45" prot="public">
+          <name>VKVG_LINE_CAP_SQUARE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="108" column="1" bodyfile="include/vkvg.h" bodystart="108" bodyend="112"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_line_join_t</name>
+        <enumvalue id="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da87107f3a4b3dcbabeb57102b2fb3a311" prot="public">
+          <name>VKVG_LINE_JOIN_MITER</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da5f2989d8df5882d66a907ad8d70a3e3c" prot="public">
+          <name>VKVG_LINE_JOIN_ROUND</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da83710d8d86be990e5d057a109a559d83" prot="public">
+          <name>VKVG_LINE_JOIN_BEVEL</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="114" column="1" bodyfile="include/vkvg.h" bodystart="114" bodyend="118"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" prot="public" static="no" strong="no">
+        <type></type>
+        <name>vkvg_fill_rule_t</name>
+        <enumvalue id="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6ada97bad79f6371820b82472e0ff49fe7" prot="public">
+          <name>VKVG_FILL_RULE_EVEN_ODD</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6a799b8a88417c80da02d1d52d8e62a43d" prot="public">
+          <name>VKVG_FILL_RULE_NON_ZERO</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="120" column="1" bodyfile="include/vkvg.h" bodystart="120" bodyend="123"/>
+      </memberdef>
+      <memberdef kind="enum" id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87" prot="public" static="no" strong="no">
+        <type></type>
+        <name>_vkvg_operator</name>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7af999d0306d40ea662520ee32b7c366" prot="public">
+          <name>VKVG_OPERATOR_CLEAR</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab3cee330e9692a3ff88897172616572d" prot="public">
+          <name>VKVG_OPERATOR_SOURCE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4dfe6b31014d9176eb6b7a7aa3d385b9" prot="public">
+          <name>VKVG_OPERATOR_OVER</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87abbbc4a76b4369d28e2403865e00f2924" prot="public">
+          <name>VKVG_OPERATOR_IN</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a1e3ea4b353149b5542c03ea976dcecc9" prot="public">
+          <name>VKVG_OPERATOR_OUT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab31e8813929c80d7695a9ec8faacdc2e" prot="public">
+          <name>VKVG_OPERATOR_ATOP</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae7942f26d9811ae695fa9039a25185ac" prot="public">
+          <name>VKVG_OPERATOR_DEST</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a31ab931279fff91ed1fdd0c3922f2efc" prot="public">
+          <name>VKVG_OPERATOR_DEST_OVER</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acf76935b165c60b02bf712bfb0db490e" prot="public">
+          <name>VKVG_OPERATOR_DEST_IN</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acfa2bd450283e3cad02adf315d468929" prot="public">
+          <name>VKVG_OPERATOR_DEST_OUT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4457938db69a0be5c966afe1416c4114" prot="public">
+          <name>VKVG_OPERATOR_DEST_ATOP</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af6aedbb6e0b1dba8d1962e42fe952e2d" prot="public">
+          <name>VKVG_OPERATOR_XOR</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72fe713a46b0c95d3a18ea0caaa9f29b" prot="public">
+          <name>VKVG_OPERATOR_ADD</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7b0833925f83ff58e512027e42f80a0d" prot="public">
+          <name>VKVG_OPERATOR_SATURATE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4c3f2838289c96f9a6bb3271610eb3e9" prot="public">
+          <name>VKVG_OPERATOR_MULTIPLY</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a041f32ac411d0ee92ee45515fe421eed" prot="public">
+          <name>VKVG_OPERATOR_SCREEN</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87afc1665244ce692e3567acdac34360075" prot="public">
+          <name>VKVG_OPERATOR_OVERLAY</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a68d84ef832f80cfa3fca0ba2aa72b08a" prot="public">
+          <name>VKVG_OPERATOR_DARKEN</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af21ede6af7733c9392d78d31c6b1b20f" prot="public">
+          <name>VKVG_OPERATOR_LIGHTEN</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a8d580f3ec35b024b64b7ac975064fe36" prot="public">
+          <name>VKVG_OPERATOR_COLOR_DODGE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a5c8b3fd21aaa197283ccceaf560230cd" prot="public">
+          <name>VKVG_OPERATOR_COLOR_BURN</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a83357143445067cb70b2b9b460b61432" prot="public">
+          <name>VKVG_OPERATOR_HARD_LIGHT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ac935a73f1ee61c8a264f08a39f80f3f7" prot="public">
+          <name>VKVG_OPERATOR_SOFT_LIGHT</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab391cf4ab11c3654ac15df0e573ecc78" prot="public">
+          <name>VKVG_OPERATOR_DIFFERENCE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72050d7bef560659ad20f4b881a262cd" prot="public">
+          <name>VKVG_OPERATOR_EXCLUSION</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae37e0c8cdc8c925a1bc40a89619dca26" prot="public">
+          <name>VKVG_OPERATOR_HSL_HUE</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87aad77d61118360c77d67576ba93aa7dc5" prot="public">
+          <name>VKVG_OPERATOR_HSL_SATURATION</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a6afb07f344d2eb38a17316a1fd6dc3b9" prot="public">
+          <name>VKVG_OPERATOR_HSL_COLOR</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <enumvalue id="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae49240fcf0dcf3a90430c677eb4c60fe" prot="public">
+          <name>VKVG_OPERATOR_HSL_LUMINOSITY</name>
+          <briefdescription>
+          </briefdescription>
+          <detaileddescription>
+          </detaileddescription>
+        </enumvalue>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="202" column="1" bodyfile="include/vkvg.h" bodystart="202" bodyend="236"/>
+      </memberdef>
+      </sectiondef>
+      <sectiondef kind="typedef">
+      <memberdef kind="typedef" id="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" prot="public" static="no">
+        <type>struct _vkvg_text_run_t *</type>
+        <definition>typedef struct _vkvg_text_run_t* VkvgText</definition>
+        <argsstring></argsstring>
+        <name>VkvgText</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="157" column="32" bodyfile="include/vkvg.h" bodystart="157" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="typedef" id="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" prot="public" static="no">
+        <type>struct _vkvg_context_t *</type>
+        <definition>typedef struct _vkvg_context_t* VkvgContext</definition>
+        <argsstring></argsstring>
+        <name>VkvgContext</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="159" column="31" bodyfile="include/vkvg.h" bodystart="159" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="typedef" id="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" prot="public" static="no">
+        <type>struct _vkvg_surface_t *</type>
+        <definition>typedef struct _vkvg_surface_t* VkvgSurface</definition>
+        <argsstring></argsstring>
+        <name>VkvgSurface</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="160" column="31" bodyfile="include/vkvg.h" bodystart="160" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="typedef" id="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" prot="public" static="no">
+        <type>struct _vkvg_device_t *</type>
+        <definition>typedef struct _vkvg_device_t* VkvgDevice</definition>
+        <argsstring></argsstring>
+        <name>VkvgDevice</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="161" column="31" bodyfile="include/vkvg.h" bodystart="161" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="typedef" id="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" prot="public" static="no">
+        <type>struct _vkvg_pattern_t *</type>
+        <definition>typedef struct _vkvg_pattern_t* VkvgPattern</definition>
+        <argsstring></argsstring>
+        <name>VkvgPattern</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="162" column="31" bodyfile="include/vkvg.h" bodystart="162" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="typedef" id="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" prot="public" static="no">
+        <type>struct <ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref></type>
+        <definition>typedef struct NSVGimage NSVGimage</definition>
+        <argsstring></argsstring>
+        <name>NSVGimage</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="189" column="13" bodyfile="include/vkvg.h" bodystart="192" bodyend="-1"/>
+      </memberdef>
+      <memberdef kind="typedef" id="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" prot="public" static="no">
+        <type>enum <ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87" kindref="member">_vkvg_operator</ref></type>
+        <definition>typedef enum _vkvg_operator vkvg_operator_t</definition>
+        <argsstring></argsstring>
+        <name>vkvg_operator_t</name>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="236" column="17"/>
+      </memberdef>
+      </sectiondef>
+      <sectiondef kind="func">
+      <memberdef kind="function" id="vkvg_8h_1a350ccc17b18af2ae47138c169edf4d0d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+        <definition>VkvgDevice vkvg_device_create</definition>
+        <argsstring>(VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex)</argsstring>
+        <name>vkvg_device_create</name>
+        <param>
+          <type>VkInstance</type>
+          <declname>inst</declname>
+        </param>
+        <param>
+          <type>VkPhysicalDevice</type>
+          <declname>phy</declname>
+        </param>
+        <param>
+          <type>VkDevice</type>
+          <declname>vkdev</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>qFamIdx</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>qIndex</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="164" column="11" declfile="include/vkvg.h" declline="164" declcolumn="11"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a055e4085fc23e7a95d3081f59c7ef66a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+        <definition>VkvgDevice vkvg_device_create_multisample</definition>
+        <argsstring>(VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex, VkSampleCountFlags samples, bool deferredResolve)</argsstring>
+        <name>vkvg_device_create_multisample</name>
+        <param>
+          <type>VkInstance</type>
+          <declname>inst</declname>
+        </param>
+        <param>
+          <type>VkPhysicalDevice</type>
+          <declname>phy</declname>
+        </param>
+        <param>
+          <type>VkDevice</type>
+          <declname>vkdev</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>qFamIdx</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>qIndex</declname>
+        </param>
+        <param>
+          <type>VkSampleCountFlags</type>
+          <declname>samples</declname>
+        </param>
+        <param>
+          <type>bool</type>
+          <declname>deferredResolve</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="165" column="13" declfile="include/vkvg.h" declline="165" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a2aaf6df4810242a7ba61d1cc22dda83d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_device_destroy</definition>
+        <argsstring>(VkvgDevice dev)</argsstring>
+        <name>vkvg_device_destroy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="166" column="5" declfile="include/vkvg.h" declline="166" declcolumn="5"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a3fbc07e9e6fa4e97dd0857b58e66a916" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+        <definition>VkvgDevice vkvg_device_reference</definition>
+        <argsstring>(VkvgDevice dev)</argsstring>
+        <name>vkvg_device_reference</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="167" column="13" declfile="include/vkvg.h" declline="167" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1af8fba0b5d5588ef33326e874bd25a4c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>uint32_t</type>
+        <definition>uint32_t vkvg_device_get_reference_count</definition>
+        <argsstring>(VkvgDevice dev)</argsstring>
+        <name>vkvg_device_get_reference_count</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="168" column="13" declfile="include/vkvg.h" declline="168" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a67fe3cfb43415cc557c3c6f2dad1990b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_device_set_dpy</definition>
+        <argsstring>(VkvgDevice dev, int hdpy, int vdpy)</argsstring>
+        <name>vkvg_device_set_dpy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>int</type>
+          <declname>hdpy</declname>
+        </param>
+        <param>
+          <type>int</type>
+          <declname>vdpy</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="169" column="13" declfile="include/vkvg.h" declline="169" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a629ad9c736d5e7936529aadbfc202c53" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_device_get_dpy</definition>
+        <argsstring>(VkvgDevice dev, int *hdpy, int *vdpy)</argsstring>
+        <name>vkvg_device_get_dpy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>int *</type>
+          <declname>hdpy</declname>
+        </param>
+        <param>
+          <type>int *</type>
+          <declname>vdpy</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="170" column="13" declfile="include/vkvg.h" declline="170" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ac60a50a2726621c5bc3c99b9810ad627" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+        <definition>VkvgSurface vkvg_surface_create</definition>
+        <argsstring>(VkvgDevice dev, uint32_t width, uint32_t height)</argsstring>
+        <name>vkvg_surface_create</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>width</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>height</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="172" column="13" declfile="include/vkvg.h" declline="172" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ab8ea522885d2768088a15f91bfcd3139" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+        <definition>VkvgSurface vkvg_surface_create_from_image</definition>
+        <argsstring>(VkvgDevice dev, const char *filePath)</argsstring>
+        <name>vkvg_surface_create_from_image</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>filePath</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="173" column="13" declfile="include/vkvg.h" declline="173" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1acc1786f9608880df323b46ebac50733a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+        <definition>VkvgSurface vkvg_surface_create_from_svg</definition>
+        <argsstring>(VkvgDevice dev, const char *filePath)</argsstring>
+        <name>vkvg_surface_create_from_svg</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>filePath</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="174" column="13" declfile="include/vkvg.h" declline="174" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a98368f0e89ad91fba6ba763f9e6f7d27" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+        <definition>VkvgSurface vkvg_surface_create_from_svg_fragment</definition>
+        <argsstring>(VkvgDevice dev, char *fragment)</argsstring>
+        <name>vkvg_surface_create_from_svg_fragment</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>char *</type>
+          <declname>fragment</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="175" column="13" declfile="include/vkvg.h" declline="175" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aedc4e2964cf5c9a9c004d2874d73addb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+        <definition>VkvgSurface vkvg_surface_create_for_VkhImage</definition>
+        <argsstring>(VkvgDevice dev, void *vkhImg)</argsstring>
+        <name>vkvg_surface_create_for_VkhImage</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>void *</type>
+          <declname>vkhImg</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="176" column="13" declfile="include/vkvg.h" declline="176" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a22a2d413efceb83249e2b4348fe58345" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+        <definition>VkvgSurface vkvg_surface_reference</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_reference</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="178" column="13" declfile="include/vkvg.h" declline="178" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1af4a177cd4af529d4ff1fce0b9e3cba12" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>uint32_t</type>
+        <definition>uint32_t vkvg_surface_get_reference_count</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_get_reference_count</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="179" column="13" declfile="include/vkvg.h" declline="179" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a4fb66c2cbbebddae0c0b8f69d13325e9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_surface_destroy</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_destroy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="181" column="5" declfile="include/vkvg.h" declline="181" declcolumn="5"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ad43c411887c5c5bf60daeb62d05af0eb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_surface_clear</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_clear</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="182" column="13" declfile="include/vkvg.h" declline="182" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a52d86147f436de7d2e138bcb4ee6015c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>VkImage</type>
+        <definition>VkImage vkvg_surface_get_vk_image</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_get_vk_image</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="183" column="8" declfile="include/vkvg.h" declline="183" declcolumn="8"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a51e2017f312896befb7e3a841d5542c5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>VkFormat</type>
+        <definition>VkFormat vkvg_surface_get_vk_format</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_get_vk_format</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="184" column="9" declfile="include/vkvg.h" declline="184" declcolumn="9"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1abbb66e36ee4d187485b0ef4bba8780f3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>uint32_t</type>
+        <definition>uint32_t vkvg_surface_get_width</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_get_width</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="185" column="12" declfile="include/vkvg.h" declline="185" declcolumn="12"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a52b10b4864ebba4dd2ce0edc0ed7e9b3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>uint32_t</type>
+        <definition>uint32_t vkvg_surface_get_height</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_get_height</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="186" column="9" declfile="include/vkvg.h" declline="186" declcolumn="9"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ad6f4d9e10a156088df4cebbe82c5b650" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>VkImage</type>
+        <definition>VkImage vkvg_surface_get_vkh_image</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_surface_get_vkh_image</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="187" column="8" declfile="include/vkvg.h" declline="187" declcolumn="8"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1adcc851f311810c7827e75a3acd51cf2a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_surface_write_to_png</definition>
+        <argsstring>(VkvgSurface surf, const char *path)</argsstring>
+        <name>vkvg_surface_write_to_png</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>path</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="188" column="13" declfile="include/vkvg.h" declline="188" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a81a31187710d44e3df99da2b95335181" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_multisample_surface_resolve</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_multisample_surface_resolve</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="189" column="13" declfile="include/vkvg.h" declline="189" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a867f678630642e488d84c8d427c7f7fe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref> *</type>
+        <definition>NSVGimage* nsvg_load_file</definition>
+        <argsstring>(VkvgDevice dev, const char *filePath)</argsstring>
+        <name>nsvg_load_file</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>filePath</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="194" column="12" declfile="include/vkvg.h" declline="194" declcolumn="12"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a827869f4fa022b99c91e884705abb1de" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref> *</type>
+        <definition>NSVGimage* nsvg_load</definition>
+        <argsstring>(VkvgDevice dev, char *fragment)</argsstring>
+        <name>nsvg_load</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref></type>
+          <declname>dev</declname>
+        </param>
+        <param>
+          <type>char *</type>
+          <declname>fragment</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="195" column="12" declfile="include/vkvg.h" declline="195" declcolumn="12"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ad77975be665a6d9c559346c2a3baca71" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void nsvg_destroy</definition>
+        <argsstring>(NSVGimage *svg)</argsstring>
+        <name>nsvg_destroy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref> *</type>
+          <declname>svg</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="196" column="13" declfile="include/vkvg.h" declline="196" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aa25f73cd7894c62393aa5cd94609137d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void nsvg_get_size</definition>
+        <argsstring>(NSVGimage *svg, int *width, int *height)</argsstring>
+        <name>nsvg_get_size</name>
+        <param>
+          <type><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref> *</type>
+          <declname>svg</declname>
+        </param>
+        <param>
+          <type>int *</type>
+          <declname>width</declname>
+        </param>
+        <param>
+          <type>int *</type>
+          <declname>height</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="197" column="13" declfile="include/vkvg.h" declline="197" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a6eb760e09504a0282dac8b431f9182b3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_render_svg</definition>
+        <argsstring>(VkvgContext ctx, NSVGimage *svg, char *subId)</argsstring>
+        <name>vkvg_render_svg</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref> *</type>
+          <declname>svg</declname>
+        </param>
+        <param>
+          <type>char *</type>
+          <declname>subId</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="198" column="13" declfile="include/vkvg.h" declline="198" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ab276844a1cbcb7e666997d78ba305aa7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+        <definition>VkvgContext vkvg_create</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_create</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="239" column="13" declfile="include/vkvg.h" declline="239" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a0e0bba5a28e7e264e8b265789b35cef5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_destroy</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_destroy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="240" column="13" declfile="include/vkvg.h" declline="240" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ae855f56bde644560f5025d09c834a55c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+        <definition>VkvgContext vkvg_reference</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_reference</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="241" column="13" declfile="include/vkvg.h" declline="241" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a0b8f1aabb13f0a25b195fc28153eb821" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>uint32_t</type>
+        <definition>uint32_t vkvg_get_reference_count</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_get_reference_count</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="242" column="13" declfile="include/vkvg.h" declline="242" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aca4d2b86c75bdf3f07add4a48d861b5f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_flush</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_flush</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="244" column="6" declfile="include/vkvg.h" declline="244" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a92d2ddcda9b53c6dbd352c31a84b6dfb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_new_path</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_new_path</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="246" column="6" declfile="include/vkvg.h" declline="246" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1af7a96ef43fd8721ad82c296e96b1a89a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_close_path</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_close_path</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="247" column="6" declfile="include/vkvg.h" declline="247" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ad4df2d61a5e1ed43ceb89b5cb908f09c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_new_sub_path</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_new_sub_path</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="248" column="6" declfile="include/vkvg.h" declline="248" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a7fdda8e84e6cc77dc30be427087f597d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_line_to</definition>
+        <argsstring>(VkvgContext ctx, float x, float y)</argsstring>
+        <name>vkvg_line_to</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="249" column="6" declfile="include/vkvg.h" declline="249" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1afa0cae5af951c82a48470d530df9d7ff" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_rel_line_to</definition>
+        <argsstring>(VkvgContext ctx, float x, float y)</argsstring>
+        <name>vkvg_rel_line_to</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="250" column="6" declfile="include/vkvg.h" declline="250" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aa9a27bece5bbd278921c6cba623b2c63" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_move_to</definition>
+        <argsstring>(VkvgContext ctx, float x, float y)</argsstring>
+        <name>vkvg_move_to</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="251" column="6" declfile="include/vkvg.h" declline="251" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ac7853e3949a804d682a856bfbd77312b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_rel_move_to</definition>
+        <argsstring>(VkvgContext ctx, float x, float y)</argsstring>
+        <name>vkvg_rel_move_to</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="252" column="6" declfile="include/vkvg.h" declline="252" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ac068112f830a390f6b1ea52817d0fa6b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_arc</definition>
+        <argsstring>(VkvgContext ctx, float xc, float yc, float radius, float a1, float a2)</argsstring>
+        <name>vkvg_arc</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>xc</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>yc</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>radius</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>a1</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>a2</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="253" column="6" declfile="include/vkvg.h" declline="253" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a81af95aa15f5d5c54e42143183a4bf9b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_arc_negative</definition>
+        <argsstring>(VkvgContext ctx, float xc, float yc, float radius, float a1, float a2)</argsstring>
+        <name>vkvg_arc_negative</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>xc</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>yc</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>radius</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>a1</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>a2</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="254" column="6" declfile="include/vkvg.h" declline="254" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aaef505547efbf0dac08363c29aa6d5fc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_curve_to</definition>
+        <argsstring>(VkvgContext ctx, float x1, float y1, float x2, float y2, float x3, float y3)</argsstring>
+        <name>vkvg_curve_to</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x1</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y1</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x2</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y2</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x3</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y3</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="255" column="6" declfile="include/vkvg.h" declline="255" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a9e89a82994312cc6f29d86f7f24538d6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_rectangle</definition>
+        <argsstring>(VkvgContext ctx, float x, float y, float w, float h)</argsstring>
+        <name>vkvg_rectangle</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>w</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>h</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="256" column="6" declfile="include/vkvg.h" declline="256" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a17aea0f2bcc09b2187fc6b1055c26dd3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_fill_rectangle</definition>
+        <argsstring>(VkvgContext ctx, float x, float y, float w, float h)</argsstring>
+        <name>vkvg_fill_rectangle</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>w</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>h</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="257" column="6" declfile="include/vkvg.h" declline="257" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a74bf1033a534dab1a320e95dc7dea157" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_stroke</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_stroke</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="258" column="6" declfile="include/vkvg.h" declline="258" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aa2ed6dc1512777dd5ccad6aeb1dda7f4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_stroke_preserve</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_stroke_preserve</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="259" column="6" declfile="include/vkvg.h" declline="259" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a514541817d323e89f66069362bb8611d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_fill</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_fill</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="260" column="6" declfile="include/vkvg.h" declline="260" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ab1fa94f07caed2355f289efe9ad5b920" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_fill_preserve</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_fill_preserve</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="261" column="6" declfile="include/vkvg.h" declline="261" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a8962c8af0aecbee767a3ca60e224cd8b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_paint</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_paint</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="262" column="6" declfile="include/vkvg.h" declline="262" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1af8ce78ae7fa4269a2a3c1c54ad2c58dd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_clear</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_clear</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="263" column="6" declfile="include/vkvg.h" declline="263" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1acc55b53318df7aa0fbb0d2a8ad62a7de" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_reset_clip</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_reset_clip</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="264" column="6" declfile="include/vkvg.h" declline="264" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a1377398c35756811e602cb1f62a3666a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_clip</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_clip</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="265" column="6" declfile="include/vkvg.h" declline="265" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1af4f41865696063157dcccc49826c7542" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_clip_preserve</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_clip_preserve</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="266" column="6" declfile="include/vkvg.h" declline="266" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a74613bc604a761da3f8a5f3a05588837" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_source_rgba</definition>
+        <argsstring>(VkvgContext ctx, float r, float g, float b, float a)</argsstring>
+        <name>vkvg_set_source_rgba</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>r</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>g</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>b</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>a</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="267" column="6" declfile="include/vkvg.h" declline="267" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a747c8ae1a645947fd918d5ac54b97a5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_source_rgb</definition>
+        <argsstring>(VkvgContext ctx, float r, float g, float b)</argsstring>
+        <name>vkvg_set_source_rgb</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>r</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>g</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>b</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="268" column="6" declfile="include/vkvg.h" declline="268" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ac159a4f21cb08f34c01e9a424b2a146b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_line_width</definition>
+        <argsstring>(VkvgContext ctx, float width)</argsstring>
+        <name>vkvg_set_line_width</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>width</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="269" column="6" declfile="include/vkvg.h" declline="269" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1acac211b9ddc47b13c9ad7887db491bd8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_line_cap</definition>
+        <argsstring>(VkvgContext ctx, vkvg_line_cap_t cap)</argsstring>
+        <name>vkvg_set_line_cap</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" kindref="member">vkvg_line_cap_t</ref></type>
+          <declname>cap</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="270" column="6" declfile="include/vkvg.h" declline="270" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a5b49660d94b802be40975417e7d963f3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_line_join</definition>
+        <argsstring>(VkvgContext ctx, vkvg_line_join_t join)</argsstring>
+        <name>vkvg_set_line_join</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" kindref="member">vkvg_line_join_t</ref></type>
+          <declname>join</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="271" column="6" declfile="include/vkvg.h" declline="271" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a449bf4b084310edb22aacf4ffba7d8da" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_source_surface</definition>
+        <argsstring>(VkvgContext ctx, VkvgSurface surf, float x, float y)</argsstring>
+        <name>vkvg_set_source_surface</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="272" column="6" declfile="include/vkvg.h" declline="272" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a3d85796d4747860d13263be493d33ef9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_source</definition>
+        <argsstring>(VkvgContext ctx, VkvgPattern pat)</argsstring>
+        <name>vkvg_set_source</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="273" column="6" declfile="include/vkvg.h" declline="273" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a77655256b5a06027abf60cb6eb561c1e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_operator</definition>
+        <argsstring>(VkvgContext ctx, vkvg_operator_t op)</argsstring>
+        <name>vkvg_set_operator</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" kindref="member">vkvg_operator_t</ref></type>
+          <declname>op</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="274" column="6" declfile="include/vkvg.h" declline="274" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a305378530707a0e8436d068e919d15bf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_fill_rule</definition>
+        <argsstring>(VkvgContext ctx, vkvg_fill_rule_t fr)</argsstring>
+        <name>vkvg_set_fill_rule</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" kindref="member">vkvg_fill_rule_t</ref></type>
+          <declname>fr</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="275" column="6" declfile="include/vkvg.h" declline="275" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a0cba8dfc3b4340e70820abba3c26c07b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_dash</definition>
+        <argsstring>(VkvgContext ctx, const float *dashes, uint32_t num_dashes, float offset)</argsstring>
+        <name>vkvg_set_dash</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const float *</type>
+          <declname>dashes</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>num_dashes</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>offset</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="277" column="6" declfile="include/vkvg.h" declline="277" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a003f578ba25479c16cec0f66161ed0f9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_get_dash</definition>
+        <argsstring>(VkvgContext ctx, const float *dashes, uint32_t *num_dashes, float *offset)</argsstring>
+        <name>vkvg_get_dash</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const float *</type>
+          <declname>dashes</declname>
+        </param>
+        <param>
+          <type>uint32_t *</type>
+          <declname>num_dashes</declname>
+        </param>
+        <param>
+          <type>float *</type>
+          <declname>offset</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="278" column="6" declfile="include/vkvg.h" declline="278" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a403922084a3cfecd3ef7e10f764bbd8e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>float</type>
+        <definition>float vkvg_get_line_width</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_get_line_width</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="280" column="21" declfile="include/vkvg.h" declline="280" declcolumn="21"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aa24335582127d17912b7f0f79e4d760c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" kindref="member">vkvg_line_cap_t</ref></type>
+        <definition>vkvg_line_cap_t vkvg_get_line_cap</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_get_line_cap</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="281" column="21" declfile="include/vkvg.h" declline="281" declcolumn="21"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a1a425a93c299ea2fe50b80c26d54e65a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" kindref="member">vkvg_line_join_t</ref></type>
+        <definition>vkvg_line_join_t vkvg_get_line_join</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_get_line_join</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="282" column="21" declfile="include/vkvg.h" declline="282" declcolumn="21"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ac525aec4976320d2bac91a16cf1d84f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" kindref="member">vkvg_operator_t</ref></type>
+        <definition>vkvg_operator_t vkvg_get_operator</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_get_operator</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="283" column="21" declfile="include/vkvg.h" declline="283" declcolumn="21"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ad628d092e9fae6f1c9dc8c2ae6c96b35" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" kindref="member">vkvg_fill_rule_t</ref></type>
+        <definition>vkvg_fill_rule_t vkvg_get_fill_rule</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_get_fill_rule</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="284" column="21" declfile="include/vkvg.h" declline="284" declcolumn="21"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1af86035c0d1696a504aec94572d218415" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+        <definition>VkvgPattern vkvg_get_source</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_get_source</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="285" column="21" declfile="include/vkvg.h" declline="285" declcolumn="21"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ac03501474a0d7c9ba002fd5b7b9d7aa5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_save</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_save</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="287" column="6" declfile="include/vkvg.h" declline="287" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a1f8f22f05ba71be6344787c7c52caf3b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_restore</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_restore</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="288" column="6" declfile="include/vkvg.h" declline="288" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a71761d954c4f84161d889f1a3c3bf3b3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_translate</definition>
+        <argsstring>(VkvgContext ctx, float dx, float dy)</argsstring>
+        <name>vkvg_translate</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>dx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>dy</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="290" column="6" declfile="include/vkvg.h" declline="290" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a8da1de941ca7b4657298fc15d1814a4c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_scale</definition>
+        <argsstring>(VkvgContext ctx, float sx, float sy)</argsstring>
+        <name>vkvg_scale</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>sx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>sy</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="291" column="6" declfile="include/vkvg.h" declline="291" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aeb22a279fa51368ade2094303f729537" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_rotate</definition>
+        <argsstring>(VkvgContext ctx, float radians)</argsstring>
+        <name>vkvg_rotate</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>radians</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="292" column="6" declfile="include/vkvg.h" declline="292" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a2b63169d9113d74d5549e803d3f4fa9a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_transform</definition>
+        <argsstring>(VkvgContext ctx, const vkvg_matrix_t *matrix)</argsstring>
+        <name>vkvg_transform</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const <ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="293" column="6" declfile="include/vkvg.h" declline="293" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ab56218e5b3ba4020ba68ad5fd3a92ddb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_matrix</definition>
+        <argsstring>(VkvgContext ctx, const vkvg_matrix_t *matrix)</argsstring>
+        <name>vkvg_set_matrix</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const <ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="294" column="6" declfile="include/vkvg.h" declline="294" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a6b0a4950733eb9792c24a0571cfbc53b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_get_matrix</definition>
+        <argsstring>(VkvgContext ctx, const vkvg_matrix_t *matrix)</argsstring>
+        <name>vkvg_get_matrix</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const <ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="295" column="6" declfile="include/vkvg.h" declline="295" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a07b38d9e2fa6338d765b3ba6f4414a87" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_identity_matrix</definition>
+        <argsstring>(VkvgContext ctx)</argsstring>
+        <name>vkvg_identity_matrix</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="296" column="6" declfile="include/vkvg.h" declline="296" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ade858000e4086620a00952a4ccc8744a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_select_font_face</definition>
+        <argsstring>(VkvgContext ctx, const char *name)</argsstring>
+        <name>vkvg_select_font_face</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>name</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="299" column="6" declfile="include/vkvg.h" declline="299" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ae061587061b992790b315c0df670ec29" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_set_font_size</definition>
+        <argsstring>(VkvgContext ctx, uint32_t size)</argsstring>
+        <name>vkvg_set_font_size</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>uint32_t</type>
+          <declname>size</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="300" column="6" declfile="include/vkvg.h" declline="300" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a58c6a51f8964a93e250152fc9e59921f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_show_text</definition>
+        <argsstring>(VkvgContext ctx, const char *text)</argsstring>
+        <name>vkvg_show_text</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>text</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="301" column="6" declfile="include/vkvg.h" declline="301" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a50d271f7cf08e066489566cb192ac57c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_text_extents</definition>
+        <argsstring>(VkvgContext ctx, const char *text, vkvg_text_extents_t *extents)</argsstring>
+        <name>vkvg_text_extents</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>text</declname>
+        </param>
+        <param>
+          <type><ref refid="structvkvg__text__extents__t" kindref="compound">vkvg_text_extents_t</ref> *</type>
+          <declname>extents</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="302" column="6" declfile="include/vkvg.h" declline="302" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1abcf41a619deeaf1fab72bc5c4e5ecf99" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_font_extents</definition>
+        <argsstring>(VkvgContext ctx, vkvg_font_extents_t *extents)</argsstring>
+        <name>vkvg_font_extents</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="structvkvg__font__extents__t" kindref="compound">vkvg_font_extents_t</ref> *</type>
+          <declname>extents</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="303" column="6" declfile="include/vkvg.h" declline="303" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a5a15641547545beb6c2fa99903713768" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref></type>
+        <definition>VkvgText vkvg_text_run_create</definition>
+        <argsstring>(VkvgContext ctx, const char *text)</argsstring>
+        <name>vkvg_text_run_create</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type>const char *</type>
+          <declname>text</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="306" column="13" declfile="include/vkvg.h" declline="306" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a23dc80671fff96c1f2390f03ea3230be" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_text_run_destroy</definition>
+        <argsstring>(VkvgText textRun)</argsstring>
+        <name>vkvg_text_run_destroy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref></type>
+          <declname>textRun</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="307" column="13" declfile="include/vkvg.h" declline="307" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a1d8a8c6dea5e354b3f951ae980042c3a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_show_text_run</definition>
+        <argsstring>(VkvgContext ctx, VkvgText textRun)</argsstring>
+        <name>vkvg_show_text_run</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref></type>
+          <declname>ctx</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref></type>
+          <declname>textRun</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="308" column="13" declfile="include/vkvg.h" declline="308" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ae7a8c7696c515cdfa1a59d4fe0ca12e8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_text_run_get_extents</definition>
+        <argsstring>(VkvgText textRun, vkvg_text_extents_t *extents)</argsstring>
+        <name>vkvg_text_run_get_extents</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref></type>
+          <declname>textRun</declname>
+        </param>
+        <param>
+          <type><ref refid="structvkvg__text__extents__t" kindref="compound">vkvg_text_extents_t</ref> *</type>
+          <declname>extents</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="309" column="13" declfile="include/vkvg.h" declline="309" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a3bc1cde4ef93d5b8e87870f35240cbc2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+        <definition>VkvgPattern vkvg_pattern_reference</definition>
+        <argsstring>(VkvgPattern pat)</argsstring>
+        <name>vkvg_pattern_reference</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="312" column="13" declfile="include/vkvg.h" declline="312" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a666342d39a4227e8b1d2ecbc1eaad3e9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>uint32_t</type>
+        <definition>uint32_t vkvg_pattern_get_reference_count</definition>
+        <argsstring>(VkvgPattern pat)</argsstring>
+        <name>vkvg_pattern_get_reference_count</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="313" column="13" declfile="include/vkvg.h" declline="313" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ae5284a7f3f6241d3c5b9012dc145dfcb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+        <definition>VkvgPattern vkvg_pattern_create_for_surface</definition>
+        <argsstring>(VkvgSurface surf)</argsstring>
+        <name>vkvg_pattern_create_for_surface</name>
+        <param>
+          <type><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref></type>
+          <declname>surf</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="314" column="13" declfile="include/vkvg.h" declline="314" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ac14405c0e08f8cae0013d179a5c15308" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+        <definition>VkvgPattern vkvg_pattern_create_linear</definition>
+        <argsstring>(float x0, float y0, float x1, float y1)</argsstring>
+        <name>vkvg_pattern_create_linear</name>
+        <param>
+          <type>float</type>
+          <declname>x0</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y0</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x1</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y1</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="315" column="13" declfile="include/vkvg.h" declline="315" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a19e3b3fde4351d70e052030508bed667" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+        <definition>VkvgPattern vkvg_pattern_create_radial</definition>
+        <argsstring>(float cx0, float cy0, float radius0, float cx1, float cy1, float radius1)</argsstring>
+        <name>vkvg_pattern_create_radial</name>
+        <param>
+          <type>float</type>
+          <declname>cx0</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>cy0</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>radius0</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>cx1</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>cy1</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>radius1</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="316" column="13" declfile="include/vkvg.h" declline="316" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aee2652254686507f28dfcf598db894c4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_pattern_destroy</definition>
+        <argsstring>(VkvgPattern pat)</argsstring>
+        <name>vkvg_pattern_destroy</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="318" column="13" declfile="include/vkvg.h" declline="318" declcolumn="13"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a058bcc558c988254da9309006a30ed35" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_pattern_add_color_stop</definition>
+        <argsstring>(VkvgPattern pat, float offset, float r, float g, float b, float a)</argsstring>
+        <name>vkvg_pattern_add_color_stop</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>offset</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>r</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>g</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>b</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>a</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="320" column="6" declfile="include/vkvg.h" declline="320" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a29fe6b4335fe0352c5d7ea5804ba45e9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_pattern_set_extend</definition>
+        <argsstring>(VkvgPattern pat, vkvg_extend_t extend)</argsstring>
+        <name>vkvg_pattern_set_extend</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" kindref="member">vkvg_extend_t</ref></type>
+          <declname>extend</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="321" column="6" declfile="include/vkvg.h" declline="321" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ad2d8a91e379b5d39ae9c066380ae95f2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_pattern_set_filter</definition>
+        <argsstring>(VkvgPattern pat, vkvg_filter_t filter)</argsstring>
+        <name>vkvg_pattern_set_filter</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <param>
+          <type><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" kindref="member">vkvg_filter_t</ref></type>
+          <declname>filter</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="322" column="6" declfile="include/vkvg.h" declline="322" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1af89e3a8ba79ac27840b4394d9f503459" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" kindref="member">vkvg_extend_t</ref></type>
+        <definition>vkvg_extend_t vkvg_pattern_get_extend</definition>
+        <argsstring>(VkvgPattern pat)</argsstring>
+        <name>vkvg_pattern_get_extend</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="324" column="17" declfile="include/vkvg.h" declline="324" declcolumn="17"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aea43689bc6fa9fff1e1ab557b45bbc9f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" kindref="member">vkvg_filter_t</ref></type>
+        <definition>vkvg_filter_t vkvg_pattern_get_filter</definition>
+        <argsstring>(VkvgPattern pat)</argsstring>
+        <name>vkvg_pattern_get_filter</name>
+        <param>
+          <type><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref></type>
+          <declname>pat</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="325" column="17" declfile="include/vkvg.h" declline="325" declcolumn="17"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a60cff46b3741569d302c19226b5f7340" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_init_identity</definition>
+        <argsstring>(vkvg_matrix_t *matrix)</argsstring>
+        <name>vkvg_matrix_init_identity</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="328" column="6" declfile="include/vkvg.h" declline="328" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1adfb1c02e17804239c8a8f1c2f0f8a374" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_init</definition>
+        <argsstring>(vkvg_matrix_t *matrix, float xx, float yx, float xy, float yy, float x0, float y0)</argsstring>
+        <name>vkvg_matrix_init</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>xx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>yx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>xy</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>yy</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>x0</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>y0</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="329" column="6" declfile="include/vkvg.h" declline="329" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a471448472d025facf479dc1fbaa6f102" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_init_translate</definition>
+        <argsstring>(vkvg_matrix_t *matrix, float tx, float ty)</argsstring>
+        <name>vkvg_matrix_init_translate</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>tx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>ty</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="333" column="6" declfile="include/vkvg.h" declline="333" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a824fa84193b12ef36fd11316b52edfb9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_init_scale</definition>
+        <argsstring>(vkvg_matrix_t *matrix, float sx, float sy)</argsstring>
+        <name>vkvg_matrix_init_scale</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>sx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>sy</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="334" column="6" declfile="include/vkvg.h" declline="334" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a7565d3c1202c2aa88d06210e4e880c15" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_init_rotate</definition>
+        <argsstring>(vkvg_matrix_t *matrix, float radians)</argsstring>
+        <name>vkvg_matrix_init_rotate</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>radians</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="335" column="6" declfile="include/vkvg.h" declline="335" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aa9cd565c5f9ad461d8ece37459c5757c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_translate</definition>
+        <argsstring>(vkvg_matrix_t *matrix, float tx, float ty)</argsstring>
+        <name>vkvg_matrix_translate</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>tx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>ty</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="336" column="6" declfile="include/vkvg.h" declline="336" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a2af9ac82c85388031d206e5e59b00ab9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_scale</definition>
+        <argsstring>(vkvg_matrix_t *matrix, float sx, float sy)</argsstring>
+        <name>vkvg_matrix_scale</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>sx</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>sy</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="337" column="6" declfile="include/vkvg.h" declline="337" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a00b8f362ab4e337c2ec219dbee840a76" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_rotate</definition>
+        <argsstring>(vkvg_matrix_t *matrix, float radians)</argsstring>
+        <name>vkvg_matrix_rotate</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float</type>
+          <declname>radians</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="338" column="6" declfile="include/vkvg.h" declline="338" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1a696338f6b5986e8cde51cab3bd6f2050" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_multiply</definition>
+        <argsstring>(vkvg_matrix_t *result, const vkvg_matrix_t *a, const vkvg_matrix_t *b)</argsstring>
+        <name>vkvg_matrix_multiply</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>result</declname>
+        </param>
+        <param>
+          <type>const <ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>a</declname>
+        </param>
+        <param>
+          <type>const <ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>b</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="339" column="6" declfile="include/vkvg.h" declline="339" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aef5dcf4dab69857a4516cfa3770a6201" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_transform_distance</definition>
+        <argsstring>(const vkvg_matrix_t *matrix, float *dx, float *dy)</argsstring>
+        <name>vkvg_matrix_transform_distance</name>
+        <param>
+          <type>const <ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float *</type>
+          <declname>dx</declname>
+        </param>
+        <param>
+          <type>float *</type>
+          <declname>dy</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="340" column="6" declfile="include/vkvg.h" declline="340" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1aa329c7a6282aa4eb6f39b8bcc9547c1c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_transform_point</definition>
+        <argsstring>(const vkvg_matrix_t *matrix, float *x, float *y)</argsstring>
+        <name>vkvg_matrix_transform_point</name>
+        <param>
+          <type>const <ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <param>
+          <type>float *</type>
+          <declname>x</declname>
+        </param>
+        <param>
+          <type>float *</type>
+          <declname>y</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="341" column="6" declfile="include/vkvg.h" declline="341" declcolumn="6"/>
+      </memberdef>
+      <memberdef kind="function" id="vkvg_8h_1ad1b8dec7b489b777fa76f09ef605b3f6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+        <type>void</type>
+        <definition>void vkvg_matrix_invert</definition>
+        <argsstring>(vkvg_matrix_t *matrix)</argsstring>
+        <name>vkvg_matrix_invert</name>
+        <param>
+          <type><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref> *</type>
+          <declname>matrix</declname>
+        </param>
+        <briefdescription>
+        </briefdescription>
+        <detaileddescription>
+        </detaileddescription>
+        <inbodydescription>
+        </inbodydescription>
+        <location file="include/vkvg.h" line="342" column="6" declfile="include/vkvg.h" declline="342" declcolumn="6"/>
+      </memberdef>
+      </sectiondef>
+    <briefdescription>
+    </briefdescription>
+    <detaileddescription>
+    </detaileddescription>
+    <programlisting>
+<codeline lineno="1"><highlight class="comment">/*</highlight></codeline>
+<codeline lineno="2"><highlight class="comment"><sp/>*<sp/>Copyright<sp/>(c)<sp/>2018-2019<sp/>Jean-Philippe<sp/>Bruyère<sp/>&lt;jp_bruyere@hotmail.com&gt;</highlight></codeline>
+<codeline lineno="3"><highlight class="comment"><sp/>*</highlight></codeline>
+<codeline lineno="4"><highlight class="comment"><sp/>*<sp/>Permission<sp/>is<sp/>hereby<sp/>granted,<sp/>free<sp/>of<sp/>charge,<sp/>to<sp/>any<sp/>person<sp/>obtaining<sp/>a<sp/>copy<sp/>of</highlight></codeline>
+<codeline lineno="5"><highlight class="comment"><sp/>*<sp/>this<sp/>software<sp/>and<sp/>associated<sp/>documentation<sp/>files<sp/>(the<sp/>&quot;Software&quot;),<sp/>to<sp/>deal<sp/>in</highlight></codeline>
+<codeline lineno="6"><highlight class="comment"><sp/>*<sp/>the<sp/>Software<sp/>without<sp/>restriction,<sp/>including<sp/>without<sp/>limitation<sp/>the<sp/>rights<sp/>to<sp/>use,</highlight></codeline>
+<codeline lineno="7"><highlight class="comment"><sp/>*<sp/>copy,<sp/>modify,<sp/>merge,<sp/>publish,<sp/>distribute,<sp/>sublicense,<sp/>and/or<sp/>sell<sp/>copies<sp/>of<sp/>the</highlight></codeline>
+<codeline lineno="8"><highlight class="comment"><sp/>*<sp/>Software,<sp/>and<sp/>to<sp/>permit<sp/>persons<sp/>to<sp/>whom<sp/>the<sp/>Software<sp/>is<sp/>furnished<sp/>to<sp/>do<sp/>so,<sp/>subject</highlight></codeline>
+<codeline lineno="9"><highlight class="comment"><sp/>*<sp/>to<sp/>the<sp/>following<sp/>conditions:</highlight></codeline>
+<codeline lineno="10"><highlight class="comment"><sp/>*</highlight></codeline>
+<codeline lineno="11"><highlight class="comment"><sp/>*<sp/>The<sp/>above<sp/>copyright<sp/>notice<sp/>and<sp/>this<sp/>permission<sp/>notice<sp/>shall<sp/>be<sp/>included<sp/>in<sp/>all</highlight></codeline>
+<codeline lineno="12"><highlight class="comment"><sp/>*<sp/>copies<sp/>or<sp/>substantial<sp/>portions<sp/>of<sp/>the<sp/>Software.</highlight></codeline>
+<codeline lineno="13"><highlight class="comment"><sp/>*</highlight></codeline>
+<codeline lineno="14"><highlight class="comment"><sp/>*<sp/>THE<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>&quot;AS<sp/>IS&quot;,<sp/>WITHOUT<sp/>WARRANTY<sp/>OF<sp/>ANY<sp/>KIND,<sp/>EXPRESS<sp/>OR</highlight></codeline>
+<codeline lineno="15"><highlight class="comment"><sp/>*<sp/>IMPLIED,<sp/>INCLUDING<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO<sp/>THE<sp/>WARRANTIES<sp/>OF<sp/>MERCHANTABILITY,</highlight></codeline>
+<codeline lineno="16"><highlight class="comment"><sp/>*<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>AND<sp/>NONINFRINGEMENT.<sp/>IN<sp/>NO<sp/>EVENT<sp/>SHALL<sp/>THE</highlight></codeline>
+<codeline lineno="17"><highlight class="comment"><sp/>*<sp/>AUTHORS<sp/>OR<sp/>COPYRIGHT<sp/>HOLDERS<sp/>BE<sp/>LIABLE<sp/>FOR<sp/>ANY<sp/>CLAIM,<sp/>DAMAGES<sp/>OR<sp/>OTHER</highlight></codeline>
+<codeline lineno="18"><highlight class="comment"><sp/>*<sp/>LIABILITY,<sp/>WHETHER<sp/>IN<sp/>AN<sp/>ACTION<sp/>OF<sp/>CONTRACT,<sp/>TORT<sp/>OR<sp/>OTHERWISE,<sp/>ARISING<sp/>FROM,</highlight></codeline>
+<codeline lineno="19"><highlight class="comment"><sp/>*<sp/>OUT<sp/>OF<sp/>OR<sp/>IN<sp/>CONNECTION<sp/>WITH<sp/>THE<sp/>SOFTWARE<sp/>OR<sp/>THE<sp/>USE<sp/>OR<sp/>OTHER<sp/>DEALINGS<sp/>IN</highlight></codeline>
+<codeline lineno="20"><highlight class="comment"><sp/>*<sp/>THE<sp/>SOFTWARE.</highlight></codeline>
+<codeline lineno="21"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="22"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>VKVG_H</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="23"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_H</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="24"><highlight class="normal"></highlight></codeline>
+<codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="26"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;C&quot;</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="27"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="28"><highlight class="normal"></highlight></codeline>
+<codeline lineno="29"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;vulkan/vulkan.h&gt;</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;math.h&gt;</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="31"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;stdbool.h&gt;</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="32"><highlight class="normal"></highlight></codeline>
+<codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_LOG_ERR<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x10</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="34" refid="vkvg_8h_1a6664f29e4f38fafb584188235b65718a" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_LOG_DEBUG<sp/><sp/><sp/><sp/><sp/><sp/>0x20</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="35" refid="vkvg_8h_1a0411814a6919e5df693cf40dcfcbc4e3" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_LOG_INFO<sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x40</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="36" refid="vkvg_8h_1af9445855626eb75472a91844db51e59e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_LOG_INFO_PATH<sp/><sp/>0x41</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="37" refid="vkvg_8h_1af23f274286a67543b606d4918bc87d9c" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_LOG_DBG_ARRAYS<sp/>0x80</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="38" refid="vkvg_8h_1a040b130202d4c2e3e1a57dd8837ed919" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_LOG_FULL<sp/><sp/><sp/><sp/><sp/><sp/><sp/>0xff</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="39" refid="vkvg_8h_1a13fb664af0ea69bff0f1fbc142b57f60" refkind="member"><highlight class="normal"></highlight></codeline>
+<codeline lineno="40"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>DEBUG</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="41"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/>uint8_t<sp/>vkvg_log_level;</highlight></codeline>
+<codeline lineno="42"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LOG(level,...)<sp/>(vkvg_log_level<sp/>&amp;<sp/>level)<sp/>?<sp/>fprintf<sp/>(stdout,<sp/>__VA_ARGS__):true;</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="43"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="44"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LOG</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="45" refid="vkvg_8h_1a159ca84d25a5487d8e81e4438725df19" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="46"><highlight class="normal"></highlight></codeline>
+<codeline lineno="47" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="48" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adeea52cf65dc55d26c0ba6824c3245bf" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adeea52cf65dc55d26c0ba6824c3245bf" kindref="member">VKVG_STATUS_SUCCESS</ref><sp/>=<sp/>0,</highlight></codeline>
+<codeline lineno="49" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adca5beade5a3fd84c5e3cb4db65d593e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adca5beade5a3fd84c5e3cb4db65d593e" kindref="member">VKVG_STATUS_NO_MEMORY</ref>,</highlight></codeline>
+<codeline lineno="50" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad38afefc99aa272f5fa31598ddd0aa7f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad38afefc99aa272f5fa31598ddd0aa7f" kindref="member">VKVG_STATUS_INVALID_RESTORE</ref>,</highlight></codeline>
+<codeline lineno="51" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a0b997f5a2181b315da16057fc152cda6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a0b997f5a2181b315da16057fc152cda6" kindref="member">VKVG_STATUS_INVALID_POP_GROUP</ref>,</highlight></codeline>
+<codeline lineno="52" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae52f6f34a55e63cc48acc0a973c5d454" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae52f6f34a55e63cc48acc0a973c5d454" kindref="member">VKVG_STATUS_NO_CURRENT_POINT</ref>,</highlight></codeline>
+<codeline lineno="53" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a80652ae5261224409e179eef9121e5bd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a80652ae5261224409e179eef9121e5bd" kindref="member">VKVG_STATUS_INVALID_MATRIX</ref>,</highlight></codeline>
+<codeline lineno="54" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354af1e2820c9277603041bb2cf1e92b9bcb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354af1e2820c9277603041bb2cf1e92b9bcb" kindref="member">VKVG_STATUS_INVALID_STATUS</ref>,</highlight></codeline>
+<codeline lineno="55" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a38d751f65b5ca4aba90ba3695627946c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a38d751f65b5ca4aba90ba3695627946c" kindref="member">VKVG_STATUS_NULL_POINTER</ref>,</highlight></codeline>
+<codeline lineno="56" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a86d6a05e2fcd115f97a37a28c0d06b31" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a86d6a05e2fcd115f97a37a28c0d06b31" kindref="member">VKVG_STATUS_INVALID_STRING</ref>,</highlight></codeline>
+<codeline lineno="57" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5c82a93fbd517d5a98098ac7c23fbf90" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5c82a93fbd517d5a98098ac7c23fbf90" kindref="member">VKVG_STATUS_INVALID_PATH_DATA</ref>,</highlight></codeline>
+<codeline lineno="58" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ace8b60d5e7bc16bf325b330b58c01f18" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ace8b60d5e7bc16bf325b330b58c01f18" kindref="member">VKVG_STATUS_READ_ERROR</ref>,</highlight></codeline>
+<codeline lineno="59" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354abbd09c792c0a7f4e25492bc1fd038db6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354abbd09c792c0a7f4e25492bc1fd038db6" kindref="member">VKVG_STATUS_WRITE_ERROR</ref>,</highlight></codeline>
+<codeline lineno="60" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a18b2554c65517624cf7425376c1e1bca" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a18b2554c65517624cf7425376c1e1bca" kindref="member">VKVG_STATUS_SURFACE_FINISHED</ref>,</highlight></codeline>
+<codeline lineno="61" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5b97c967996b1d4286225140cb8883ad" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5b97c967996b1d4286225140cb8883ad" kindref="member">VKVG_STATUS_SURFACE_TYPE_MISMATCH</ref>,</highlight></codeline>
+<codeline lineno="62" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a1e6dcf65d3707ebb3c7aa1b96cf21987" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a1e6dcf65d3707ebb3c7aa1b96cf21987" kindref="member">VKVG_STATUS_PATTERN_TYPE_MISMATCH</ref>,</highlight></codeline>
+<codeline lineno="63" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a2a9d2a77d748f8caad3f7ccb44e2a1bc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a2a9d2a77d748f8caad3f7ccb44e2a1bc" kindref="member">VKVG_STATUS_INVALID_CONTENT</ref>,</highlight></codeline>
+<codeline lineno="64" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354aac1f7c1ddaf47f1ef79695e901d718f1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354aac1f7c1ddaf47f1ef79695e901d718f1" kindref="member">VKVG_STATUS_INVALID_FORMAT</ref>,</highlight></codeline>
+<codeline lineno="65" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad620e357ff26af8b1adb6215406b3b14" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad620e357ff26af8b1adb6215406b3b14" kindref="member">VKVG_STATUS_INVALID_VISUAL</ref>,</highlight></codeline>
+<codeline lineno="66" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae26847e7ea42867a9ae851b2b3a976a4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae26847e7ea42867a9ae851b2b3a976a4" kindref="member">VKVG_STATUS_FILE_NOT_FOUND</ref>,</highlight></codeline>
+<codeline lineno="67" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad171c132ea43395b0a748c63b99f55d9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad171c132ea43395b0a748c63b99f55d9" kindref="member">VKVG_STATUS_INVALID_DASH</ref>,</highlight></codeline>
+<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ac774981b96eba5a3e20fea9d23dd631c" kindref="member">VKVG_STAtUS_NOT_ENOUGH_POINTS_TO_CLOSE_PATH</ref></highlight></codeline>
+<codeline lineno="69" refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ac774981b96eba5a3e20fea9d23dd631c" refkind="member"><highlight class="normal">}<ref refid="vkvg_8h_1a0cf53c292fd50abe53343d71673c9354" kindref="member">vkvg_status_t</ref>;</highlight></codeline>
+<codeline lineno="70"><highlight class="normal"></highlight></codeline>
+<codeline lineno="71" refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="72" refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995aaa62739c1a76e107fba227dffd6b8199" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995aaa62739c1a76e107fba227dffd6b8199" kindref="member">VKVG_HORIZONTAL</ref><sp/>=<sp/>0,</highlight></codeline>
+<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995a288489ba8f506ba72415b35e86e5f332" kindref="member">VKVG_VERTICAL</ref><sp/><sp/><sp/>=<sp/>1</highlight></codeline>
+<codeline lineno="74" refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995a288489ba8f506ba72415b35e86e5f332" refkind="member"><highlight class="normal">}<ref refid="vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995" kindref="member">vkvg_direction_t</ref>;</highlight></codeline>
+<codeline lineno="75"><highlight class="normal"></highlight></codeline>
+<codeline lineno="76" refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="77" refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a51e8f390b02e7117cb6bded3df1bc609" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a51e8f390b02e7117cb6bded3df1bc609" kindref="member">VKVG_FORMAT_ARGB32</ref>,</highlight></codeline>
+<codeline lineno="78" refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5aca9496af53332389ea1c579becfff146" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5aca9496af53332389ea1c579becfff146" kindref="member">VKVG_FORMAT_RGB24</ref>,</highlight></codeline>
+<codeline lineno="79" refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a1fc395bec4fab5baf6a8e9d12c48f91b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a1fc395bec4fab5baf6a8e9d12c48f91b" kindref="member">VKVG_FORMAT_A8</ref>,</highlight></codeline>
+<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a41129f80cde1638c50336775ec6059f1" kindref="member">VKVG_FORMAT_A1</ref></highlight></codeline>
+<codeline lineno="81" refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a41129f80cde1638c50336775ec6059f1" refkind="member"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5" kindref="member">vkvg_format_t</ref>;</highlight></codeline>
+<codeline lineno="82"><highlight class="normal"></highlight></codeline>
+<codeline lineno="83" refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="84" refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a016c184949340ded7cab8cc3ebebee8f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a016c184949340ded7cab8cc3ebebee8f" kindref="member">VKVG_EXTEND_NONE</ref>,</highlight></codeline>
+<codeline lineno="85" refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a7f0a3a3c71705d13270039ced36036c0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a7f0a3a3c71705d13270039ced36036c0" kindref="member">VKVG_EXTEND_REPEAT</ref>,</highlight></codeline>
+<codeline lineno="86" refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40ad3e0f41a1a2af562e7538657d6611832" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40ad3e0f41a1a2af562e7538657d6611832" kindref="member">VKVG_EXTEND_REFLECT</ref>,</highlight></codeline>
+<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a2fbaf3043fce97d14bcfaad9f2dc0a1c" kindref="member">VKVG_EXTEND_PAD</ref></highlight></codeline>
+<codeline lineno="88" refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a2fbaf3043fce97d14bcfaad9f2dc0a1c" refkind="member"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" kindref="member">vkvg_extend_t</ref>;</highlight></codeline>
+<codeline lineno="89"><highlight class="normal"></highlight></codeline>
+<codeline lineno="90" refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="91" refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a227895a3ffbd082c7f779c6c9ca7d76c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a227895a3ffbd082c7f779c6c9ca7d76c" kindref="member">VKVG_FILTER_FAST</ref>,</highlight></codeline>
+<codeline lineno="92" refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a63f51bfec03cdca07fdfe9d718f3a75f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a63f51bfec03cdca07fdfe9d718f3a75f" kindref="member">VKVG_FILTER_GOOD</ref>,</highlight></codeline>
+<codeline lineno="93" refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a00cb91e4e5cc8a0bc88ff1b8ab8fc8c0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a00cb91e4e5cc8a0bc88ff1b8ab8fc8c0" kindref="member">VKVG_FILTER_BEST</ref>,</highlight></codeline>
+<codeline lineno="94" refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a51346835be4c9cafb1b033ec6cae5754" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a51346835be4c9cafb1b033ec6cae5754" kindref="member">VKVG_FILTER_NEAREST</ref>,</highlight></codeline>
+<codeline lineno="95" refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a680a8fce657583362e33bdb2d97d3238" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a680a8fce657583362e33bdb2d97d3238" kindref="member">VKVG_FILTER_BILINEAR</ref>,</highlight></codeline>
+<codeline lineno="96" refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a3469ff42e4e804cf5b362eb2787b2654" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a3469ff42e4e804cf5b362eb2787b2654" kindref="member">VKVG_FILTER_GAUSSIAN</ref>,</highlight></codeline>
+<codeline lineno="97"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" kindref="member">vkvg_filter_t</ref>;</highlight></codeline>
+<codeline lineno="98"><highlight class="normal"></highlight></codeline>
+<codeline lineno="99" refid="vkvg_8h_1a1cde27798744c6485ac522a843017513" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="100" refid="vkvg_8h_1a1cde27798744c6485ac522a843017513aeb9d4daba143ba603f114c3805ab4fa4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1cde27798744c6485ac522a843017513aeb9d4daba143ba603f114c3805ab4fa4" kindref="member">VKVG_PATTERN_TYPE_SOLID</ref>,</highlight></codeline>
+<codeline lineno="101" refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a8396d15ca456c54a268bdc464107e5db" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a8396d15ca456c54a268bdc464107e5db" kindref="member">VKVG_PATTERN_TYPE_SURFACE</ref>,</highlight></codeline>
+<codeline lineno="102" refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a4aff9ccbec5d272981c596474adb5386" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a4aff9ccbec5d272981c596474adb5386" kindref="member">VKVG_PATTERN_TYPE_LINEAR</ref>,</highlight></codeline>
+<codeline lineno="103" refid="vkvg_8h_1a1cde27798744c6485ac522a843017513abac29bd75596cb8af065aa02a1aa34e4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1cde27798744c6485ac522a843017513abac29bd75596cb8af065aa02a1aa34e4" kindref="member">VKVG_PATTERN_TYPE_RADIAL</ref>,</highlight></codeline>
+<codeline lineno="104" refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a926565c0b987eed62e76eca261151ee5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1cde27798744c6485ac522a843017513a926565c0b987eed62e76eca261151ee5" kindref="member">VKVG_PATTERN_TYPE_MESH</ref>,</highlight></codeline>
+<codeline lineno="105" refid="vkvg_8h_1a1cde27798744c6485ac522a843017513ae30ae9f2771df088bc24886fd42fc037" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1cde27798744c6485ac522a843017513ae30ae9f2771df088bc24886fd42fc037" kindref="member">VKVG_PATTERN_TYPE_RASTER_SOURCE</ref>,</highlight></codeline>
+<codeline lineno="106"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1a1cde27798744c6485ac522a843017513" kindref="member">vkvg_pattern_type_t</ref>;</highlight></codeline>
+<codeline lineno="107"><highlight class="normal"></highlight></codeline>
+<codeline lineno="108" refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="109" refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a89ac22c56380187ec32463602a864f7b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a89ac22c56380187ec32463602a864f7b" kindref="member">VKVG_LINE_CAP_BUTT</ref>,</highlight></codeline>
+<codeline lineno="110" refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a803bf47b2bc042a98c2f1cf2b6543519" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a803bf47b2bc042a98c2f1cf2b6543519" kindref="member">VKVG_LINE_CAP_ROUND</ref>,</highlight></codeline>
+<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a3fca82a7ac5b5ef3355775c79d4adb45" kindref="member">VKVG_LINE_CAP_SQUARE</ref></highlight></codeline>
+<codeline lineno="112" refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a3fca82a7ac5b5ef3355775c79d4adb45" refkind="member"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" kindref="member">vkvg_line_cap_t</ref>;</highlight></codeline>
+<codeline lineno="113"><highlight class="normal"></highlight></codeline>
+<codeline lineno="114" refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="115" refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da87107f3a4b3dcbabeb57102b2fb3a311" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da87107f3a4b3dcbabeb57102b2fb3a311" kindref="member">VKVG_LINE_JOIN_MITER</ref>,</highlight></codeline>
+<codeline lineno="116" refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da5f2989d8df5882d66a907ad8d70a3e3c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da5f2989d8df5882d66a907ad8d70a3e3c" kindref="member">VKVG_LINE_JOIN_ROUND</ref>,</highlight></codeline>
+<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da83710d8d86be990e5d057a109a559d83" kindref="member">VKVG_LINE_JOIN_BEVEL</ref></highlight></codeline>
+<codeline lineno="118" refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da83710d8d86be990e5d057a109a559d83" refkind="member"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" kindref="member">vkvg_line_join_t</ref>;</highlight></codeline>
+<codeline lineno="119"><highlight class="normal"></highlight></codeline>
+<codeline lineno="120" refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline>
+<codeline lineno="121" refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6ada97bad79f6371820b82472e0ff49fe7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6ada97bad79f6371820b82472e0ff49fe7" kindref="member">VKVG_FILL_RULE_EVEN_ODD</ref>,</highlight></codeline>
+<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6a799b8a88417c80da02d1d52d8e62a43d" kindref="member">VKVG_FILL_RULE_NON_ZERO</ref></highlight></codeline>
+<codeline lineno="123" refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6a799b8a88417c80da02d1d52d8e62a43d" refkind="member"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" kindref="member">vkvg_fill_rule_t</ref>;</highlight></codeline>
+<codeline lineno="124"><highlight class="normal"></highlight></codeline>
+<codeline lineno="125" refid="structvkvg__color__t" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
+<codeline lineno="126" refid="structvkvg__color__t_1a4788d82c901b9367dd5c0daff8a7616b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__color__t_1a4788d82c901b9367dd5c0daff8a7616b" kindref="member">r</ref>;</highlight></codeline>
+<codeline lineno="127" refid="structvkvg__color__t_1a8cf17d727651616de6f2b79ef32170cd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__color__t_1a8cf17d727651616de6f2b79ef32170cd" kindref="member">g</ref>;</highlight></codeline>
+<codeline lineno="128" refid="structvkvg__color__t_1a83fc1af92e29717b4513d121b0c72c7d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__color__t_1a83fc1af92e29717b4513d121b0c72c7d" kindref="member">b</ref>;</highlight></codeline>
+<codeline lineno="129" refid="structvkvg__color__t_1a4aec1a5be9d9a4a394a2e49e9744286e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__color__t_1a4aec1a5be9d9a4a394a2e49e9744286e" kindref="member">a</ref>;</highlight></codeline>
+<codeline lineno="130"><highlight class="normal">}<sp/><ref refid="structvkvg__color__t" kindref="compound">vkvg_color_t</ref>;</highlight></codeline>
+<codeline lineno="131"><highlight class="normal"></highlight></codeline>
+<codeline lineno="132"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VKVG_IDENTITY_MATRIX<sp/>{1,0,0,1,0,0}</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="133" refid="vkvg_8h_1a7a14d8e9fafcb47df7b52731622a15a3" refkind="member"><highlight class="normal"></highlight></codeline>
+<codeline lineno="134" refid="structvkvg__matrix__t" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
+<codeline lineno="135" refid="structvkvg__matrix__t_1a8e1608facba0c31efe99d65811fab570" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>xx;<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t_1a8e1608facba0c31efe99d65811fab570" kindref="member">yx</ref>;</highlight></codeline>
+<codeline lineno="136" refid="structvkvg__matrix__t_1a342cbf7f29a65a0d1a2949ef4675008e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>xy;<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t_1a342cbf7f29a65a0d1a2949ef4675008e" kindref="member">yy</ref>;</highlight></codeline>
+<codeline lineno="137" refid="structvkvg__matrix__t_1adf19b8ba42d497d3093c3a51b1a32cca" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x0;<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t_1adf19b8ba42d497d3093c3a51b1a32cca" kindref="member">y0</ref>;</highlight></codeline>
+<codeline lineno="138"><highlight class="normal">}<sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref>;</highlight></codeline>
+<codeline lineno="139"><highlight class="normal"></highlight></codeline>
+<codeline lineno="140" refid="structvkvg__font__extents__t" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
+<codeline lineno="141" refid="structvkvg__font__extents__t_1a31ebc425eeae55d11acd591bb46dd468" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__font__extents__t_1a31ebc425eeae55d11acd591bb46dd468" kindref="member">ascent</ref>;</highlight></codeline>
+<codeline lineno="142" refid="structvkvg__font__extents__t_1a5984964357202018e67f64fd879af95b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__font__extents__t_1a5984964357202018e67f64fd879af95b" kindref="member">descent</ref>;</highlight></codeline>
+<codeline lineno="143" refid="structvkvg__font__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__font__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" kindref="member">height</ref>;</highlight></codeline>
+<codeline lineno="144" refid="structvkvg__font__extents__t_1afef09feed3e6d406a79a4654bbfdf32e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__font__extents__t_1afef09feed3e6d406a79a4654bbfdf32e" kindref="member">max_x_advance</ref>;</highlight></codeline>
+<codeline lineno="145" refid="structvkvg__font__extents__t_1a5a74d8c1db44409b96daa190fce554b1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__font__extents__t_1a5a74d8c1db44409b96daa190fce554b1" kindref="member">max_y_advance</ref>;</highlight></codeline>
+<codeline lineno="146"><highlight class="normal">}<sp/><ref refid="structvkvg__font__extents__t" kindref="compound">vkvg_font_extents_t</ref>;</highlight></codeline>
+<codeline lineno="147"><highlight class="normal"></highlight></codeline>
+<codeline lineno="148" refid="structvkvg__text__extents__t" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
+<codeline lineno="149" refid="structvkvg__text__extents__t_1a36152a2d5302d6860e555e77a4a8b456" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__text__extents__t_1a36152a2d5302d6860e555e77a4a8b456" kindref="member">x_bearing</ref>;</highlight></codeline>
+<codeline lineno="150" refid="structvkvg__text__extents__t_1adb121426957cb2c536d442cb6fd1c90f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__text__extents__t_1adb121426957cb2c536d442cb6fd1c90f" kindref="member">y_bearing</ref>;</highlight></codeline>
+<codeline lineno="151" refid="structvkvg__text__extents__t_1ae426f00e82704fa09578f5446e22d915" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__text__extents__t_1ae426f00e82704fa09578f5446e22d915" kindref="member">width</ref>;</highlight></codeline>
+<codeline lineno="152" refid="structvkvg__text__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__text__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4" kindref="member">height</ref>;</highlight></codeline>
+<codeline lineno="153" refid="structvkvg__text__extents__t_1ae83c02c42c97888eca5532a98ed4e2e4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__text__extents__t_1ae83c02c42c97888eca5532a98ed4e2e4" kindref="member">x_advance</ref>;</highlight></codeline>
+<codeline lineno="154" refid="structvkvg__text__extents__t_1a35b39603f2d8ae8c01b5cb9dfbfd20d3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="structvkvg__text__extents__t_1a35b39603f2d8ae8c01b5cb9dfbfd20d3" kindref="member">y_advance</ref>;</highlight></codeline>
+<codeline lineno="155"><highlight class="normal">}<sp/><ref refid="structvkvg__text__extents__t" kindref="compound">vkvg_text_extents_t</ref>;</highlight></codeline>
+<codeline lineno="156"><highlight class="normal"></highlight></codeline>
+<codeline lineno="157" refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">_vkvg_text_run_t*<sp/><ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref>;</highlight></codeline>
+<codeline lineno="158"><highlight class="normal"></highlight></codeline>
+<codeline lineno="159" refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">_vkvg_context_t*<sp/><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref>;</highlight></codeline>
+<codeline lineno="160" refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">_vkvg_surface_t*<sp/><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref>;</highlight></codeline>
+<codeline lineno="161" refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">_vkvg_device_t*<sp/><sp/><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref>;</highlight></codeline>
+<codeline lineno="162" refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">_vkvg_pattern_t*<sp/><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref>;</highlight></codeline>
+<codeline lineno="163"><highlight class="normal"></highlight></codeline>
+<codeline lineno="164" refid="vkvg_8h_1a350ccc17b18af2ae47138c169edf4d0d" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/><sp/><ref refid="vkvg_8h_1a350ccc17b18af2ae47138c169edf4d0d" kindref="member">vkvg_device_create</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(VkInstance<sp/>inst,<sp/>VkPhysicalDevice<sp/>phy,<sp/>VkDevice<sp/>vkdev,<sp/>uint32_t<sp/>qFamIdx,<sp/>uint32_t<sp/>qIndex);</highlight></codeline>
+<codeline lineno="165" refid="vkvg_8h_1a055e4085fc23e7a95d3081f59c7ef66a" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/><sp/><ref refid="vkvg_8h_1a055e4085fc23e7a95d3081f59c7ef66a" kindref="member">vkvg_device_create_multisample</ref><sp/><sp/>(VkInstance<sp/>inst,<sp/>VkPhysicalDevice<sp/>phy,<sp/>VkDevice<sp/>vkdev,<sp/>uint32_t<sp/>qFamIdx,<sp/>uint32_t<sp/>qIndex,<sp/>VkSampleCountFlags<sp/>samples,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>deferredResolve);</highlight></codeline>
+<codeline lineno="166" refid="vkvg_8h_1a2aaf6df4810242a7ba61d1cc22dda83d" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a2aaf6df4810242a7ba61d1cc22dda83d" kindref="member">vkvg_device_destroy</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev);</highlight></codeline>
+<codeline lineno="167" refid="vkvg_8h_1a3fbc07e9e6fa4e97dd0857b58e66a916" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/><sp/><ref refid="vkvg_8h_1a3fbc07e9e6fa4e97dd0857b58e66a916" kindref="member">vkvg_device_reference</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev);</highlight></codeline>
+<codeline lineno="168" refid="vkvg_8h_1af8fba0b5d5588ef33326e874bd25a4c1" refkind="member"><highlight class="normal">uint32_t<sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1af8fba0b5d5588ef33326e874bd25a4c1" kindref="member">vkvg_device_get_reference_count</ref><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev);</highlight></codeline>
+<codeline lineno="169" refid="vkvg_8h_1a67fe3cfb43415cc557c3c6f2dad1990b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a67fe3cfb43415cc557c3c6f2dad1990b" kindref="member">vkvg_device_set_dpy</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>hdpy,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>vdpy);</highlight></codeline>
+<codeline lineno="170" refid="vkvg_8h_1a629ad9c736d5e7936529aadbfc202c53" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a629ad9c736d5e7936529aadbfc202c53" kindref="member">vkvg_device_get_dpy</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*<sp/>hdpy,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*<sp/>vdpy);</highlight></codeline>
+<codeline lineno="171"><highlight class="normal"></highlight></codeline>
+<codeline lineno="172" refid="vkvg_8h_1ac60a50a2726621c5bc3c99b9810ad627" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/><ref refid="vkvg_8h_1ac60a50a2726621c5bc3c99b9810ad627" kindref="member">vkvg_surface_create</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/>uint32_t<sp/>width,<sp/>uint32_t<sp/>height);</highlight></codeline>
+<codeline lineno="173" refid="vkvg_8h_1ab8ea522885d2768088a15f91bfcd3139" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/><ref refid="vkvg_8h_1ab8ea522885d2768088a15f91bfcd3139" kindref="member">vkvg_surface_create_from_image</ref><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>filePath);</highlight></codeline>
+<codeline lineno="174" refid="vkvg_8h_1acc1786f9608880df323b46ebac50733a" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/><ref refid="vkvg_8h_1acc1786f9608880df323b46ebac50733a" kindref="member">vkvg_surface_create_from_svg</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>filePath);</highlight></codeline>
+<codeline lineno="175" refid="vkvg_8h_1a98368f0e89ad91fba6ba763f9e6f7d27" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/><ref refid="vkvg_8h_1a98368f0e89ad91fba6ba763f9e6f7d27" kindref="member">vkvg_surface_create_from_svg_fragment</ref><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*fragment);</highlight></codeline>
+<codeline lineno="176" refid="vkvg_8h_1aedc4e2964cf5c9a9c004d2874d73addb" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/><ref refid="vkvg_8h_1aedc4e2964cf5c9a9c004d2874d73addb" kindref="member">vkvg_surface_create_for_VkhImage</ref>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/>vkhImg);</highlight></codeline>
+<codeline lineno="177"><highlight class="normal"></highlight><highlight class="comment">//<sp/>VkvgSurface<sp/>vkvg_surface_create_from_bitmap<sp/>(VkvgDevice<sp/>dev,<sp/>unsigned<sp/>char*<sp/>img,<sp/>uint32_t<sp/>width,<sp/>uint32_t<sp/>height);</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="178" refid="vkvg_8h_1a22a2d413efceb83249e2b4348fe58345" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/><ref refid="vkvg_8h_1a22a2d413efceb83249e2b4348fe58345" kindref="member">vkvg_surface_reference</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="179" refid="vkvg_8h_1af4a177cd4af529d4ff1fce0b9e3cba12" refkind="member"><highlight class="normal">uint32_t<sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1af4a177cd4af529d4ff1fce0b9e3cba12" kindref="member">vkvg_surface_get_reference_count</ref>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="180"><highlight class="normal"></highlight></codeline>
+<codeline lineno="181" refid="vkvg_8h_1a4fb66c2cbbebddae0c0b8f69d13325e9" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a4fb66c2cbbebddae0c0b8f69d13325e9" kindref="member">vkvg_surface_destroy</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="182" refid="vkvg_8h_1ad43c411887c5c5bf60daeb62d05af0eb" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ad43c411887c5c5bf60daeb62d05af0eb" kindref="member">vkvg_surface_clear</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="183" refid="vkvg_8h_1a52d86147f436de7d2e138bcb4ee6015c" refkind="member"><highlight class="normal">VkImage<sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a52d86147f436de7d2e138bcb4ee6015c" kindref="member">vkvg_surface_get_vk_image</ref><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="184" refid="vkvg_8h_1a51e2017f312896befb7e3a841d5542c5" refkind="member"><highlight class="normal">VkFormat<sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a51e2017f312896befb7e3a841d5542c5" kindref="member">vkvg_surface_get_vk_format</ref><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="185" refid="vkvg_8h_1abbb66e36ee4d187485b0ef4bba8780f3" refkind="member"><highlight class="normal">uint32_t<sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1abbb66e36ee4d187485b0ef4bba8780f3" kindref="member">vkvg_surface_get_width</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="186" refid="vkvg_8h_1a52b10b4864ebba4dd2ce0edc0ed7e9b3" refkind="member"><highlight class="normal">uint32_t<sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a52b10b4864ebba4dd2ce0edc0ed7e9b3" kindref="member">vkvg_surface_get_height</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="187" refid="vkvg_8h_1ad6f4d9e10a156088df4cebbe82c5b650" refkind="member"><highlight class="normal">VkImage<sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ad6f4d9e10a156088df4cebbe82c5b650" kindref="member">vkvg_surface_get_vkh_image</ref><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="188" refid="vkvg_8h_1adcc851f311810c7827e75a3acd51cf2a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1adcc851f311810c7827e75a3acd51cf2a" kindref="member">vkvg_surface_write_to_png</ref><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>path);</highlight></codeline>
+<codeline lineno="189" refid="vkvg_8h_1a81a31187710d44e3df99da2b95335181" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a81a31187710d44e3df99da2b95335181" kindref="member">vkvg_multisample_surface_resolve</ref><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="190"><highlight class="normal"></highlight></codeline>
+<codeline lineno="191"><highlight class="normal"></highlight><highlight class="comment">//nsvg<sp/>interface<sp/>for<sp/>easy<sp/>svg<sp/>drawing</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="192"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref><sp/><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref>;</highlight></codeline>
+<codeline lineno="193"><highlight class="normal"></highlight></codeline>
+<codeline lineno="194" refid="vkvg_8h_1a867f678630642e488d84c8d427c7f7fe" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref>*<sp/><sp/><ref refid="vkvg_8h_1a867f678630642e488d84c8d427c7f7fe" kindref="member">nsvg_load_file</ref><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>filePath);</highlight></codeline>
+<codeline lineno="195" refid="vkvg_8h_1a827869f4fa022b99c91e884705abb1de" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref>*<sp/><sp/><ref refid="vkvg_8h_1a827869f4fa022b99c91e884705abb1de" kindref="member">nsvg_load</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71" kindref="member">VkvgDevice</ref><sp/>dev,<sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>fragment);</highlight></codeline>
+<codeline lineno="196" refid="vkvg_8h_1ad77975be665a6d9c559346c2a3baca71" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ad77975be665a6d9c559346c2a3baca71" kindref="member">nsvg_destroy</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref>*<sp/>svg);</highlight></codeline>
+<codeline lineno="197" refid="vkvg_8h_1aa25f73cd7894c62393aa5cd94609137d" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1aa25f73cd7894c62393aa5cd94609137d" kindref="member">nsvg_get_size</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref>*<sp/>svg,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*<sp/>width,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*<sp/>height);</highlight></codeline>
+<codeline lineno="198" refid="vkvg_8h_1a6eb760e09504a0282dac8b431f9182b3" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a6eb760e09504a0282dac8b431f9182b3" kindref="member">vkvg_render_svg</ref><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45" kindref="member">NSVGimage</ref>*<sp/>svg,<sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>subId);</highlight></codeline>
+<codeline lineno="199"><highlight class="normal"></highlight></codeline>
+<codeline lineno="200"><highlight class="normal"></highlight></codeline>
+<codeline lineno="201"><highlight class="normal"></highlight><highlight class="comment">//mimic<sp/>from<sp/>cairo,<sp/>to<sp/>facilitate<sp/>usage<sp/>of<sp/>vkvg<sp/>as<sp/>cairo<sp/>vulkan<sp/>backend</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="202" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87" kindref="member">_vkvg_operator</ref><sp/>{</highlight></codeline>
+<codeline lineno="203" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7af999d0306d40ea662520ee32b7c366" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7af999d0306d40ea662520ee32b7c366" kindref="member">VKVG_OPERATOR_CLEAR</ref>,</highlight></codeline>
+<codeline lineno="204"><highlight class="normal"></highlight></codeline>
+<codeline lineno="205" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab3cee330e9692a3ff88897172616572d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab3cee330e9692a3ff88897172616572d" kindref="member">VKVG_OPERATOR_SOURCE</ref>,</highlight></codeline>
+<codeline lineno="206" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4dfe6b31014d9176eb6b7a7aa3d385b9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4dfe6b31014d9176eb6b7a7aa3d385b9" kindref="member">VKVG_OPERATOR_OVER</ref>,</highlight></codeline>
+<codeline lineno="207" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87abbbc4a76b4369d28e2403865e00f2924" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87abbbc4a76b4369d28e2403865e00f2924" kindref="member">VKVG_OPERATOR_IN</ref>,</highlight></codeline>
+<codeline lineno="208" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a1e3ea4b353149b5542c03ea976dcecc9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a1e3ea4b353149b5542c03ea976dcecc9" kindref="member">VKVG_OPERATOR_OUT</ref>,</highlight></codeline>
+<codeline lineno="209" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab31e8813929c80d7695a9ec8faacdc2e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab31e8813929c80d7695a9ec8faacdc2e" kindref="member">VKVG_OPERATOR_ATOP</ref>,</highlight></codeline>
+<codeline lineno="210"><highlight class="normal"></highlight></codeline>
+<codeline lineno="211" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae7942f26d9811ae695fa9039a25185ac" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae7942f26d9811ae695fa9039a25185ac" kindref="member">VKVG_OPERATOR_DEST</ref>,</highlight></codeline>
+<codeline lineno="212" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a31ab931279fff91ed1fdd0c3922f2efc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a31ab931279fff91ed1fdd0c3922f2efc" kindref="member">VKVG_OPERATOR_DEST_OVER</ref>,</highlight></codeline>
+<codeline lineno="213" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acf76935b165c60b02bf712bfb0db490e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acf76935b165c60b02bf712bfb0db490e" kindref="member">VKVG_OPERATOR_DEST_IN</ref>,</highlight></codeline>
+<codeline lineno="214" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acfa2bd450283e3cad02adf315d468929" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acfa2bd450283e3cad02adf315d468929" kindref="member">VKVG_OPERATOR_DEST_OUT</ref>,</highlight></codeline>
+<codeline lineno="215" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4457938db69a0be5c966afe1416c4114" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4457938db69a0be5c966afe1416c4114" kindref="member">VKVG_OPERATOR_DEST_ATOP</ref>,</highlight></codeline>
+<codeline lineno="216"><highlight class="normal"></highlight></codeline>
+<codeline lineno="217" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af6aedbb6e0b1dba8d1962e42fe952e2d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af6aedbb6e0b1dba8d1962e42fe952e2d" kindref="member">VKVG_OPERATOR_XOR</ref>,</highlight></codeline>
+<codeline lineno="218" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72fe713a46b0c95d3a18ea0caaa9f29b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72fe713a46b0c95d3a18ea0caaa9f29b" kindref="member">VKVG_OPERATOR_ADD</ref>,</highlight></codeline>
+<codeline lineno="219" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7b0833925f83ff58e512027e42f80a0d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7b0833925f83ff58e512027e42f80a0d" kindref="member">VKVG_OPERATOR_SATURATE</ref>,</highlight></codeline>
+<codeline lineno="220"><highlight class="normal"></highlight></codeline>
+<codeline lineno="221" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4c3f2838289c96f9a6bb3271610eb3e9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4c3f2838289c96f9a6bb3271610eb3e9" kindref="member">VKVG_OPERATOR_MULTIPLY</ref>,</highlight></codeline>
+<codeline lineno="222" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a041f32ac411d0ee92ee45515fe421eed" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a041f32ac411d0ee92ee45515fe421eed" kindref="member">VKVG_OPERATOR_SCREEN</ref>,</highlight></codeline>
+<codeline lineno="223" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87afc1665244ce692e3567acdac34360075" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87afc1665244ce692e3567acdac34360075" kindref="member">VKVG_OPERATOR_OVERLAY</ref>,</highlight></codeline>
+<codeline lineno="224" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a68d84ef832f80cfa3fca0ba2aa72b08a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a68d84ef832f80cfa3fca0ba2aa72b08a" kindref="member">VKVG_OPERATOR_DARKEN</ref>,</highlight></codeline>
+<codeline lineno="225" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af21ede6af7733c9392d78d31c6b1b20f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af21ede6af7733c9392d78d31c6b1b20f" kindref="member">VKVG_OPERATOR_LIGHTEN</ref>,</highlight></codeline>
+<codeline lineno="226" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a8d580f3ec35b024b64b7ac975064fe36" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a8d580f3ec35b024b64b7ac975064fe36" kindref="member">VKVG_OPERATOR_COLOR_DODGE</ref>,</highlight></codeline>
+<codeline lineno="227" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a5c8b3fd21aaa197283ccceaf560230cd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a5c8b3fd21aaa197283ccceaf560230cd" kindref="member">VKVG_OPERATOR_COLOR_BURN</ref>,</highlight></codeline>
+<codeline lineno="228" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a83357143445067cb70b2b9b460b61432" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a83357143445067cb70b2b9b460b61432" kindref="member">VKVG_OPERATOR_HARD_LIGHT</ref>,</highlight></codeline>
+<codeline lineno="229" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ac935a73f1ee61c8a264f08a39f80f3f7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ac935a73f1ee61c8a264f08a39f80f3f7" kindref="member">VKVG_OPERATOR_SOFT_LIGHT</ref>,</highlight></codeline>
+<codeline lineno="230" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab391cf4ab11c3654ac15df0e573ecc78" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab391cf4ab11c3654ac15df0e573ecc78" kindref="member">VKVG_OPERATOR_DIFFERENCE</ref>,</highlight></codeline>
+<codeline lineno="231" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72050d7bef560659ad20f4b881a262cd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72050d7bef560659ad20f4b881a262cd" kindref="member">VKVG_OPERATOR_EXCLUSION</ref>,</highlight></codeline>
+<codeline lineno="232" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae37e0c8cdc8c925a1bc40a89619dca26" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae37e0c8cdc8c925a1bc40a89619dca26" kindref="member">VKVG_OPERATOR_HSL_HUE</ref>,</highlight></codeline>
+<codeline lineno="233" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87aad77d61118360c77d67576ba93aa7dc5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87aad77d61118360c77d67576ba93aa7dc5" kindref="member">VKVG_OPERATOR_HSL_SATURATION</ref>,</highlight></codeline>
+<codeline lineno="234" refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a6afb07f344d2eb38a17316a1fd6dc3b9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a6afb07f344d2eb38a17316a1fd6dc3b9" kindref="member">VKVG_OPERATOR_HSL_COLOR</ref>,</highlight></codeline>
+<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae49240fcf0dcf3a90430c677eb4c60fe" kindref="member">VKVG_OPERATOR_HSL_LUMINOSITY</ref></highlight></codeline>
+<codeline lineno="236" refid="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" refkind="member"><highlight class="normal">}<sp/><ref refid="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" kindref="member">vkvg_operator_t</ref>;</highlight></codeline>
+<codeline lineno="237"><highlight class="normal"></highlight></codeline>
+<codeline lineno="238"><highlight class="normal"></highlight><highlight class="comment">/*Context*/</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="239" refid="vkvg_8h_1ab276844a1cbcb7e666997d78ba305aa7" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/><ref refid="vkvg_8h_1ab276844a1cbcb7e666997d78ba305aa7" kindref="member">vkvg_create</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="240" refid="vkvg_8h_1a0e0bba5a28e7e264e8b265789b35cef5" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0e0bba5a28e7e264e8b265789b35cef5" kindref="member">vkvg_destroy</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="241" refid="vkvg_8h_1ae855f56bde644560f5025d09c834a55c" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/><ref refid="vkvg_8h_1ae855f56bde644560f5025d09c834a55c" kindref="member">vkvg_reference</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="242" refid="vkvg_8h_1a0b8f1aabb13f0a25b195fc28153eb821" refkind="member"><highlight class="normal">uint32_t<sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a0b8f1aabb13f0a25b195fc28153eb821" kindref="member">vkvg_get_reference_count</ref>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="243"><highlight class="normal"></highlight></codeline>
+<codeline lineno="244" refid="vkvg_8h_1aca4d2b86c75bdf3f07add4a48d861b5f" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aca4d2b86c75bdf3f07add4a48d861b5f" kindref="member">vkvg_flush</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="245"><highlight class="normal"></highlight></codeline>
+<codeline lineno="246" refid="vkvg_8h_1a92d2ddcda9b53c6dbd352c31a84b6dfb" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a92d2ddcda9b53c6dbd352c31a84b6dfb" kindref="member">vkvg_new_path</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="247" refid="vkvg_8h_1af7a96ef43fd8721ad82c296e96b1a89a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1af7a96ef43fd8721ad82c296e96b1a89a" kindref="member">vkvg_close_path</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="248" refid="vkvg_8h_1ad4df2d61a5e1ed43ceb89b5cb908f09c" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ad4df2d61a5e1ed43ceb89b5cb908f09c" kindref="member">vkvg_new_sub_path</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="249" refid="vkvg_8h_1a7fdda8e84e6cc77dc30be427087f597d" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a7fdda8e84e6cc77dc30be427087f597d" kindref="member">vkvg_line_to</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y);</highlight></codeline>
+<codeline lineno="250" refid="vkvg_8h_1afa0cae5af951c82a48470d530df9d7ff" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1afa0cae5af951c82a48470d530df9d7ff" kindref="member">vkvg_rel_line_to</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y);</highlight></codeline>
+<codeline lineno="251" refid="vkvg_8h_1aa9a27bece5bbd278921c6cba623b2c63" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aa9a27bece5bbd278921c6cba623b2c63" kindref="member">vkvg_move_to</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y);</highlight></codeline>
+<codeline lineno="252" refid="vkvg_8h_1ac7853e3949a804d682a856bfbd77312b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ac7853e3949a804d682a856bfbd77312b" kindref="member">vkvg_rel_move_to</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y);</highlight></codeline>
+<codeline lineno="253" refid="vkvg_8h_1ac068112f830a390f6b1ea52817d0fa6b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ac068112f830a390f6b1ea52817d0fa6b" kindref="member">vkvg_arc</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>xc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>yc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>radius,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>a1,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>a2);</highlight></codeline>
+<codeline lineno="254" refid="vkvg_8h_1a81af95aa15f5d5c54e42143183a4bf9b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a81af95aa15f5d5c54e42143183a4bf9b" kindref="member">vkvg_arc_negative</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>xc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>yc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>radius,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>a1,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>a2);</highlight></codeline>
+<codeline lineno="255" refid="vkvg_8h_1aaef505547efbf0dac08363c29aa6d5fc" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aaef505547efbf0dac08363c29aa6d5fc" kindref="member">vkvg_curve_to</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x1,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y1,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x2,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y2,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x3,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y3);</highlight></codeline>
+<codeline lineno="256" refid="vkvg_8h_1a9e89a82994312cc6f29d86f7f24538d6" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a9e89a82994312cc6f29d86f7f24538d6" kindref="member">vkvg_rectangle</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>w,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>h);</highlight></codeline>
+<codeline lineno="257" refid="vkvg_8h_1a17aea0f2bcc09b2187fc6b1055c26dd3" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a17aea0f2bcc09b2187fc6b1055c26dd3" kindref="member">vkvg_fill_rectangle</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>w,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>h);</highlight></codeline>
+<codeline lineno="258" refid="vkvg_8h_1a74bf1033a534dab1a320e95dc7dea157" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a74bf1033a534dab1a320e95dc7dea157" kindref="member">vkvg_stroke</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="259" refid="vkvg_8h_1aa2ed6dc1512777dd5ccad6aeb1dda7f4" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aa2ed6dc1512777dd5ccad6aeb1dda7f4" kindref="member">vkvg_stroke_preserve</ref><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="260" refid="vkvg_8h_1a514541817d323e89f66069362bb8611d" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a514541817d323e89f66069362bb8611d" kindref="member">vkvg_fill</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="261" refid="vkvg_8h_1ab1fa94f07caed2355f289efe9ad5b920" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ab1fa94f07caed2355f289efe9ad5b920" kindref="member">vkvg_fill_preserve</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="262" refid="vkvg_8h_1a8962c8af0aecbee767a3ca60e224cd8b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a8962c8af0aecbee767a3ca60e224cd8b" kindref="member">vkvg_paint</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="263" refid="vkvg_8h_1af8ce78ae7fa4269a2a3c1c54ad2c58dd" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1af8ce78ae7fa4269a2a3c1c54ad2c58dd" kindref="member">vkvg_clear</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight><highlight class="comment">//use<sp/>vkClearAttachment<sp/>to<sp/>speed<sp/>up<sp/>clearing<sp/>surf</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="264" refid="vkvg_8h_1acc55b53318df7aa0fbb0d2a8ad62a7de" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1acc55b53318df7aa0fbb0d2a8ad62a7de" kindref="member">vkvg_reset_clip</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="265" refid="vkvg_8h_1a1377398c35756811e602cb1f62a3666a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a1377398c35756811e602cb1f62a3666a" kindref="member">vkvg_clip</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="266" refid="vkvg_8h_1af4f41865696063157dcccc49826c7542" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1af4f41865696063157dcccc49826c7542" kindref="member">vkvg_clip_preserve</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="267" refid="vkvg_8h_1a74613bc604a761da3f8a5f3a05588837" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a74613bc604a761da3f8a5f3a05588837" kindref="member">vkvg_set_source_rgba</ref><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>r,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>g,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>b,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>a);</highlight></codeline>
+<codeline lineno="268" refid="vkvg_8h_1a747c8ae1a645947fd918d5ac54b97a5a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a747c8ae1a645947fd918d5ac54b97a5a" kindref="member">vkvg_set_source_rgb</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>r,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>g,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>b);</highlight></codeline>
+<codeline lineno="269" refid="vkvg_8h_1ac159a4f21cb08f34c01e9a424b2a146b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ac159a4f21cb08f34c01e9a424b2a146b" kindref="member">vkvg_set_line_width</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>width);</highlight></codeline>
+<codeline lineno="270" refid="vkvg_8h_1acac211b9ddc47b13c9ad7887db491bd8" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1acac211b9ddc47b13c9ad7887db491bd8" kindref="member">vkvg_set_line_cap</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" kindref="member">vkvg_line_cap_t</ref><sp/>cap);</highlight></codeline>
+<codeline lineno="271" refid="vkvg_8h_1a5b49660d94b802be40975417e7d963f3" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a5b49660d94b802be40975417e7d963f3" kindref="member">vkvg_set_line_join</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" kindref="member">vkvg_line_join_t</ref><sp/>join);</highlight></codeline>
+<codeline lineno="272" refid="vkvg_8h_1a449bf4b084310edb22aacf4ffba7d8da" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a449bf4b084310edb22aacf4ffba7d8da" kindref="member">vkvg_set_source_surface</ref>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y);</highlight></codeline>
+<codeline lineno="273" refid="vkvg_8h_1a3d85796d4747860d13263be493d33ef9" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a3d85796d4747860d13263be493d33ef9" kindref="member">vkvg_set_source</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat);</highlight></codeline>
+<codeline lineno="274" refid="vkvg_8h_1a77655256b5a06027abf60cb6eb561c1e" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a77655256b5a06027abf60cb6eb561c1e" kindref="member">vkvg_set_operator</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" kindref="member">vkvg_operator_t</ref><sp/>op);</highlight></codeline>
+<codeline lineno="275" refid="vkvg_8h_1a305378530707a0e8436d068e919d15bf" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a305378530707a0e8436d068e919d15bf" kindref="member">vkvg_set_fill_rule</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" kindref="member">vkvg_fill_rule_t</ref><sp/>fr);</highlight></codeline>
+<codeline lineno="276"><highlight class="normal"></highlight></codeline>
+<codeline lineno="277" refid="vkvg_8h_1a0cba8dfc3b4340e70820abba3c26c07b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a0cba8dfc3b4340e70820abba3c26c07b" kindref="member">vkvg_set_dash</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal">*<sp/>dashes,<sp/>uint32_t<sp/>num_dashes,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>offset);</highlight></codeline>
+<codeline lineno="278" refid="vkvg_8h_1a003f578ba25479c16cec0f66161ed0f9" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a003f578ba25479c16cec0f66161ed0f9" kindref="member">vkvg_get_dash</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*dashes,<sp/>uint32_t*<sp/>num_dashes,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal">*<sp/>offset);</highlight></codeline>
+<codeline lineno="279"><highlight class="normal"></highlight></codeline>
+<codeline lineno="280" refid="vkvg_8h_1a403922084a3cfecd3ef7e10f764bbd8e" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a403922084a3cfecd3ef7e10f764bbd8e" kindref="member">vkvg_get_line_width</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="281" refid="vkvg_8h_1aa24335582127d17912b7f0f79e4d760c" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0" kindref="member">vkvg_line_cap_t</ref><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1aa24335582127d17912b7f0f79e4d760c" kindref="member">vkvg_get_line_cap</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="282" refid="vkvg_8h_1a1a425a93c299ea2fe50b80c26d54e65a" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d" kindref="member">vkvg_line_join_t</ref><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1a425a93c299ea2fe50b80c26d54e65a" kindref="member">vkvg_get_line_join</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="283" refid="vkvg_8h_1ac525aec4976320d2bac91a16cf1d84f8" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d" kindref="member">vkvg_operator_t</ref><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ac525aec4976320d2bac91a16cf1d84f8" kindref="member">vkvg_get_operator</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="284" refid="vkvg_8h_1ad628d092e9fae6f1c9dc8c2ae6c96b35" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6" kindref="member">vkvg_fill_rule_t</ref><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ad628d092e9fae6f1c9dc8c2ae6c96b35" kindref="member">vkvg_get_fill_rule</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="285" refid="vkvg_8h_1af86035c0d1696a504aec94572d218415" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1af86035c0d1696a504aec94572d218415" kindref="member">vkvg_get_source</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="286"><highlight class="normal"></highlight></codeline>
+<codeline lineno="287" refid="vkvg_8h_1ac03501474a0d7c9ba002fd5b7b9d7aa5" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ac03501474a0d7c9ba002fd5b7b9d7aa5" kindref="member">vkvg_save</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="288" refid="vkvg_8h_1a1f8f22f05ba71be6344787c7c52caf3b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a1f8f22f05ba71be6344787c7c52caf3b" kindref="member">vkvg_restore</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="289"><highlight class="normal"></highlight></codeline>
+<codeline lineno="290" refid="vkvg_8h_1a71761d954c4f84161d889f1a3c3bf3b3" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a71761d954c4f84161d889f1a3c3bf3b3" kindref="member">vkvg_translate</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>dx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>dy);</highlight></codeline>
+<codeline lineno="291" refid="vkvg_8h_1a8da1de941ca7b4657298fc15d1814a4c" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a8da1de941ca7b4657298fc15d1814a4c" kindref="member">vkvg_scale</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>sx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>sy);</highlight></codeline>
+<codeline lineno="292" refid="vkvg_8h_1aeb22a279fa51368ade2094303f729537" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aeb22a279fa51368ade2094303f729537" kindref="member">vkvg_rotate</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>radians);</highlight></codeline>
+<codeline lineno="293" refid="vkvg_8h_1a2b63169d9113d74d5549e803d3f4fa9a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a2b63169d9113d74d5549e803d3f4fa9a" kindref="member">vkvg_transform</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref>*<sp/>matrix);</highlight></codeline>
+<codeline lineno="294" refid="vkvg_8h_1ab56218e5b3ba4020ba68ad5fd3a92ddb" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ab56218e5b3ba4020ba68ad5fd3a92ddb" kindref="member">vkvg_set_matrix</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref>*<sp/>matrix);</highlight></codeline>
+<codeline lineno="295" refid="vkvg_8h_1a6b0a4950733eb9792c24a0571cfbc53b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a6b0a4950733eb9792c24a0571cfbc53b" kindref="member">vkvg_get_matrix</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref>*<sp/>matrix);</highlight></codeline>
+<codeline lineno="296" refid="vkvg_8h_1a07b38d9e2fa6338d765b3ba6f4414a87" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a07b38d9e2fa6338d765b3ba6f4414a87" kindref="member">vkvg_identity_matrix</ref><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx);</highlight></codeline>
+<codeline lineno="297"><highlight class="normal"></highlight></codeline>
+<codeline lineno="298"><highlight class="normal"></highlight><highlight class="comment">//text</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="299" refid="vkvg_8h_1ade858000e4086620a00952a4ccc8744a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ade858000e4086620a00952a4ccc8744a" kindref="member">vkvg_select_font_face</ref><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>name);</highlight></codeline>
+<codeline lineno="300" refid="vkvg_8h_1ae061587061b992790b315c0df670ec29" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ae061587061b992790b315c0df670ec29" kindref="member">vkvg_set_font_size</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/>uint32_t<sp/>size);</highlight></codeline>
+<codeline lineno="301" refid="vkvg_8h_1a58c6a51f8964a93e250152fc9e59921f" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a58c6a51f8964a93e250152fc9e59921f" kindref="member">vkvg_show_text</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>text);</highlight></codeline>
+<codeline lineno="302" refid="vkvg_8h_1a50d271f7cf08e066489566cb192ac57c" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a50d271f7cf08e066489566cb192ac57c" kindref="member">vkvg_text_extents</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>text,<sp/><ref refid="structvkvg__text__extents__t" kindref="compound">vkvg_text_extents_t</ref>*<sp/>extents);</highlight></codeline>
+<codeline lineno="303" refid="vkvg_8h_1abcf41a619deeaf1fab72bc5c4e5ecf99" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1abcf41a619deeaf1fab72bc5c4e5ecf99" kindref="member">vkvg_font_extents</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="structvkvg__font__extents__t" kindref="compound">vkvg_font_extents_t</ref>*<sp/>extents);</highlight></codeline>
+<codeline lineno="304"><highlight class="normal"></highlight></codeline>
+<codeline lineno="305"><highlight class="normal"></highlight><highlight class="comment">//text<sp/>run<sp/>holds<sp/>harfbuz<sp/>datas,<sp/>and<sp/>prevent<sp/>recreating<sp/>them<sp/>multiple<sp/>times<sp/>for<sp/>the<sp/>same<sp/>line<sp/>of<sp/>text.</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="306" refid="vkvg_8h_1a5a15641547545beb6c2fa99903713768" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a5a15641547545beb6c2fa99903713768" kindref="member">vkvg_text_run_create</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>text);</highlight></codeline>
+<codeline lineno="307" refid="vkvg_8h_1a23dc80671fff96c1f2390f03ea3230be" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a23dc80671fff96c1f2390f03ea3230be" kindref="member">vkvg_text_run_destroy</ref><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref><sp/>textRun);</highlight></codeline>
+<codeline lineno="308" refid="vkvg_8h_1a1d8a8c6dea5e354b3f951ae980042c3a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a1d8a8c6dea5e354b3f951ae980042c3a" kindref="member">vkvg_show_text_run</ref><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc" kindref="member">VkvgContext</ref><sp/>ctx,<sp/><ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref><sp/>textRun);</highlight></codeline>
+<codeline lineno="309" refid="vkvg_8h_1ae7a8c7696c515cdfa1a59d4fe0ca12e8" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1ae7a8c7696c515cdfa1a59d4fe0ca12e8" kindref="member">vkvg_text_run_get_extents</ref>(<ref refid="vkvg_8h_1a4371df2f82cabd4963d913a094a06b35" kindref="member">VkvgText</ref><sp/>textRun,<sp/><ref refid="structvkvg__text__extents__t" kindref="compound">vkvg_text_extents_t</ref>*<sp/>extents);</highlight></codeline>
+<codeline lineno="310"><highlight class="normal"></highlight></codeline>
+<codeline lineno="311"><highlight class="normal"></highlight><highlight class="comment">//pattern</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="312" refid="vkvg_8h_1a3bc1cde4ef93d5b8e87870f35240cbc2" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/><ref refid="vkvg_8h_1a3bc1cde4ef93d5b8e87870f35240cbc2" kindref="member">vkvg_pattern_reference</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat);</highlight></codeline>
+<codeline lineno="313" refid="vkvg_8h_1a666342d39a4227e8b1d2ecbc1eaad3e9" refkind="member"><highlight class="normal">uint32_t<sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1a666342d39a4227e8b1d2ecbc1eaad3e9" kindref="member">vkvg_pattern_get_reference_count</ref>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat);</highlight></codeline>
+<codeline lineno="314" refid="vkvg_8h_1ae5284a7f3f6241d3c5b9012dc145dfcb" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/><ref refid="vkvg_8h_1ae5284a7f3f6241d3c5b9012dc145dfcb" kindref="member">vkvg_pattern_create_for_surface</ref><sp/>(<ref refid="vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7" kindref="member">VkvgSurface</ref><sp/>surf);</highlight></codeline>
+<codeline lineno="315" refid="vkvg_8h_1ac14405c0e08f8cae0013d179a5c15308" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/><ref refid="vkvg_8h_1ac14405c0e08f8cae0013d179a5c15308" kindref="member">vkvg_pattern_create_linear</ref><sp/><sp/><sp/><sp/><sp/><sp/>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x0,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y0,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x1,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y1);</highlight></codeline>
+<codeline lineno="316" refid="vkvg_8h_1a19e3b3fde4351d70e052030508bed667" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/><ref refid="vkvg_8h_1a19e3b3fde4351d70e052030508bed667" kindref="member">vkvg_pattern_create_radial</ref><sp/><sp/><sp/><sp/><sp/><sp/>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>cx0,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>cy0,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>radius0,</highlight></codeline>
+<codeline lineno="317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>cx1,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>cy1,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>radius1);</highlight></codeline>
+<codeline lineno="318" refid="vkvg_8h_1aee2652254686507f28dfcf598db894c4" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="vkvg_8h_1aee2652254686507f28dfcf598db894c4" kindref="member">vkvg_pattern_destroy</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat);</highlight></codeline>
+<codeline lineno="319"><highlight class="normal"></highlight></codeline>
+<codeline lineno="320" refid="vkvg_8h_1a058bcc558c988254da9309006a30ed35" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a058bcc558c988254da9309006a30ed35" kindref="member">vkvg_pattern_add_color_stop</ref>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>offset,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>r,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>g,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>b,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>a);</highlight></codeline>
+<codeline lineno="321" refid="vkvg_8h_1a29fe6b4335fe0352c5d7ea5804ba45e9" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a29fe6b4335fe0352c5d7ea5804ba45e9" kindref="member">vkvg_pattern_set_extend</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat,<sp/><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" kindref="member">vkvg_extend_t</ref><sp/>extend);</highlight></codeline>
+<codeline lineno="322" refid="vkvg_8h_1ad2d8a91e379b5d39ae9c066380ae95f2" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ad2d8a91e379b5d39ae9c066380ae95f2" kindref="member">vkvg_pattern_set_filter</ref><sp/><sp/><sp/><sp/>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat,<sp/><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" kindref="member">vkvg_filter_t</ref><sp/>filter);</highlight></codeline>
+<codeline lineno="323"><highlight class="normal"></highlight></codeline>
+<codeline lineno="324" refid="vkvg_8h_1af89e3a8ba79ac27840b4394d9f503459" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40" kindref="member">vkvg_extend_t</ref><sp/><sp/><sp/><ref refid="vkvg_8h_1af89e3a8ba79ac27840b4394d9f503459" kindref="member">vkvg_pattern_get_extend</ref><sp/>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat);</highlight></codeline>
+<codeline lineno="325" refid="vkvg_8h_1aea43689bc6fa9fff1e1ab557b45bbc9f" refkind="member"><highlight class="normal"><ref refid="vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5" kindref="member">vkvg_filter_t</ref><sp/><sp/><sp/><ref refid="vkvg_8h_1aea43689bc6fa9fff1e1ab557b45bbc9f" kindref="member">vkvg_pattern_get_filter</ref><sp/>(<ref refid="vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc" kindref="member">VkvgPattern</ref><sp/>pat);</highlight></codeline>
+<codeline lineno="326"><highlight class="normal"></highlight></codeline>
+<codeline lineno="327"><highlight class="normal"></highlight><highlight class="comment">//matrix</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="328" refid="vkvg_8h_1a60cff46b3741569d302c19226b5f7340" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a60cff46b3741569d302c19226b5f7340" kindref="member">vkvg_matrix_init_identity</ref><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix);</highlight></codeline>
+<codeline lineno="329" refid="vkvg_8h_1adfb1c02e17804239c8a8f1c2f0f8a374" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1adfb1c02e17804239c8a8f1c2f0f8a374" kindref="member">vkvg_matrix_init</ref><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,</highlight></codeline>
+<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>xx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>yx,</highlight></codeline>
+<codeline lineno="331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>xy,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>yy,</highlight></codeline>
+<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>x0,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y0);</highlight></codeline>
+<codeline lineno="333" refid="vkvg_8h_1a471448472d025facf479dc1fbaa6f102" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a471448472d025facf479dc1fbaa6f102" kindref="member">vkvg_matrix_init_translate</ref><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>tx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>ty);</highlight></codeline>
+<codeline lineno="334" refid="vkvg_8h_1a824fa84193b12ef36fd11316b52edfb9" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a824fa84193b12ef36fd11316b52edfb9" kindref="member">vkvg_matrix_init_scale</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>sx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>sy);</highlight></codeline>
+<codeline lineno="335" refid="vkvg_8h_1a7565d3c1202c2aa88d06210e4e880c15" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a7565d3c1202c2aa88d06210e4e880c15" kindref="member">vkvg_matrix_init_rotate</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>radians);</highlight></codeline>
+<codeline lineno="336" refid="vkvg_8h_1aa9cd565c5f9ad461d8ece37459c5757c" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aa9cd565c5f9ad461d8ece37459c5757c" kindref="member">vkvg_matrix_translate</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>tx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>ty);</highlight></codeline>
+<codeline lineno="337" refid="vkvg_8h_1a2af9ac82c85388031d206e5e59b00ab9" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a2af9ac82c85388031d206e5e59b00ab9" kindref="member">vkvg_matrix_scale</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>sx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>sy);</highlight></codeline>
+<codeline lineno="338" refid="vkvg_8h_1a00b8f362ab4e337c2ec219dbee840a76" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a00b8f362ab4e337c2ec219dbee840a76" kindref="member">vkvg_matrix_rotate</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>radians);</highlight></codeline>
+<codeline lineno="339" refid="vkvg_8h_1a696338f6b5986e8cde51cab3bd6f2050" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1a696338f6b5986e8cde51cab3bd6f2050" kindref="member">vkvg_matrix_multiply</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*result,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*a,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*b);</highlight></codeline>
+<codeline lineno="340" refid="vkvg_8h_1aef5dcf4dab69857a4516cfa3770a6201" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aef5dcf4dab69857a4516cfa3770a6201" kindref="member">vkvg_matrix_transform_distance</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*dx,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*dy);</highlight></codeline>
+<codeline lineno="341" refid="vkvg_8h_1aa329c7a6282aa4eb6f39b8bcc9547c1c" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1aa329c7a6282aa4eb6f39b8bcc9547c1c" kindref="member">vkvg_matrix_transform_point</ref><sp/><sp/><sp/><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*y);</highlight></codeline>
+<codeline lineno="342" refid="vkvg_8h_1ad1b8dec7b489b777fa76f09ef605b3f6" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vkvg_8h_1ad1b8dec7b489b777fa76f09ef605b3f6" kindref="member">vkvg_matrix_invert</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="structvkvg__matrix__t" kindref="compound">vkvg_matrix_t</ref><sp/>*matrix);</highlight></codeline>
+<codeline lineno="343"><highlight class="normal"></highlight></codeline>
+<codeline lineno="344"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="345"><highlight class="normal">}</highlight></codeline>
+<codeline lineno="346"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="347"><highlight class="normal"></highlight></codeline>
+<codeline lineno="348"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+    </programlisting>
+    <location file="include/vkvg.h"/>
+  </compounddef>
+</doxygen>
diff --git a/_data/doc/xml/vkvg_8h.yaml b/_data/doc/xml/vkvg_8h.yaml
new file mode 100644 (file)
index 0000000..bd08de8
--- /dev/null
@@ -0,0 +1,10022 @@
+---
+doxygen:
+  seq_compounddef:
+    - compounddef:
+        briefdescription:
+          _: "\n    "
+          _MIXED_ELEMENT_MODE: TEXTUAL
+        compoundname: vkvg.h
+        detaileddescription:
+          _: "\n    "
+          _MIXED_ELEMENT_MODE: TEXTUAL
+        id: vkvg_8h
+        incdepgraph:
+          node:
+            - id: 4
+              label: stdbool.h
+            - childnode:
+                - refid: 2
+                  relation: include
+                - refid: 3
+                  relation: include
+                - refid: 4
+                  relation: include
+              id: 1
+              label: include/vkvg.h
+              link:
+                refid: vkvg_8h
+            - id: 2
+              label: vulkan/vulkan.h
+            - id: 3
+              label: math.h
+        includes:
+          - _: vulkan/vulkan.h
+            local: no
+          - _: math.h
+            local: no
+          - _: stdbool.h
+            local: no
+        innerclass:
+          - _: vkvg_color_t
+            prot: public
+            refid: structvkvg__color__t
+          - _: vkvg_matrix_t
+            prot: public
+            refid: structvkvg__matrix__t
+          - _: vkvg_font_extents_t
+            prot: public
+            refid: structvkvg__font__extents__t
+          - _: vkvg_text_extents_t
+            prot: public
+            refid: structvkvg__text__extents__t
+        kind: file
+        language: C++
+        location:
+          file: include/vkvg.h
+        programlisting:
+          codeline:
+            - highlight:
+                - _: /*
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 1
+            - highlight:
+                - _: '*Copyright(c)2018-2019Jean-PhilippeBruyère<jp_bruyere@hotmail.com>'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 2
+            - highlight:
+                - _: '*'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 3
+            - highlight:
+                - _: '*Permissionisherebygranted,freeofcharge,toanypersonobtainingacopyof'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 4
+            - highlight:
+                - _: '*thissoftwareandassociateddocumentationfiles(the"Software"),todealin'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 5
+            - highlight:
+                - _: '*theSoftwarewithoutrestriction,includingwithoutlimitationtherightstouse,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 6
+            - highlight:
+                - _: '*copy,modify,merge,publish,distribute,sublicense,and/orsellcopiesofthe'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 7
+            - highlight:
+                - _: '*Software,andtopermitpersonstowhomtheSoftwareisfurnishedtodoso,subject'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 8
+            - highlight:
+                - _: '*tothefollowingconditions:'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 9
+            - highlight:
+                - _: '*'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 10
+            - highlight:
+                - _: '*Theabovecopyrightnoticeandthispermissionnoticeshallbeincludedinall'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 11
+            - highlight:
+                - _: '*copiesorsubstantialportionsoftheSoftware.'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 12
+            - highlight:
+                - _: '*'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 13
+            - highlight:
+                - _: '*THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 14
+            - highlight:
+                - _: '*IMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOFMERCHANTABILITY,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 15
+            - highlight:
+                - _: '*FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.INNOEVENTSHALLTHE'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 16
+            - highlight:
+                - _: '*AUTHORSORCOPYRIGHTHOLDERSBELIABLEFORANYCLAIM,DAMAGESOROTHER'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 17
+            - highlight:
+                - _: '*LIABILITY,WHETHERINANACTIONOFCONTRACT,TORTOROTHERWISE,ARISINGFROM,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 18
+            - highlight:
+                - _: '*OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOROTHERDEALINGSIN'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 19
+            - highlight:
+                - _: '*THESOFTWARE.'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+              lineno: 20
+            - highlight:
+                - _: '*/'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 21
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#ifndefVKVG_H'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 22
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_H'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 23
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 24
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#ifdef__cplusplus'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 25
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: extern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '"C"'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: stringliteral
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 26
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#endif'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 27
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 28
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#include<vulkan/vulkan.h>'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 29
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#include<math.h>'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 30
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#include<stdbool.h>'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 31
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 32
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_LOG_ERR0x10'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 33
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_LOG_DEBUG0x20'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 34
+              refid: vkvg_8h_1a6664f29e4f38fafb584188235b65718a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_LOG_INFO0x40'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 35
+              refid: vkvg_8h_1a0411814a6919e5df693cf40dcfcbc4e3
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_LOG_INFO_PATH0x41'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 36
+              refid: vkvg_8h_1af9445855626eb75472a91844db51e59e
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_LOG_DBG_ARRAYS0x80'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 37
+              refid: vkvg_8h_1af23f274286a67543b606d4918bc87d9c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_LOG_FULL0xff'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 38
+              refid: vkvg_8h_1a040b130202d4c2e3e1a57dd8837ed919
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 39
+              refid: vkvg_8h_1a13fb664af0ea69bff0f1fbc142b57f60
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#ifdefDEBUG'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 40
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: extern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: uint8_tvkvg_log_level;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 41
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineLOG(level,...)(vkvg_log_level&level)?fprintf(stdout,__VA_ARGS__):true;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 42
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#else'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 43
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineLOG'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 44
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#endif'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 45
+              refid: vkvg_8h_1a159ca84d25a5487d8e81e4438725df19
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 46
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 47
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_SUCCESS=0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 48
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adeea52cf65dc55d26c0ba6824c3245bf
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_NO_MEMORY,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 49
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adca5beade5a3fd84c5e3cb4db65d593e
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_RESTORE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 50
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad38afefc99aa272f5fa31598ddd0aa7f
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_POP_GROUP,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 51
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a0b997f5a2181b315da16057fc152cda6
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_NO_CURRENT_POINT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 52
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae52f6f34a55e63cc48acc0a973c5d454
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_MATRIX,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 53
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a80652ae5261224409e179eef9121e5bd
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_STATUS,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 54
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354af1e2820c9277603041bb2cf1e92b9bcb
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_NULL_POINTER,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 55
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a38d751f65b5ca4aba90ba3695627946c
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_STRING,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 56
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a86d6a05e2fcd115f97a37a28c0d06b31
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_PATH_DATA,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 57
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5c82a93fbd517d5a98098ac7c23fbf90
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_READ_ERROR,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 58
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ace8b60d5e7bc16bf325b330b58c01f18
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_WRITE_ERROR,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 59
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354abbd09c792c0a7f4e25492bc1fd038db6
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_SURFACE_FINISHED,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 60
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a18b2554c65517624cf7425376c1e1bca
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_SURFACE_TYPE_MISMATCH,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 61
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5b97c967996b1d4286225140cb8883ad
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_PATTERN_TYPE_MISMATCH,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 62
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a1e6dcf65d3707ebb3c7aa1b96cf21987
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_CONTENT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 63
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a2a9d2a77d748f8caad3f7ccb44e2a1bc
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_FORMAT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 64
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354aac1f7c1ddaf47f1ef79695e901d718f1
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_VISUAL,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 65
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad620e357ff26af8b1adb6215406b3b14
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_FILE_NOT_FOUND,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 66
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae26847e7ea42867a9ae851b2b3a976a4
+              refkind: member
+            - highlight:
+                - _: 'VKVG_STATUS_INVALID_DASH,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 67
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad171c132ea43395b0a748c63b99f55d9
+              refkind: member
+            - highlight:
+                - _: VKVG_STAtUS_NOT_ENOUGH_POINTS_TO_CLOSE_PATH
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 68
+            - highlight:
+                - _: '}vkvg_status_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 69
+              refid: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ac774981b96eba5a3e20fea9d23dd631c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 70
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 71
+              refid: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995
+              refkind: member
+            - highlight:
+                - _: 'VKVG_HORIZONTAL=0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 72
+              refid: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995aaa62739c1a76e107fba227dffd6b8199
+              refkind: member
+            - highlight:
+                - _: VKVG_VERTICAL=1
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 73
+            - highlight:
+                - _: '}vkvg_direction_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 74
+              refid: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995a288489ba8f506ba72415b35e86e5f332
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 75
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 76
+              refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FORMAT_ARGB32,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 77
+              refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a51e8f390b02e7117cb6bded3df1bc609
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FORMAT_RGB24,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 78
+              refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5aca9496af53332389ea1c579becfff146
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FORMAT_A8,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 79
+              refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a1fc395bec4fab5baf6a8e9d12c48f91b
+              refkind: member
+            - highlight:
+                - _: VKVG_FORMAT_A1
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 80
+            - highlight:
+                - _: '}vkvg_format_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 81
+              refid: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a41129f80cde1638c50336775ec6059f1
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 82
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 83
+              refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40
+              refkind: member
+            - highlight:
+                - _: 'VKVG_EXTEND_NONE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 84
+              refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a016c184949340ded7cab8cc3ebebee8f
+              refkind: member
+            - highlight:
+                - _: 'VKVG_EXTEND_REPEAT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 85
+              refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a7f0a3a3c71705d13270039ced36036c0
+              refkind: member
+            - highlight:
+                - _: 'VKVG_EXTEND_REFLECT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 86
+              refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40ad3e0f41a1a2af562e7538657d6611832
+              refkind: member
+            - highlight:
+                - _: VKVG_EXTEND_PAD
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 87
+            - highlight:
+                - _: '}vkvg_extend_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 88
+              refid: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a2fbaf3043fce97d14bcfaad9f2dc0a1c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 89
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 90
+              refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FILTER_FAST,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 91
+              refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a227895a3ffbd082c7f779c6c9ca7d76c
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FILTER_GOOD,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 92
+              refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a63f51bfec03cdca07fdfe9d718f3a75f
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FILTER_BEST,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 93
+              refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a00cb91e4e5cc8a0bc88ff1b8ab8fc8c0
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FILTER_NEAREST,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 94
+              refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a51346835be4c9cafb1b033ec6cae5754
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FILTER_BILINEAR,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 95
+              refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a680a8fce657583362e33bdb2d97d3238
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FILTER_GAUSSIAN,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 96
+              refid: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a3469ff42e4e804cf5b362eb2787b2654
+              refkind: member
+            - highlight:
+                - _: '}vkvg_filter_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 97
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 98
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 99
+              refid: vkvg_8h_1a1cde27798744c6485ac522a843017513
+              refkind: member
+            - highlight:
+                - _: 'VKVG_PATTERN_TYPE_SOLID,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 100
+              refid: vkvg_8h_1a1cde27798744c6485ac522a843017513aeb9d4daba143ba603f114c3805ab4fa4
+              refkind: member
+            - highlight:
+                - _: 'VKVG_PATTERN_TYPE_SURFACE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 101
+              refid: vkvg_8h_1a1cde27798744c6485ac522a843017513a8396d15ca456c54a268bdc464107e5db
+              refkind: member
+            - highlight:
+                - _: 'VKVG_PATTERN_TYPE_LINEAR,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 102
+              refid: vkvg_8h_1a1cde27798744c6485ac522a843017513a4aff9ccbec5d272981c596474adb5386
+              refkind: member
+            - highlight:
+                - _: 'VKVG_PATTERN_TYPE_RADIAL,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 103
+              refid: vkvg_8h_1a1cde27798744c6485ac522a843017513abac29bd75596cb8af065aa02a1aa34e4
+              refkind: member
+            - highlight:
+                - _: 'VKVG_PATTERN_TYPE_MESH,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 104
+              refid: vkvg_8h_1a1cde27798744c6485ac522a843017513a926565c0b987eed62e76eca261151ee5
+              refkind: member
+            - highlight:
+                - _: 'VKVG_PATTERN_TYPE_RASTER_SOURCE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 105
+              refid: vkvg_8h_1a1cde27798744c6485ac522a843017513ae30ae9f2771df088bc24886fd42fc037
+              refkind: member
+            - highlight:
+                - _: '}vkvg_pattern_type_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 106
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 107
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 108
+              refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0
+              refkind: member
+            - highlight:
+                - _: 'VKVG_LINE_CAP_BUTT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 109
+              refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a89ac22c56380187ec32463602a864f7b
+              refkind: member
+            - highlight:
+                - _: 'VKVG_LINE_CAP_ROUND,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 110
+              refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a803bf47b2bc042a98c2f1cf2b6543519
+              refkind: member
+            - highlight:
+                - _: VKVG_LINE_CAP_SQUARE
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 111
+            - highlight:
+                - _: '}vkvg_line_cap_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 112
+              refid: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a3fca82a7ac5b5ef3355775c79d4adb45
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 113
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 114
+              refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d
+              refkind: member
+            - highlight:
+                - _: 'VKVG_LINE_JOIN_MITER,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 115
+              refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da87107f3a4b3dcbabeb57102b2fb3a311
+              refkind: member
+            - highlight:
+                - _: 'VKVG_LINE_JOIN_ROUND,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 116
+              refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da5f2989d8df5882d66a907ad8d70a3e3c
+              refkind: member
+            - highlight:
+                - _: VKVG_LINE_JOIN_BEVEL
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 117
+            - highlight:
+                - _: '}vkvg_line_join_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 118
+              refid: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da83710d8d86be990e5d057a109a559d83
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 119
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 120
+              refid: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6
+              refkind: member
+            - highlight:
+                - _: 'VKVG_FILL_RULE_EVEN_ODD,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 121
+              refid: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6ada97bad79f6371820b82472e0ff49fe7
+              refkind: member
+            - highlight:
+                - _: VKVG_FILL_RULE_NON_ZERO
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 122
+            - highlight:
+                - _: '}vkvg_fill_rule_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 123
+              refid: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6a799b8a88417c80da02d1d52d8e62a43d
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 124
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 125
+              refid: structvkvg__color__t
+              refkind: compound
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: r;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 126
+              refid: structvkvg__color__t_1a4788d82c901b9367dd5c0daff8a7616b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: g;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 127
+              refid: structvkvg__color__t_1a8cf17d727651616de6f2b79ef32170cd
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: b;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 128
+              refid: structvkvg__color__t_1a83fc1af92e29717b4513d121b0c72c7d
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: a;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 129
+              refid: structvkvg__color__t_1a4aec1a5be9d9a4a394a2e49e9744286e
+              refkind: member
+            - highlight:
+                - _: '}vkvg_color_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 130
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 131
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#defineVKVG_IDENTITY_MATRIX{1,0,0,1,0,0}'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 132
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 133
+              refid: vkvg_8h_1a7a14d8e9fafcb47df7b52731622a15a3
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 134
+              refid: structvkvg__matrix__t
+              refkind: compound
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: xx;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: yx;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 135
+              refid: structvkvg__matrix__t_1a8e1608facba0c31efe99d65811fab570
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: xy;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: yy;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 136
+              refid: structvkvg__matrix__t_1a342cbf7f29a65a0d1a2949ef4675008e
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: x0;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y0;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 137
+              refid: structvkvg__matrix__t_1adf19b8ba42d497d3093c3a51b1a32cca
+              refkind: member
+            - highlight:
+                - _: '}vkvg_matrix_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 138
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 139
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 140
+              refid: structvkvg__font__extents__t
+              refkind: compound
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: ascent;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 141
+              refid: structvkvg__font__extents__t_1a31ebc425eeae55d11acd591bb46dd468
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: descent;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 142
+              refid: structvkvg__font__extents__t_1a5984964357202018e67f64fd879af95b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: height;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 143
+              refid: structvkvg__font__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: max_x_advance;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 144
+              refid: structvkvg__font__extents__t_1afef09feed3e6d406a79a4654bbfdf32e
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: max_y_advance;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 145
+              refid: structvkvg__font__extents__t_1a5a74d8c1db44409b96daa190fce554b1
+              refkind: member
+            - highlight:
+                - _: '}vkvg_font_extents_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 146
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 147
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 148
+              refid: structvkvg__text__extents__t
+              refkind: compound
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: x_bearing;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 149
+              refid: structvkvg__text__extents__t_1a36152a2d5302d6860e555e77a4a8b456
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y_bearing;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 150
+              refid: structvkvg__text__extents__t_1adb121426957cb2c536d442cb6fd1c90f
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: width;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 151
+              refid: structvkvg__text__extents__t_1ae426f00e82704fa09578f5446e22d915
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: height;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 152
+              refid: structvkvg__text__extents__t_1a48083b65ac9a863566dc3e3fff09a5b4
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: x_advance;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 153
+              refid: structvkvg__text__extents__t_1ae83c02c42c97888eca5532a98ed4e2e4
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y_advance;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 154
+              refid: structvkvg__text__extents__t_1a35b39603f2d8ae8c01b5cb9dfbfd20d3
+              refkind: member
+            - highlight:
+                - _: '}vkvg_text_extents_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 155
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 156
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: _vkvg_text_run_t*VkvgText;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 157
+              refid: vkvg_8h_1a4371df2f82cabd4963d913a094a06b35
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 158
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: _vkvg_context_t*VkvgContext;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 159
+              refid: vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: _vkvg_surface_t*VkvgSurface;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 160
+              refid: vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: _vkvg_device_t*VkvgDevice;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 161
+              refid: vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: _vkvg_pattern_t*VkvgPattern;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 162
+              refid: vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 163
+            - highlight:
+                - _: 'VkvgDevicevkvg_device_create(VkInstanceinst,VkPhysicalDevicephy,VkDevicevkdev,uint32_tqFamIdx,uint32_tqIndex);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 164
+              refid: vkvg_8h_1a350ccc17b18af2ae47138c169edf4d0d
+              refkind: member
+            - highlight:
+                - _: 'VkvgDevicevkvg_device_create_multisample(VkInstanceinst,VkPhysicalDevicephy,VkDevicevkdev,uint32_tqFamIdx,uint32_tqIndex,VkSampleCountFlagssamples,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: bool
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: deferredResolve);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 165
+              refid: vkvg_8h_1a055e4085fc23e7a95d3081f59c7ef66a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_device_destroy(VkvgDevicedev);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 166
+              refid: vkvg_8h_1a2aaf6df4810242a7ba61d1cc22dda83d
+              refkind: member
+            - highlight:
+                - _: VkvgDevicevkvg_device_reference(VkvgDevicedev);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 167
+              refid: vkvg_8h_1a3fbc07e9e6fa4e97dd0857b58e66a916
+              refkind: member
+            - highlight:
+                - _: uint32_tvkvg_device_get_reference_count(VkvgDevicedev);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 168
+              refid: vkvg_8h_1af8fba0b5d5588ef33326e874bd25a4c1
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_device_set_dpy(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: int
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'hdpy,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: int
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vdpy);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 169
+              refid: vkvg_8h_1a67fe3cfb43415cc557c3c6f2dad1990b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_device_get_dpy(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: int
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*hdpy,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: int
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*vdpy);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 170
+              refid: vkvg_8h_1a629ad9c736d5e7936529aadbfc202c53
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 171
+            - highlight:
+                - _: 'VkvgSurfacevkvg_surface_create(VkvgDevicedev,uint32_twidth,uint32_theight);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 172
+              refid: vkvg_8h_1ac60a50a2726621c5bc3c99b9810ad627
+              refkind: member
+            - highlight:
+                - _: 'VkvgSurfacevkvg_surface_create_from_image(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*filePath);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 173
+              refid: vkvg_8h_1ab8ea522885d2768088a15f91bfcd3139
+              refkind: member
+            - highlight:
+                - _: 'VkvgSurfacevkvg_surface_create_from_svg(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*filePath);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 174
+              refid: vkvg_8h_1acc1786f9608880df323b46ebac50733a
+              refkind: member
+            - highlight:
+                - _: 'VkvgSurfacevkvg_surface_create_from_svg_fragment(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*fragment);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 175
+              refid: vkvg_8h_1a98368f0e89ad91fba6ba763f9e6f7d27
+              refkind: member
+            - highlight:
+                - _: 'VkvgSurfacevkvg_surface_create_for_VkhImage(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*vkhImg);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 176
+              refid: vkvg_8h_1aedc4e2964cf5c9a9c004d2874d73addb
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '//VkvgSurfacevkvg_surface_create_from_bitmap(VkvgDevicedev,unsignedchar*img,uint32_twidth,uint32_theight);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 177
+            - highlight:
+                - _: VkvgSurfacevkvg_surface_reference(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 178
+              refid: vkvg_8h_1a22a2d413efceb83249e2b4348fe58345
+              refkind: member
+            - highlight:
+                - _: uint32_tvkvg_surface_get_reference_count(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 179
+              refid: vkvg_8h_1af4a177cd4af529d4ff1fce0b9e3cba12
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 180
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_surface_destroy(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 181
+              refid: vkvg_8h_1a4fb66c2cbbebddae0c0b8f69d13325e9
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_surface_clear(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 182
+              refid: vkvg_8h_1ad43c411887c5c5bf60daeb62d05af0eb
+              refkind: member
+            - highlight:
+                - _: VkImagevkvg_surface_get_vk_image(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 183
+              refid: vkvg_8h_1a52d86147f436de7d2e138bcb4ee6015c
+              refkind: member
+            - highlight:
+                - _: VkFormatvkvg_surface_get_vk_format(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 184
+              refid: vkvg_8h_1a51e2017f312896befb7e3a841d5542c5
+              refkind: member
+            - highlight:
+                - _: uint32_tvkvg_surface_get_width(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 185
+              refid: vkvg_8h_1abbb66e36ee4d187485b0ef4bba8780f3
+              refkind: member
+            - highlight:
+                - _: uint32_tvkvg_surface_get_height(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 186
+              refid: vkvg_8h_1a52b10b4864ebba4dd2ce0edc0ed7e9b3
+              refkind: member
+            - highlight:
+                - _: VkImagevkvg_surface_get_vkh_image(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 187
+              refid: vkvg_8h_1ad6f4d9e10a156088df4cebbe82c5b650
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_surface_write_to_png(VkvgSurfacesurf,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*path);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 188
+              refid: vkvg_8h_1adcc851f311810c7827e75a3acd51cf2a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_multisample_surface_resolve(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 189
+              refid: vkvg_8h_1a81a31187710d44e3df99da2b95335181
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 190
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: //nsvginterfaceforeasysvgdrawing
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 191
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: struct
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: NSVGimageNSVGimage;
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 192
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 193
+            - highlight:
+                - _: 'NSVGimage*nsvg_load_file(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*filePath);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 194
+              refid: vkvg_8h_1a867f678630642e488d84c8d427c7f7fe
+              refkind: member
+            - highlight:
+                - _: 'NSVGimage*nsvg_load(VkvgDevicedev,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*fragment);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 195
+              refid: vkvg_8h_1a827869f4fa022b99c91e884705abb1de
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: nsvg_destroy(NSVGimage*svg);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 196
+              refid: vkvg_8h_1ad77975be665a6d9c559346c2a3baca71
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'nsvg_get_size(NSVGimage*svg,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: int
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*width,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: int
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*height);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 197
+              refid: vkvg_8h_1aa25f73cd7894c62393aa5cd94609137d
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_render_svg(VkvgContextctx,NSVGimage*svg,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*subId);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 198
+              refid: vkvg_8h_1a6eb760e09504a0282dac8b431f9182b3
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 199
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 200
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '//mimicfromcairo,tofacilitateusageofvkvgascairovulkanbackend'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 201
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: typedef
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: enum
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: '_vkvg_operator{'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 202
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_CLEAR,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 203
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7af999d0306d40ea662520ee32b7c366
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 204
+            - highlight:
+                - _: 'VKVG_OPERATOR_SOURCE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 205
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab3cee330e9692a3ff88897172616572d
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_OVER,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 206
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4dfe6b31014d9176eb6b7a7aa3d385b9
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_IN,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 207
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87abbbc4a76b4369d28e2403865e00f2924
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_OUT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 208
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a1e3ea4b353149b5542c03ea976dcecc9
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_ATOP,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 209
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab31e8813929c80d7695a9ec8faacdc2e
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 210
+            - highlight:
+                - _: 'VKVG_OPERATOR_DEST,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 211
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae7942f26d9811ae695fa9039a25185ac
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_DEST_OVER,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 212
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a31ab931279fff91ed1fdd0c3922f2efc
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_DEST_IN,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 213
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acf76935b165c60b02bf712bfb0db490e
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_DEST_OUT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 214
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acfa2bd450283e3cad02adf315d468929
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_DEST_ATOP,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 215
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4457938db69a0be5c966afe1416c4114
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 216
+            - highlight:
+                - _: 'VKVG_OPERATOR_XOR,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 217
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af6aedbb6e0b1dba8d1962e42fe952e2d
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_ADD,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 218
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72fe713a46b0c95d3a18ea0caaa9f29b
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_SATURATE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 219
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7b0833925f83ff58e512027e42f80a0d
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 220
+            - highlight:
+                - _: 'VKVG_OPERATOR_MULTIPLY,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 221
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4c3f2838289c96f9a6bb3271610eb3e9
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_SCREEN,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 222
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a041f32ac411d0ee92ee45515fe421eed
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_OVERLAY,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 223
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87afc1665244ce692e3567acdac34360075
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_DARKEN,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 224
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a68d84ef832f80cfa3fca0ba2aa72b08a
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_LIGHTEN,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 225
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af21ede6af7733c9392d78d31c6b1b20f
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_COLOR_DODGE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 226
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a8d580f3ec35b024b64b7ac975064fe36
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_COLOR_BURN,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 227
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a5c8b3fd21aaa197283ccceaf560230cd
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_HARD_LIGHT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 228
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a83357143445067cb70b2b9b460b61432
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_SOFT_LIGHT,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 229
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ac935a73f1ee61c8a264f08a39f80f3f7
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_DIFFERENCE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 230
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab391cf4ab11c3654ac15df0e573ecc78
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_EXCLUSION,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 231
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72050d7bef560659ad20f4b881a262cd
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_HSL_HUE,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 232
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae37e0c8cdc8c925a1bc40a89619dca26
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_HSL_SATURATION,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 233
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87aad77d61118360c77d67576ba93aa7dc5
+              refkind: member
+            - highlight:
+                - _: 'VKVG_OPERATOR_HSL_COLOR,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 234
+              refid: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a6afb07f344d2eb38a17316a1fd6dc3b9
+              refkind: member
+            - highlight:
+                - _: VKVG_OPERATOR_HSL_LUMINOSITY
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 235
+            - highlight:
+                - _: '}vkvg_operator_t;'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 236
+              refid: vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 237
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: /*Context*/
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 238
+            - highlight:
+                - _: VkvgContextvkvg_create(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 239
+              refid: vkvg_8h_1ab276844a1cbcb7e666997d78ba305aa7
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_destroy(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 240
+              refid: vkvg_8h_1a0e0bba5a28e7e264e8b265789b35cef5
+              refkind: member
+            - highlight:
+                - _: VkvgContextvkvg_reference(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 241
+              refid: vkvg_8h_1ae855f56bde644560f5025d09c834a55c
+              refkind: member
+            - highlight:
+                - _: uint32_tvkvg_get_reference_count(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 242
+              refid: vkvg_8h_1a0b8f1aabb13f0a25b195fc28153eb821
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 243
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_flush(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 244
+              refid: vkvg_8h_1aca4d2b86c75bdf3f07add4a48d861b5f
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 245
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_new_path(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 246
+              refid: vkvg_8h_1a92d2ddcda9b53c6dbd352c31a84b6dfb
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_close_path(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 247
+              refid: vkvg_8h_1af7a96ef43fd8721ad82c296e96b1a89a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_new_sub_path(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 248
+              refid: vkvg_8h_1ad4df2d61a5e1ed43ceb89b5cb908f09c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_line_to(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 249
+              refid: vkvg_8h_1a7fdda8e84e6cc77dc30be427087f597d
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_rel_line_to(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 250
+              refid: vkvg_8h_1afa0cae5af951c82a48470d530df9d7ff
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_move_to(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 251
+              refid: vkvg_8h_1aa9a27bece5bbd278921c6cba623b2c63
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_rel_move_to(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 252
+              refid: vkvg_8h_1ac7853e3949a804d682a856bfbd77312b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_arc(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'xc,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'yc,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'radius,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'a1,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: a2);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 253
+              refid: vkvg_8h_1ac068112f830a390f6b1ea52817d0fa6b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_arc_negative(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'xc,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'yc,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'radius,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'a1,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: a2);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 254
+              refid: vkvg_8h_1a81af95aa15f5d5c54e42143183a4bf9b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_curve_to(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x1,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'y1,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x2,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'y2,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x3,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y3);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 255
+              refid: vkvg_8h_1aaef505547efbf0dac08363c29aa6d5fc
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_rectangle(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'y,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'w,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: h);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 256
+              refid: vkvg_8h_1a9e89a82994312cc6f29d86f7f24538d6
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_fill_rectangle(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'y,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'w,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: h);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 257
+              refid: vkvg_8h_1a17aea0f2bcc09b2187fc6b1055c26dd3
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_stroke(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 258
+              refid: vkvg_8h_1a74bf1033a534dab1a320e95dc7dea157
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_stroke_preserve(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 259
+              refid: vkvg_8h_1aa2ed6dc1512777dd5ccad6aeb1dda7f4
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_fill(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 260
+              refid: vkvg_8h_1a514541817d323e89f66069362bb8611d
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_fill_preserve(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 261
+              refid: vkvg_8h_1ab1fa94f07caed2355f289efe9ad5b920
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_paint(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 262
+              refid: vkvg_8h_1a8962c8af0aecbee767a3ca60e224cd8b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_clear(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: //usevkClearAttachmenttospeedupclearingsurf
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 263
+              refid: vkvg_8h_1af8ce78ae7fa4269a2a3c1c54ad2c58dd
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_reset_clip(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 264
+              refid: vkvg_8h_1acc55b53318df7aa0fbb0d2a8ad62a7de
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_clip(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 265
+              refid: vkvg_8h_1a1377398c35756811e602cb1f62a3666a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_clip_preserve(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 266
+              refid: vkvg_8h_1af4f41865696063157dcccc49826c7542
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_source_rgba(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'r,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'g,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'b,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: a);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 267
+              refid: vkvg_8h_1a74613bc604a761da3f8a5f3a05588837
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_source_rgb(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'r,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'g,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: b);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 268
+              refid: vkvg_8h_1a747c8ae1a645947fd918d5ac54b97a5a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_line_width(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: width);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 269
+              refid: vkvg_8h_1ac159a4f21cb08f34c01e9a424b2a146b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_line_cap(VkvgContextctx,vkvg_line_cap_tcap);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 270
+              refid: vkvg_8h_1acac211b9ddc47b13c9ad7887db491bd8
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_line_join(VkvgContextctx,vkvg_line_join_tjoin);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 271
+              refid: vkvg_8h_1a5b49660d94b802be40975417e7d963f3
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_source_surface(VkvgContextctx,VkvgSurfacesurf,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 272
+              refid: vkvg_8h_1a449bf4b084310edb22aacf4ffba7d8da
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_source(VkvgContextctx,VkvgPatternpat);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 273
+              refid: vkvg_8h_1a3d85796d4747860d13263be493d33ef9
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_operator(VkvgContextctx,vkvg_operator_top);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 274
+              refid: vkvg_8h_1a77655256b5a06027abf60cb6eb561c1e
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_fill_rule(VkvgContextctx,vkvg_fill_rule_tfr);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 275
+              refid: vkvg_8h_1a305378530707a0e8436d068e919d15bf
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 276
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_dash(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*dashes,uint32_tnum_dashes,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: offset);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 277
+              refid: vkvg_8h_1a0cba8dfc3b4340e70820abba3c26c07b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_get_dash(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*dashes,uint32_t*num_dashes,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*offset);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 278
+              refid: vkvg_8h_1a003f578ba25479c16cec0f66161ed0f9
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 279
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_get_line_width(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 280
+              refid: vkvg_8h_1a403922084a3cfecd3ef7e10f764bbd8e
+              refkind: member
+            - highlight:
+                - _: vkvg_line_cap_tvkvg_get_line_cap(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 281
+              refid: vkvg_8h_1aa24335582127d17912b7f0f79e4d760c
+              refkind: member
+            - highlight:
+                - _: vkvg_line_join_tvkvg_get_line_join(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 282
+              refid: vkvg_8h_1a1a425a93c299ea2fe50b80c26d54e65a
+              refkind: member
+            - highlight:
+                - _: vkvg_operator_tvkvg_get_operator(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 283
+              refid: vkvg_8h_1ac525aec4976320d2bac91a16cf1d84f8
+              refkind: member
+            - highlight:
+                - _: vkvg_fill_rule_tvkvg_get_fill_rule(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 284
+              refid: vkvg_8h_1ad628d092e9fae6f1c9dc8c2ae6c96b35
+              refkind: member
+            - highlight:
+                - _: VkvgPatternvkvg_get_source(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 285
+              refid: vkvg_8h_1af86035c0d1696a504aec94572d218415
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 286
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_save(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 287
+              refid: vkvg_8h_1ac03501474a0d7c9ba002fd5b7b9d7aa5
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_restore(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 288
+              refid: vkvg_8h_1a1f8f22f05ba71be6344787c7c52caf3b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 289
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_translate(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'dx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: dy);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 290
+              refid: vkvg_8h_1a71761d954c4f84161d889f1a3c3bf3b3
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_scale(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'sx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: sy);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 291
+              refid: vkvg_8h_1a8da1de941ca7b4657298fc15d1814a4c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_rotate(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: radians);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 292
+              refid: vkvg_8h_1aeb22a279fa51368ade2094303f729537
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_transform(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: vkvg_matrix_t*matrix);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 293
+              refid: vkvg_8h_1a2b63169d9113d74d5549e803d3f4fa9a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_matrix(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: vkvg_matrix_t*matrix);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 294
+              refid: vkvg_8h_1ab56218e5b3ba4020ba68ad5fd3a92ddb
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_get_matrix(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: vkvg_matrix_t*matrix);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 295
+              refid: vkvg_8h_1a6b0a4950733eb9792c24a0571cfbc53b
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_identity_matrix(VkvgContextctx);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 296
+              refid: vkvg_8h_1a07b38d9e2fa6338d765b3ba6f4414a87
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 297
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: //text
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 298
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_select_font_face(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*name);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 299
+              refid: vkvg_8h_1ade858000e4086620a00952a4ccc8744a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_set_font_size(VkvgContextctx,uint32_tsize);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 300
+              refid: vkvg_8h_1ae061587061b992790b315c0df670ec29
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_show_text(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*text);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 301
+              refid: vkvg_8h_1a58c6a51f8964a93e250152fc9e59921f
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_text_extents(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*text,vkvg_text_extents_t*extents);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 302
+              refid: vkvg_8h_1a50d271f7cf08e066489566cb192ac57c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_font_extents(VkvgContextctx,vkvg_font_extents_t*extents);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 303
+              refid: vkvg_8h_1abcf41a619deeaf1fab72bc5c4e5ecf99
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 304
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '//textrunholdsharfbuzdatas,andpreventrecreatingthemmultipletimesforthesamelineoftext.'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 305
+            - highlight:
+                - _: 'VkvgTextvkvg_text_run_create(VkvgContextctx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: char
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*text);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 306
+              refid: vkvg_8h_1a5a15641547545beb6c2fa99903713768
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_text_run_destroy(VkvgTexttextRun);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 307
+              refid: vkvg_8h_1a23dc80671fff96c1f2390f03ea3230be
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_show_text_run(VkvgContextctx,VkvgTexttextRun);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 308
+              refid: vkvg_8h_1a1d8a8c6dea5e354b3f951ae980042c3a
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_text_run_get_extents(VkvgTexttextRun,vkvg_text_extents_t*extents);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 309
+              refid: vkvg_8h_1ae7a8c7696c515cdfa1a59d4fe0ca12e8
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 310
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: //pattern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 311
+            - highlight:
+                - _: VkvgPatternvkvg_pattern_reference(VkvgPatternpat);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 312
+              refid: vkvg_8h_1a3bc1cde4ef93d5b8e87870f35240cbc2
+              refkind: member
+            - highlight:
+                - _: uint32_tvkvg_pattern_get_reference_count(VkvgPatternpat);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 313
+              refid: vkvg_8h_1a666342d39a4227e8b1d2ecbc1eaad3e9
+              refkind: member
+            - highlight:
+                - _: VkvgPatternvkvg_pattern_create_for_surface(VkvgSurfacesurf);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 314
+              refid: vkvg_8h_1ae5284a7f3f6241d3c5b9012dc145dfcb
+              refkind: member
+            - highlight:
+                - _: VkvgPatternvkvg_pattern_create_linear(
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'y0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x1,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y1);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 315
+              refid: vkvg_8h_1ac14405c0e08f8cae0013d179a5c15308
+              refkind: member
+            - highlight:
+                - _: VkvgPatternvkvg_pattern_create_radial(
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'cx0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'cy0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'radius0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 316
+              refid: vkvg_8h_1a19e3b3fde4351d70e052030508bed667
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'cx1,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'cy1,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: radius1);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 317
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_pattern_destroy(VkvgPatternpat);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 318
+              refid: vkvg_8h_1aee2652254686507f28dfcf598db894c4
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 319
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_pattern_add_color_stop(VkvgPatternpat,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'offset,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'r,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'g,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'b,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: a);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 320
+              refid: vkvg_8h_1a058bcc558c988254da9309006a30ed35
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_pattern_set_extend(VkvgPatternpat,vkvg_extend_textend);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 321
+              refid: vkvg_8h_1a29fe6b4335fe0352c5d7ea5804ba45e9
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_pattern_set_filter(VkvgPatternpat,vkvg_filter_tfilter);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 322
+              refid: vkvg_8h_1ad2d8a91e379b5d39ae9c066380ae95f2
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 323
+            - highlight:
+                - _: vkvg_extend_tvkvg_pattern_get_extend(VkvgPatternpat);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 324
+              refid: vkvg_8h_1af89e3a8ba79ac27840b4394d9f503459
+              refkind: member
+            - highlight:
+                - _: vkvg_filter_tvkvg_pattern_get_filter(VkvgPatternpat);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 325
+              refid: vkvg_8h_1aea43689bc6fa9fff1e1ab557b45bbc9f
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 326
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: //matrix
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: comment
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 327
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_matrix_init_identity(vkvg_matrix_t*matrix);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 328
+              refid: vkvg_8h_1a60cff46b3741569d302c19226b5f7340
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_init(vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 329
+              refid: vkvg_8h_1adfb1c02e17804239c8a8f1c2f0f8a374
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'xx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'yx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 330
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'xy,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'yy,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 331
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'x0,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: y0);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 332
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_init_translate(vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'tx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: ty);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 333
+              refid: vkvg_8h_1a471448472d025facf479dc1fbaa6f102
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_init_scale(vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'sx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: sy);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 334
+              refid: vkvg_8h_1a824fa84193b12ef36fd11316b52edfb9
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_init_rotate(vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: radians);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 335
+              refid: vkvg_8h_1a7565d3c1202c2aa88d06210e4e880c15
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_translate(vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'tx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: ty);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 336
+              refid: vkvg_8h_1aa9cd565c5f9ad461d8ece37459c5757c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_scale(vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'sx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: sy);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 337
+              refid: vkvg_8h_1a2af9ac82c85388031d206e5e59b00ab9
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_rotate(vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: radians);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 338
+              refid: vkvg_8h_1a00b8f362ab4e337c2ec219dbee840a76
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: 'vkvg_matrix_multiply(vkvg_matrix_t*result,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: 'vkvg_matrix_t*a,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: vkvg_matrix_t*b);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 339
+              refid: vkvg_8h_1a696338f6b5986e8cde51cab3bd6f2050
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_matrix_transform_distance(
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: 'vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*dx,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*dy);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 340
+              refid: vkvg_8h_1aef5dcf4dab69857a4516cfa3770a6201
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_matrix_transform_point(
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: const
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keyword
+                - _: 'vkvg_matrix_t*matrix,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*x,'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: '*y);'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 341
+              refid: vkvg_8h_1aa329c7a6282aa4eb6f39b8bcc9547c1c
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: keywordtype
+                - _: vkvg_matrix_invert(vkvg_matrix_t*matrix);
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 342
+              refid: vkvg_8h_1ad1b8dec7b489b777fa76f09ef605b3f6
+              refkind: member
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 343
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#ifdef__cplusplus'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 344
+            - highlight:
+                - _: '}'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 345
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#endif'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 346
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+              lineno: 347
+            - highlight:
+                - _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: normal
+                - _: '#endif'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                  class: preprocessor
+              lineno: 348
+        sectiondef:
+          - kind: define
+            memberdef:
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a6664f29e4f38fafb584188235b65718a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                initializer:
+                  _: 0x10
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 33
+                  column: 9
+                  file: include/vkvg.h
+                  line: 33
+                name: VKVG_LOG_ERR
+                prot: public
+                static: no
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a0411814a6919e5df693cf40dcfcbc4e3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                initializer:
+                  _: 0x20
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 34
+                  column: 9
+                  file: include/vkvg.h
+                  line: 34
+                name: VKVG_LOG_DEBUG
+                prot: public
+                static: no
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1af9445855626eb75472a91844db51e59e
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                initializer:
+                  _: 0x40
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 35
+                  column: 9
+                  file: include/vkvg.h
+                  line: 35
+                name: VKVG_LOG_INFO
+                prot: public
+                static: no
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1af23f274286a67543b606d4918bc87d9c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                initializer:
+                  _: 0x41
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 36
+                  column: 9
+                  file: include/vkvg.h
+                  line: 36
+                name: VKVG_LOG_INFO_PATH
+                prot: public
+                static: no
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a040b130202d4c2e3e1a57dd8837ed919
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                initializer:
+                  _: 0x80
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 37
+                  column: 9
+                  file: include/vkvg.h
+                  line: 37
+                name: VKVG_LOG_DBG_ARRAYS
+                prot: public
+                static: no
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a13fb664af0ea69bff0f1fbc142b57f60
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                initializer:
+                  _: 0xff
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 38
+                  column: 9
+                  file: include/vkvg.h
+                  line: 38
+                name: VKVG_LOG_FULL
+                prot: public
+                static: no
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a159ca84d25a5487d8e81e4438725df19
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 44
+                  column: 10
+                  file: include/vkvg.h
+                  line: 44
+                name: LOG
+                prot: public
+                static: no
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a7a14d8e9fafcb47df7b52731622a15a3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                initializer:
+                  _: '{1,0,0,1,0,0}'
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: define
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 132
+                  column: 9
+                  file: include/vkvg.h
+                  line: 132
+                name: VKVG_IDENTITY_MATRIX
+                prot: public
+                static: no
+          - kind: enum
+            memberdef:
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_STATUS_SUCCESS
+                                = 0
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adeea52cf65dc55d26c0ba6824c3245bf
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_NO_MEMORY
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354adca5beade5a3fd84c5e3cb4db65d593e
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_RESTORE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad38afefc99aa272f5fa31598ddd0aa7f
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_POP_GROUP
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a0b997f5a2181b315da16057fc152cda6
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_NO_CURRENT_POINT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae52f6f34a55e63cc48acc0a973c5d454
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_MATRIX
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a80652ae5261224409e179eef9121e5bd
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_STATUS
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354af1e2820c9277603041bb2cf1e92b9bcb
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_NULL_POINTER
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a38d751f65b5ca4aba90ba3695627946c
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_STRING
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a86d6a05e2fcd115f97a37a28c0d06b31
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_PATH_DATA
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5c82a93fbd517d5a98098ac7c23fbf90
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_READ_ERROR
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ace8b60d5e7bc16bf325b330b58c01f18
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_WRITE_ERROR
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354abbd09c792c0a7f4e25492bc1fd038db6
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_SURFACE_FINISHED
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a18b2554c65517624cf7425376c1e1bca
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_SURFACE_TYPE_MISMATCH
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a5b97c967996b1d4286225140cb8883ad
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_PATTERN_TYPE_MISMATCH
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a1e6dcf65d3707ebb3c7aa1b96cf21987
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_CONTENT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354a2a9d2a77d748f8caad3f7ccb44e2a1bc
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_FORMAT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354aac1f7c1ddaf47f1ef79695e901d718f1
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_VISUAL
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad620e357ff26af8b1adb6215406b3b14
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_FILE_NOT_FOUND
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ae26847e7ea42867a9ae851b2b3a976a4
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STATUS_INVALID_DASH
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ad171c132ea43395b0a748c63b99f55d9
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_STAtUS_NOT_ENOUGH_POINTS_TO_CLOSE_PATH
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354ac774981b96eba5a3e20fea9d23dd631c
+                    prot: public
+                id: vkvg_8h_1a0cf53c292fd50abe53343d71673c9354
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 69
+                  bodyfile: include/vkvg.h
+                  bodystart: 47
+                  column: 1
+                  file: include/vkvg.h
+                  line: 47
+                name: vkvg_status_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_HORIZONTAL
+                                = 0
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995aaa62739c1a76e107fba227dffd6b8199
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_VERTICAL
+                                = 1
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995a288489ba8f506ba72415b35e86e5f332
+                    prot: public
+                id: vkvg_8h_1a2d6938aad383b6f91bf6be7164b2a995
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 74
+                  bodyfile: include/vkvg.h
+                  bodystart: 71
+                  column: 1
+                  file: include/vkvg.h
+                  line: 71
+                name: vkvg_direction_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_FORMAT_ARGB32
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a51e8f390b02e7117cb6bded3df1bc609
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FORMAT_RGB24
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5aca9496af53332389ea1c579becfff146
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FORMAT_A8
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a1fc395bec4fab5baf6a8e9d12c48f91b
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FORMAT_A1
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5a41129f80cde1638c50336775ec6059f1
+                    prot: public
+                id: vkvg_8h_1ac8c85e867cfe90bfd43a2b2a75e688c5
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 81
+                  bodyfile: include/vkvg.h
+                  bodystart: 76
+                  column: 1
+                  file: include/vkvg.h
+                  line: 76
+                name: vkvg_format_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_EXTEND_NONE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a016c184949340ded7cab8cc3ebebee8f
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_EXTEND_REPEAT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a7f0a3a3c71705d13270039ced36036c0
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_EXTEND_REFLECT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40ad3e0f41a1a2af562e7538657d6611832
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_EXTEND_PAD
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40a2fbaf3043fce97d14bcfaad9f2dc0a1c
+                    prot: public
+                id: vkvg_8h_1a9e76bb74a68a2e86a709ed7397cf1a40
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 88
+                  bodyfile: include/vkvg.h
+                  bodystart: 83
+                  column: 1
+                  file: include/vkvg.h
+                  line: 83
+                name: vkvg_extend_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_FILTER_FAST
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a227895a3ffbd082c7f779c6c9ca7d76c
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FILTER_GOOD
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a63f51bfec03cdca07fdfe9d718f3a75f
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FILTER_BEST
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a00cb91e4e5cc8a0bc88ff1b8ab8fc8c0
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FILTER_NEAREST
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a51346835be4c9cafb1b033ec6cae5754
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FILTER_BILINEAR
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a680a8fce657583362e33bdb2d97d3238
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FILTER_GAUSSIAN
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5a3469ff42e4e804cf5b362eb2787b2654
+                    prot: public
+                id: vkvg_8h_1adb45e5c6af26000f8dacd091679c0ca5
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 97
+                  bodyfile: include/vkvg.h
+                  bodystart: 90
+                  column: 1
+                  file: include/vkvg.h
+                  line: 90
+                name: vkvg_filter_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_PATTERN_TYPE_SOLID
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a1cde27798744c6485ac522a843017513aeb9d4daba143ba603f114c3805ab4fa4
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_PATTERN_TYPE_SURFACE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a1cde27798744c6485ac522a843017513a8396d15ca456c54a268bdc464107e5db
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_PATTERN_TYPE_LINEAR
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a1cde27798744c6485ac522a843017513a4aff9ccbec5d272981c596474adb5386
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_PATTERN_TYPE_RADIAL
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a1cde27798744c6485ac522a843017513abac29bd75596cb8af065aa02a1aa34e4
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_PATTERN_TYPE_MESH
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a1cde27798744c6485ac522a843017513a926565c0b987eed62e76eca261151ee5
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_PATTERN_TYPE_RASTER_SOURCE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a1cde27798744c6485ac522a843017513ae30ae9f2771df088bc24886fd42fc037
+                    prot: public
+                id: vkvg_8h_1a1cde27798744c6485ac522a843017513
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 106
+                  bodyfile: include/vkvg.h
+                  bodystart: 99
+                  column: 1
+                  file: include/vkvg.h
+                  line: 99
+                name: vkvg_pattern_type_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_LINE_CAP_BUTT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a89ac22c56380187ec32463602a864f7b
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_LINE_CAP_ROUND
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a803bf47b2bc042a98c2f1cf2b6543519
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_LINE_CAP_SQUARE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0a3fca82a7ac5b5ef3355775c79d4adb45
+                    prot: public
+                id: vkvg_8h_1ae63b94eb181f12347450efcc67cbf8f0
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 112
+                  bodyfile: include/vkvg.h
+                  bodystart: 108
+                  column: 1
+                  file: include/vkvg.h
+                  line: 108
+                name: vkvg_line_cap_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_LINE_JOIN_MITER
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da87107f3a4b3dcbabeb57102b2fb3a311
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_LINE_JOIN_ROUND
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da5f2989d8df5882d66a907ad8d70a3e3c
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_LINE_JOIN_BEVEL
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698da83710d8d86be990e5d057a109a559d83
+                    prot: public
+                id: vkvg_8h_1a46afd254ec45cd6ecd9bd3e238b4698d
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 118
+                  bodyfile: include/vkvg.h
+                  bodystart: 114
+                  column: 1
+                  file: include/vkvg.h
+                  line: 114
+                name: vkvg_line_join_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_FILL_RULE_EVEN_ODD
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6ada97bad79f6371820b82472e0ff49fe7
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_FILL_RULE_NON_ZERO
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6a799b8a88417c80da02d1d52d8e62a43d
+                    prot: public
+                id: vkvg_8h_1a71071026a36a7427c364a8bdc9bccfb6
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 123
+                  bodyfile: include/vkvg.h
+                  bodystart: 120
+                  column: 1
+                  file: include/vkvg.h
+                  line: 120
+                name: vkvg_fill_rule_t
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                enumvalue:
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_CLEAR
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7af999d0306d40ea662520ee32b7c366
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_SOURCE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab3cee330e9692a3ff88897172616572d
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_OVER
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4dfe6b31014d9176eb6b7a7aa3d385b9
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_IN
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87abbbc4a76b4369d28e2403865e00f2924
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_OUT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a1e3ea4b353149b5542c03ea976dcecc9
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_ATOP
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab31e8813929c80d7695a9ec8faacdc2e
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_DEST
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae7942f26d9811ae695fa9039a25185ac
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_DEST_OVER
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a31ab931279fff91ed1fdd0c3922f2efc
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_DEST_IN
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acf76935b165c60b02bf712bfb0db490e
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_DEST_OUT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87acfa2bd450283e3cad02adf315d468929
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_DEST_ATOP
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4457938db69a0be5c966afe1416c4114
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_XOR
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af6aedbb6e0b1dba8d1962e42fe952e2d
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_ADD
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72fe713a46b0c95d3a18ea0caaa9f29b
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_SATURATE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a7b0833925f83ff58e512027e42f80a0d
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_MULTIPLY
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a4c3f2838289c96f9a6bb3271610eb3e9
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_SCREEN
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a041f32ac411d0ee92ee45515fe421eed
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_OVERLAY
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87afc1665244ce692e3567acdac34360075
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_DARKEN
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a68d84ef832f80cfa3fca0ba2aa72b08a
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_LIGHTEN
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87af21ede6af7733c9392d78d31c6b1b20f
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_COLOR_DODGE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a8d580f3ec35b024b64b7ac975064fe36
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_COLOR_BURN
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a5c8b3fd21aaa197283ccceaf560230cd
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_HARD_LIGHT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a83357143445067cb70b2b9b460b61432
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_SOFT_LIGHT
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ac935a73f1ee61c8a264f08a39f80f3f7
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_DIFFERENCE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ab391cf4ab11c3654ac15df0e573ecc78
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_EXCLUSION
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a72050d7bef560659ad20f4b881a262cd
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_HSL_HUE
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae37e0c8cdc8c925a1bc40a89619dca26
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_HSL_SATURATION
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87aad77d61118360c77d67576ba93aa7dc5
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_HSL_COLOR
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87a6afb07f344d2eb38a17316a1fd6dc3b9
+                    prot: public
+                  - _: |-2
+                      
+                                VKVG_OPERATOR_HSL_LUMINOSITY
+                                
+                                
+                                
+                                
+                              
+                    _MIXED_ELEMENT_MODE: TEXTUAL
+                    id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87ae49240fcf0dcf3a90430c677eb4c60fe
+                    prot: public
+                id: vkvg_8h_1a174643cdcf32a212dea86b4680e66c87
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: enum
+                location:
+                  bodyend: 236
+                  bodyfile: include/vkvg.h
+                  bodystart: 202
+                  column: 1
+                  file: include/vkvg.h
+                  line: 202
+                name: _vkvg_operator
+                prot: public
+                static: no
+                strong: no
+                type:
+                  _: ''
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+          - kind: typedef
+            memberdef:
+              - argsstring: ''
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                definition: typedef struct _vkvg_text_run_t* VkvgText
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a4371df2f82cabd4963d913a094a06b35
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: typedef
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 157
+                  column: 32
+                  file: include/vkvg.h
+                  line: 157
+                name: VkvgText
+                prot: public
+                static: no
+                type:
+                  _: struct _vkvg_text_run_t *
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - argsstring: ''
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                definition: typedef struct _vkvg_context_t* VkvgContext
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a1027bada0ac47c81c3b0746158c3c5bc
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: typedef
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 159
+                  column: 31
+                  file: include/vkvg.h
+                  line: 159
+                name: VkvgContext
+                prot: public
+                static: no
+                type:
+                  _: struct _vkvg_context_t *
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - argsstring: ''
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                definition: typedef struct _vkvg_surface_t* VkvgSurface
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1af2e9eb0e48dd4533d4a5622c12e4d0e7
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: typedef
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 160
+                  column: 31
+                  file: include/vkvg.h
+                  line: 160
+                name: VkvgSurface
+                prot: public
+                static: no
+                type:
+                  _: struct _vkvg_surface_t *
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - argsstring: ''
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                definition: typedef struct _vkvg_device_t* VkvgDevice
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a4410787cc120fdafe8cdc480a2b02e71
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: typedef
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 161
+                  column: 31
+                  file: include/vkvg.h
+                  line: 161
+                name: VkvgDevice
+                prot: public
+                static: no
+                type:
+                  _: struct _vkvg_device_t *
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - argsstring: ''
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                definition: typedef struct _vkvg_pattern_t* VkvgPattern
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a60d6d8608f15e96a087c8dafd69f28dc
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: typedef
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 162
+                  column: 31
+                  file: include/vkvg.h
+                  line: 162
+                name: VkvgPattern
+                prot: public
+                static: no
+                type:
+                  _: struct _vkvg_pattern_t *
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - argsstring: ''
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                definition: typedef struct NSVGimage NSVGimage
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1ac38a9f52bcbd328323aa3bdec2521f45
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: typedef
+                location:
+                  bodyend: -1
+                  bodyfile: include/vkvg.h
+                  bodystart: 192
+                  column: 13
+                  file: include/vkvg.h
+                  line: 189
+                name: NSVGimage
+                prot: public
+                static: no
+                type:
+                  _: struct NSVGimage
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+              - argsstring: ''
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                definition: typedef enum _vkvg_operator vkvg_operator_t
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                id: vkvg_8h_1a0bd5037a594867fac88f34c5e6e1ba8d
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                kind: typedef
+                location:
+                  column: 17
+                  file: include/vkvg.h
+                  line: 236
+                name: vkvg_operator_t
+                prot: public
+                static: no
+                type:
+                  _: enum _vkvg_operator
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+          - kind: func
+            memberdef:
+              - argsstring: '(VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgDevice vkvg_device_create
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a350ccc17b18af2ae47138c169edf4d0d
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 11
+                  declcolumn: 11
+                  declfile: include/vkvg.h
+                  declline: 164
+                  file: include/vkvg.h
+                  line: 164
+                name: vkvg_device_create
+                param:
+                  - declname: inst
+                    type:
+                      _: VkInstance
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: phy
+                    type:
+                      _: VkPhysicalDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: vkdev
+                    type:
+                      _: VkDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: qFamIdx
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: qIndex
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgDevice
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex, VkSampleCountFlags samples, bool deferredResolve)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgDevice vkvg_device_create_multisample
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a055e4085fc23e7a95d3081f59c7ef66a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 165
+                  file: include/vkvg.h
+                  line: 165
+                name: vkvg_device_create_multisample
+                param:
+                  - declname: inst
+                    type:
+                      _: VkInstance
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: phy
+                    type:
+                      _: VkPhysicalDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: vkdev
+                    type:
+                      _: VkDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: qFamIdx
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: qIndex
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: samples
+                    type:
+                      _: VkSampleCountFlags
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: deferredResolve
+                    type:
+                      _: bool
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgDevice
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgDevice dev)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_device_destroy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a2aaf6df4810242a7ba61d1cc22dda83d
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 5
+                  declcolumn: 5
+                  declfile: include/vkvg.h
+                  declline: 166
+                  file: include/vkvg.h
+                  line: 166
+                name: vkvg_device_destroy
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgDevice dev)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgDevice vkvg_device_reference
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a3fbc07e9e6fa4e97dd0857b58e66a916
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 167
+                  file: include/vkvg.h
+                  line: 167
+                name: vkvg_device_reference
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgDevice
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgDevice dev)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: uint32_t vkvg_device_get_reference_count
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1af8fba0b5d5588ef33326e874bd25a4c1
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 168
+                  file: include/vkvg.h
+                  line: 168
+                name: vkvg_device_get_reference_count
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: uint32_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, int hdpy, int vdpy)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_device_set_dpy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a67fe3cfb43415cc557c3c6f2dad1990b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 169
+                  file: include/vkvg.h
+                  line: 169
+                name: vkvg_device_set_dpy
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: hdpy
+                    type:
+                      _: int
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: vdpy
+                    type:
+                      _: int
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, int *hdpy, int *vdpy)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_device_get_dpy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a629ad9c736d5e7936529aadbfc202c53
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 170
+                  file: include/vkvg.h
+                  line: 170
+                name: vkvg_device_get_dpy
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: hdpy
+                    type:
+                      _: int *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: vdpy
+                    type:
+                      _: int *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, uint32_t width, uint32_t height)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgSurface vkvg_surface_create
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ac60a50a2726621c5bc3c99b9810ad627
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 172
+                  file: include/vkvg.h
+                  line: 172
+                name: vkvg_surface_create
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: width
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: height
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgSurface
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, const char *filePath)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgSurface vkvg_surface_create_from_image
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ab8ea522885d2768088a15f91bfcd3139
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 173
+                  file: include/vkvg.h
+                  line: 173
+                name: vkvg_surface_create_from_image
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: filePath
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgSurface
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, const char *filePath)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgSurface vkvg_surface_create_from_svg
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1acc1786f9608880df323b46ebac50733a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 174
+                  file: include/vkvg.h
+                  line: 174
+                name: vkvg_surface_create_from_svg
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: filePath
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgSurface
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, char *fragment)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgSurface vkvg_surface_create_from_svg_fragment
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a98368f0e89ad91fba6ba763f9e6f7d27
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 175
+                  file: include/vkvg.h
+                  line: 175
+                name: vkvg_surface_create_from_svg_fragment
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: fragment
+                    type:
+                      _: char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgSurface
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, void *vkhImg)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgSurface vkvg_surface_create_for_VkhImage
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aedc4e2964cf5c9a9c004d2874d73addb
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 176
+                  file: include/vkvg.h
+                  line: 176
+                name: vkvg_surface_create_for_VkhImage
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: vkhImg
+                    type:
+                      _: void *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgSurface
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgSurface vkvg_surface_reference
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a22a2d413efceb83249e2b4348fe58345
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 178
+                  file: include/vkvg.h
+                  line: 178
+                name: vkvg_surface_reference
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgSurface
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: uint32_t vkvg_surface_get_reference_count
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1af4a177cd4af529d4ff1fce0b9e3cba12
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 179
+                  file: include/vkvg.h
+                  line: 179
+                name: vkvg_surface_get_reference_count
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: uint32_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_surface_destroy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a4fb66c2cbbebddae0c0b8f69d13325e9
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 5
+                  declcolumn: 5
+                  declfile: include/vkvg.h
+                  declline: 181
+                  file: include/vkvg.h
+                  line: 181
+                name: vkvg_surface_destroy
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_surface_clear
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ad43c411887c5c5bf60daeb62d05af0eb
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 182
+                  file: include/vkvg.h
+                  line: 182
+                name: vkvg_surface_clear
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkImage vkvg_surface_get_vk_image
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a52d86147f436de7d2e138bcb4ee6015c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 8
+                  declcolumn: 8
+                  declfile: include/vkvg.h
+                  declline: 183
+                  file: include/vkvg.h
+                  line: 183
+                name: vkvg_surface_get_vk_image
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkImage
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkFormat vkvg_surface_get_vk_format
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a51e2017f312896befb7e3a841d5542c5
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 9
+                  declcolumn: 9
+                  declfile: include/vkvg.h
+                  declline: 184
+                  file: include/vkvg.h
+                  line: 184
+                name: vkvg_surface_get_vk_format
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkFormat
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: uint32_t vkvg_surface_get_width
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1abbb66e36ee4d187485b0ef4bba8780f3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 12
+                  declcolumn: 12
+                  declfile: include/vkvg.h
+                  declline: 185
+                  file: include/vkvg.h
+                  line: 185
+                name: vkvg_surface_get_width
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: uint32_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: uint32_t vkvg_surface_get_height
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a52b10b4864ebba4dd2ce0edc0ed7e9b3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 9
+                  declcolumn: 9
+                  declfile: include/vkvg.h
+                  declline: 186
+                  file: include/vkvg.h
+                  line: 186
+                name: vkvg_surface_get_height
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: uint32_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkImage vkvg_surface_get_vkh_image
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ad6f4d9e10a156088df4cebbe82c5b650
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 8
+                  declcolumn: 8
+                  declfile: include/vkvg.h
+                  declline: 187
+                  file: include/vkvg.h
+                  line: 187
+                name: vkvg_surface_get_vkh_image
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkImage
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgSurface surf, const char *path)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_surface_write_to_png
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1adcc851f311810c7827e75a3acd51cf2a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 188
+                  file: include/vkvg.h
+                  line: 188
+                name: vkvg_surface_write_to_png
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: path
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_multisample_surface_resolve
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a81a31187710d44e3df99da2b95335181
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 189
+                  file: include/vkvg.h
+                  line: 189
+                name: vkvg_multisample_surface_resolve
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, const char *filePath)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: NSVGimage* nsvg_load_file
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a867f678630642e488d84c8d427c7f7fe
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 12
+                  declcolumn: 12
+                  declfile: include/vkvg.h
+                  declline: 194
+                  file: include/vkvg.h
+                  line: 194
+                name: nsvg_load_file
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: filePath
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: NSVGimage *
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgDevice dev, char *fragment)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: NSVGimage* nsvg_load
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a827869f4fa022b99c91e884705abb1de
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 12
+                  declcolumn: 12
+                  declfile: include/vkvg.h
+                  declline: 195
+                  file: include/vkvg.h
+                  line: 195
+                name: nsvg_load
+                param:
+                  - declname: dev
+                    type:
+                      _: VkvgDevice
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: fragment
+                    type:
+                      _: char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: NSVGimage *
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (NSVGimage *svg)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void nsvg_destroy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ad77975be665a6d9c559346c2a3baca71
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 196
+                  file: include/vkvg.h
+                  line: 196
+                name: nsvg_destroy
+                param:
+                  - declname: svg
+                    type:
+                      _: NSVGimage *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(NSVGimage *svg, int *width, int *height)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void nsvg_get_size
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aa25f73cd7894c62393aa5cd94609137d
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 197
+                  file: include/vkvg.h
+                  line: 197
+                name: nsvg_get_size
+                param:
+                  - declname: svg
+                    type:
+                      _: NSVGimage *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: width
+                    type:
+                      _: int *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: height
+                    type:
+                      _: int *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, NSVGimage *svg, char *subId)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_render_svg
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a6eb760e09504a0282dac8b431f9182b3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 198
+                  file: include/vkvg.h
+                  line: 198
+                name: vkvg_render_svg
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: svg
+                    type:
+                      _: NSVGimage *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: subId
+                    type:
+                      _: char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgContext vkvg_create
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ab276844a1cbcb7e666997d78ba305aa7
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 239
+                  file: include/vkvg.h
+                  line: 239
+                name: vkvg_create
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgContext
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_destroy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a0e0bba5a28e7e264e8b265789b35cef5
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 240
+                  file: include/vkvg.h
+                  line: 240
+                name: vkvg_destroy
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgContext vkvg_reference
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ae855f56bde644560f5025d09c834a55c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 241
+                  file: include/vkvg.h
+                  line: 241
+                name: vkvg_reference
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgContext
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: uint32_t vkvg_get_reference_count
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a0b8f1aabb13f0a25b195fc28153eb821
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 242
+                  file: include/vkvg.h
+                  line: 242
+                name: vkvg_get_reference_count
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: uint32_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_flush
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aca4d2b86c75bdf3f07add4a48d861b5f
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 244
+                  file: include/vkvg.h
+                  line: 244
+                name: vkvg_flush
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_new_path
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a92d2ddcda9b53c6dbd352c31a84b6dfb
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 246
+                  file: include/vkvg.h
+                  line: 246
+                name: vkvg_new_path
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_close_path
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1af7a96ef43fd8721ad82c296e96b1a89a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 247
+                  file: include/vkvg.h
+                  line: 247
+                name: vkvg_close_path
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_new_sub_path
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ad4df2d61a5e1ed43ceb89b5cb908f09c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 248
+                  file: include/vkvg.h
+                  line: 248
+                name: vkvg_new_sub_path
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float x, float y)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_line_to
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a7fdda8e84e6cc77dc30be427087f597d
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 249
+                  file: include/vkvg.h
+                  line: 249
+                name: vkvg_line_to
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float x, float y)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_rel_line_to
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1afa0cae5af951c82a48470d530df9d7ff
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 250
+                  file: include/vkvg.h
+                  line: 250
+                name: vkvg_rel_line_to
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float x, float y)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_move_to
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aa9a27bece5bbd278921c6cba623b2c63
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 251
+                  file: include/vkvg.h
+                  line: 251
+                name: vkvg_move_to
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float x, float y)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_rel_move_to
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ac7853e3949a804d682a856bfbd77312b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 252
+                  file: include/vkvg.h
+                  line: 252
+                name: vkvg_rel_move_to
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float xc, float yc, float radius, float a1, float a2)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_arc
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ac068112f830a390f6b1ea52817d0fa6b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 253
+                  file: include/vkvg.h
+                  line: 253
+                name: vkvg_arc
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: xc
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: yc
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: radius
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: a1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: a2
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float xc, float yc, float radius, float a1, float a2)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_arc_negative
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a81af95aa15f5d5c54e42143183a4bf9b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 254
+                  file: include/vkvg.h
+                  line: 254
+                name: vkvg_arc_negative
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: xc
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: yc
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: radius
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: a1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: a2
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float x1, float y1, float x2, float y2, float x3, float y3)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_curve_to
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aaef505547efbf0dac08363c29aa6d5fc
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 255
+                  file: include/vkvg.h
+                  line: 255
+                name: vkvg_curve_to
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x2
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y2
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x3
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y3
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float x, float y, float w, float h)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_rectangle
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a9e89a82994312cc6f29d86f7f24538d6
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 256
+                  file: include/vkvg.h
+                  line: 256
+                name: vkvg_rectangle
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: w
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: h
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float x, float y, float w, float h)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_fill_rectangle
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a17aea0f2bcc09b2187fc6b1055c26dd3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 257
+                  file: include/vkvg.h
+                  line: 257
+                name: vkvg_fill_rectangle
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: w
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: h
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_stroke
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a74bf1033a534dab1a320e95dc7dea157
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 258
+                  file: include/vkvg.h
+                  line: 258
+                name: vkvg_stroke
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_stroke_preserve
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aa2ed6dc1512777dd5ccad6aeb1dda7f4
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 259
+                  file: include/vkvg.h
+                  line: 259
+                name: vkvg_stroke_preserve
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_fill
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a514541817d323e89f66069362bb8611d
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 260
+                  file: include/vkvg.h
+                  line: 260
+                name: vkvg_fill
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_fill_preserve
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ab1fa94f07caed2355f289efe9ad5b920
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 261
+                  file: include/vkvg.h
+                  line: 261
+                name: vkvg_fill_preserve
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_paint
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a8962c8af0aecbee767a3ca60e224cd8b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 262
+                  file: include/vkvg.h
+                  line: 262
+                name: vkvg_paint
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_clear
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1af8ce78ae7fa4269a2a3c1c54ad2c58dd
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 263
+                  file: include/vkvg.h
+                  line: 263
+                name: vkvg_clear
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_reset_clip
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1acc55b53318df7aa0fbb0d2a8ad62a7de
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 264
+                  file: include/vkvg.h
+                  line: 264
+                name: vkvg_reset_clip
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_clip
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a1377398c35756811e602cb1f62a3666a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 265
+                  file: include/vkvg.h
+                  line: 265
+                name: vkvg_clip
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_clip_preserve
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1af4f41865696063157dcccc49826c7542
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 266
+                  file: include/vkvg.h
+                  line: 266
+                name: vkvg_clip_preserve
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float r, float g, float b, float a)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_source_rgba
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a74613bc604a761da3f8a5f3a05588837
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 267
+                  file: include/vkvg.h
+                  line: 267
+                name: vkvg_set_source_rgba
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: r
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: g
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: b
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: a
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float r, float g, float b)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_source_rgb
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a747c8ae1a645947fd918d5ac54b97a5a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 268
+                  file: include/vkvg.h
+                  line: 268
+                name: vkvg_set_source_rgb
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: r
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: g
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: b
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float width)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_line_width
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ac159a4f21cb08f34c01e9a424b2a146b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 269
+                  file: include/vkvg.h
+                  line: 269
+                name: vkvg_set_line_width
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: width
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, vkvg_line_cap_t cap)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_line_cap
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1acac211b9ddc47b13c9ad7887db491bd8
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 270
+                  file: include/vkvg.h
+                  line: 270
+                name: vkvg_set_line_cap
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: cap
+                    type:
+                      _: vkvg_line_cap_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, vkvg_line_join_t join)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_line_join
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a5b49660d94b802be40975417e7d963f3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 271
+                  file: include/vkvg.h
+                  line: 271
+                name: vkvg_set_line_join
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: join
+                    type:
+                      _: vkvg_line_join_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, VkvgSurface surf, float x, float y)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_source_surface
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a449bf4b084310edb22aacf4ffba7d8da
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 272
+                  file: include/vkvg.h
+                  line: 272
+                name: vkvg_set_source_surface
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, VkvgPattern pat)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_source
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a3d85796d4747860d13263be493d33ef9
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 273
+                  file: include/vkvg.h
+                  line: 273
+                name: vkvg_set_source
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, vkvg_operator_t op)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_operator
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a77655256b5a06027abf60cb6eb561c1e
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 274
+                  file: include/vkvg.h
+                  line: 274
+                name: vkvg_set_operator
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: op
+                    type:
+                      _: vkvg_operator_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, vkvg_fill_rule_t fr)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_fill_rule
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a305378530707a0e8436d068e919d15bf
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 275
+                  file: include/vkvg.h
+                  line: 275
+                name: vkvg_set_fill_rule
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: fr
+                    type:
+                      _: vkvg_fill_rule_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const float *dashes, uint32_t num_dashes, float offset)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_dash
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a0cba8dfc3b4340e70820abba3c26c07b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 277
+                  file: include/vkvg.h
+                  line: 277
+                name: vkvg_set_dash
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: dashes
+                    type:
+                      _: const float *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: num_dashes
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: offset
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const float *dashes, uint32_t *num_dashes, float *offset)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_get_dash
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a003f578ba25479c16cec0f66161ed0f9
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 278
+                  file: include/vkvg.h
+                  line: 278
+                name: vkvg_get_dash
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: dashes
+                    type:
+                      _: const float *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: num_dashes
+                    type:
+                      _: uint32_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: offset
+                    type:
+                      _: float *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: float vkvg_get_line_width
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a403922084a3cfecd3ef7e10f764bbd8e
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 21
+                  declcolumn: 21
+                  declfile: include/vkvg.h
+                  declline: 280
+                  file: include/vkvg.h
+                  line: 280
+                name: vkvg_get_line_width
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: float
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: vkvg_line_cap_t vkvg_get_line_cap
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aa24335582127d17912b7f0f79e4d760c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 21
+                  declcolumn: 21
+                  declfile: include/vkvg.h
+                  declline: 281
+                  file: include/vkvg.h
+                  line: 281
+                name: vkvg_get_line_cap
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: vkvg_line_cap_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: vkvg_line_join_t vkvg_get_line_join
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a1a425a93c299ea2fe50b80c26d54e65a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 21
+                  declcolumn: 21
+                  declfile: include/vkvg.h
+                  declline: 282
+                  file: include/vkvg.h
+                  line: 282
+                name: vkvg_get_line_join
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: vkvg_line_join_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: vkvg_operator_t vkvg_get_operator
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ac525aec4976320d2bac91a16cf1d84f8
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 21
+                  declcolumn: 21
+                  declfile: include/vkvg.h
+                  declline: 283
+                  file: include/vkvg.h
+                  line: 283
+                name: vkvg_get_operator
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: vkvg_operator_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: vkvg_fill_rule_t vkvg_get_fill_rule
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ad628d092e9fae6f1c9dc8c2ae6c96b35
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 21
+                  declcolumn: 21
+                  declfile: include/vkvg.h
+                  declline: 284
+                  file: include/vkvg.h
+                  line: 284
+                name: vkvg_get_fill_rule
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: vkvg_fill_rule_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgPattern vkvg_get_source
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1af86035c0d1696a504aec94572d218415
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 21
+                  declcolumn: 21
+                  declfile: include/vkvg.h
+                  declline: 285
+                  file: include/vkvg.h
+                  line: 285
+                name: vkvg_get_source
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgPattern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_save
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ac03501474a0d7c9ba002fd5b7b9d7aa5
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 287
+                  file: include/vkvg.h
+                  line: 287
+                name: vkvg_save
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_restore
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a1f8f22f05ba71be6344787c7c52caf3b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 288
+                  file: include/vkvg.h
+                  line: 288
+                name: vkvg_restore
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float dx, float dy)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_translate
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a71761d954c4f84161d889f1a3c3bf3b3
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 290
+                  file: include/vkvg.h
+                  line: 290
+                name: vkvg_translate
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: dx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: dy
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float sx, float sy)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_scale
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a8da1de941ca7b4657298fc15d1814a4c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 291
+                  file: include/vkvg.h
+                  line: 291
+                name: vkvg_scale
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: sx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: sy
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, float radians)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_rotate
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aeb22a279fa51368ade2094303f729537
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 292
+                  file: include/vkvg.h
+                  line: 292
+                name: vkvg_rotate
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: radians
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const vkvg_matrix_t *matrix)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_transform
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a2b63169d9113d74d5549e803d3f4fa9a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 293
+                  file: include/vkvg.h
+                  line: 293
+                name: vkvg_transform
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: matrix
+                    type:
+                      _: const vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const vkvg_matrix_t *matrix)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_matrix
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ab56218e5b3ba4020ba68ad5fd3a92ddb
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 294
+                  file: include/vkvg.h
+                  line: 294
+                name: vkvg_set_matrix
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: matrix
+                    type:
+                      _: const vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const vkvg_matrix_t *matrix)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_get_matrix
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a6b0a4950733eb9792c24a0571cfbc53b
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 295
+                  file: include/vkvg.h
+                  line: 295
+                name: vkvg_get_matrix
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: matrix
+                    type:
+                      _: const vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgContext ctx)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_identity_matrix
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a07b38d9e2fa6338d765b3ba6f4414a87
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 296
+                  file: include/vkvg.h
+                  line: 296
+                name: vkvg_identity_matrix
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const char *name)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_select_font_face
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ade858000e4086620a00952a4ccc8744a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 299
+                  file: include/vkvg.h
+                  line: 299
+                name: vkvg_select_font_face
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: name
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, uint32_t size)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_set_font_size
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ae061587061b992790b315c0df670ec29
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 300
+                  file: include/vkvg.h
+                  line: 300
+                name: vkvg_set_font_size
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: size
+                    type:
+                      _: uint32_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const char *text)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_show_text
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a58c6a51f8964a93e250152fc9e59921f
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 301
+                  file: include/vkvg.h
+                  line: 301
+                name: vkvg_show_text
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: text
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const char *text, vkvg_text_extents_t *extents)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_text_extents
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a50d271f7cf08e066489566cb192ac57c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 302
+                  file: include/vkvg.h
+                  line: 302
+                name: vkvg_text_extents
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: text
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: extents
+                    type:
+                      _: vkvg_text_extents_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, vkvg_font_extents_t *extents)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_font_extents
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1abcf41a619deeaf1fab72bc5c4e5ecf99
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 303
+                  file: include/vkvg.h
+                  line: 303
+                name: vkvg_font_extents
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: extents
+                    type:
+                      _: vkvg_font_extents_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, const char *text)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgText vkvg_text_run_create
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a5a15641547545beb6c2fa99903713768
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 306
+                  file: include/vkvg.h
+                  line: 306
+                name: vkvg_text_run_create
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: text
+                    type:
+                      _: const char *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgText
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgText textRun)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_text_run_destroy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a23dc80671fff96c1f2390f03ea3230be
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 307
+                  file: include/vkvg.h
+                  line: 307
+                name: vkvg_text_run_destroy
+                param:
+                  - declname: textRun
+                    type:
+                      _: VkvgText
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgContext ctx, VkvgText textRun)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_show_text_run
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a1d8a8c6dea5e354b3f951ae980042c3a
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 308
+                  file: include/vkvg.h
+                  line: 308
+                name: vkvg_show_text_run
+                param:
+                  - declname: ctx
+                    type:
+                      _: VkvgContext
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: textRun
+                    type:
+                      _: VkvgText
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgText textRun, vkvg_text_extents_t *extents)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_text_run_get_extents
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ae7a8c7696c515cdfa1a59d4fe0ca12e8
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 309
+                  file: include/vkvg.h
+                  line: 309
+                name: vkvg_text_run_get_extents
+                param:
+                  - declname: textRun
+                    type:
+                      _: VkvgText
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: extents
+                    type:
+                      _: vkvg_text_extents_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgPattern pat)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgPattern vkvg_pattern_reference
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a3bc1cde4ef93d5b8e87870f35240cbc2
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 312
+                  file: include/vkvg.h
+                  line: 312
+                name: vkvg_pattern_reference
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgPattern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgPattern pat)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: uint32_t vkvg_pattern_get_reference_count
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a666342d39a4227e8b1d2ecbc1eaad3e9
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 313
+                  file: include/vkvg.h
+                  line: 313
+                name: vkvg_pattern_get_reference_count
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: uint32_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgSurface surf)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgPattern vkvg_pattern_create_for_surface
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ae5284a7f3f6241d3c5b9012dc145dfcb
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 314
+                  file: include/vkvg.h
+                  line: 314
+                name: vkvg_pattern_create_for_surface
+                param:
+                  - declname: surf
+                    type:
+                      _: VkvgSurface
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgPattern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(float x0, float y0, float x1, float y1)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgPattern vkvg_pattern_create_linear
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ac14405c0e08f8cae0013d179a5c15308
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 315
+                  file: include/vkvg.h
+                  line: 315
+                name: vkvg_pattern_create_linear
+                param:
+                  - declname: x0
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y0
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgPattern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(float cx0, float cy0, float radius0, float cx1, float cy1, float radius1)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: VkvgPattern vkvg_pattern_create_radial
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a19e3b3fde4351d70e052030508bed667
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 316
+                  file: include/vkvg.h
+                  line: 316
+                name: vkvg_pattern_create_radial
+                param:
+                  - declname: cx0
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: cy0
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: radius0
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: cx1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: cy1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: radius1
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: VkvgPattern
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgPattern pat)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_pattern_destroy
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aee2652254686507f28dfcf598db894c4
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 13
+                  declcolumn: 13
+                  declfile: include/vkvg.h
+                  declline: 318
+                  file: include/vkvg.h
+                  line: 318
+                name: vkvg_pattern_destroy
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgPattern pat, float offset, float r, float g, float b, float a)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_pattern_add_color_stop
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a058bcc558c988254da9309006a30ed35
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 320
+                  file: include/vkvg.h
+                  line: 320
+                name: vkvg_pattern_add_color_stop
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: offset
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: r
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: g
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: b
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: a
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgPattern pat, vkvg_extend_t extend)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_pattern_set_extend
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a29fe6b4335fe0352c5d7ea5804ba45e9
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 321
+                  file: include/vkvg.h
+                  line: 321
+                name: vkvg_pattern_set_extend
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: extend
+                    type:
+                      _: vkvg_extend_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(VkvgPattern pat, vkvg_filter_t filter)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_pattern_set_filter
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ad2d8a91e379b5d39ae9c066380ae95f2
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 322
+                  file: include/vkvg.h
+                  line: 322
+                name: vkvg_pattern_set_filter
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: filter
+                    type:
+                      _: vkvg_filter_t
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgPattern pat)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: vkvg_extend_t vkvg_pattern_get_extend
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1af89e3a8ba79ac27840b4394d9f503459
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 17
+                  declcolumn: 17
+                  declfile: include/vkvg.h
+                  declline: 324
+                  file: include/vkvg.h
+                  line: 324
+                name: vkvg_pattern_get_extend
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: vkvg_extend_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (VkvgPattern pat)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: vkvg_filter_t vkvg_pattern_get_filter
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aea43689bc6fa9fff1e1ab557b45bbc9f
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 17
+                  declcolumn: 17
+                  declfile: include/vkvg.h
+                  declline: 325
+                  file: include/vkvg.h
+                  line: 325
+                name: vkvg_pattern_get_filter
+                param:
+                  - declname: pat
+                    type:
+                      _: VkvgPattern
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: vkvg_filter_t
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (vkvg_matrix_t *matrix)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_init_identity
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a60cff46b3741569d302c19226b5f7340
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 328
+                  file: include/vkvg.h
+                  line: 328
+                name: vkvg_matrix_init_identity
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *matrix, float xx, float yx, float xy, float yy, float x0, float y0)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_init
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1adfb1c02e17804239c8a8f1c2f0f8a374
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 329
+                  file: include/vkvg.h
+                  line: 329
+                name: vkvg_matrix_init
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: xx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: yx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: xy
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: yy
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x0
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y0
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *matrix, float tx, float ty)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_init_translate
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a471448472d025facf479dc1fbaa6f102
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 333
+                  file: include/vkvg.h
+                  line: 333
+                name: vkvg_matrix_init_translate
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: tx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: ty
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *matrix, float sx, float sy)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_init_scale
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a824fa84193b12ef36fd11316b52edfb9
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 334
+                  file: include/vkvg.h
+                  line: 334
+                name: vkvg_matrix_init_scale
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: sx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: sy
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *matrix, float radians)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_init_rotate
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a7565d3c1202c2aa88d06210e4e880c15
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 335
+                  file: include/vkvg.h
+                  line: 335
+                name: vkvg_matrix_init_rotate
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: radians
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *matrix, float tx, float ty)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_translate
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aa9cd565c5f9ad461d8ece37459c5757c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 336
+                  file: include/vkvg.h
+                  line: 336
+                name: vkvg_matrix_translate
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: tx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: ty
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *matrix, float sx, float sy)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_scale
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a2af9ac82c85388031d206e5e59b00ab9
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 337
+                  file: include/vkvg.h
+                  line: 337
+                name: vkvg_matrix_scale
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: sx
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: sy
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *matrix, float radians)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_rotate
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a00b8f362ab4e337c2ec219dbee840a76
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 338
+                  file: include/vkvg.h
+                  line: 338
+                name: vkvg_matrix_rotate
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: radians
+                    type:
+                      _: float
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(vkvg_matrix_t *result, const vkvg_matrix_t *a, const vkvg_matrix_t *b)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_multiply
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1a696338f6b5986e8cde51cab3bd6f2050
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 339
+                  file: include/vkvg.h
+                  line: 339
+                name: vkvg_matrix_multiply
+                param:
+                  - declname: result
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: a
+                    type:
+                      _: const vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: b
+                    type:
+                      _: const vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(const vkvg_matrix_t *matrix, float *dx, float *dy)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_transform_distance
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aef5dcf4dab69857a4516cfa3770a6201
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 340
+                  file: include/vkvg.h
+                  line: 340
+                name: vkvg_matrix_transform_distance
+                param:
+                  - declname: matrix
+                    type:
+                      _: const vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: dx
+                    type:
+                      _: float *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: dy
+                    type:
+                      _: float *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: '(const vkvg_matrix_t *matrix, float *x, float *y)'
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_transform_point
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1aa329c7a6282aa4eb6f39b8bcc9547c1c
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 341
+                  file: include/vkvg.h
+                  line: 341
+                name: vkvg_matrix_transform_point
+                param:
+                  - declname: matrix
+                    type:
+                      _: const vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: x
+                    type:
+                      _: float *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                  - declname: y
+                    type:
+                      _: float *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+              - argsstring: (vkvg_matrix_t *matrix)
+                briefdescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                const: no
+                definition: void vkvg_matrix_invert
+                detaileddescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                explicit: no
+                id: vkvg_8h_1ad1b8dec7b489b777fa76f09ef605b3f6
+                inbodydescription:
+                  _: "\n        "
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                inline: no
+                kind: function
+                location:
+                  column: 6
+                  declcolumn: 6
+                  declfile: include/vkvg.h
+                  declline: 342
+                  file: include/vkvg.h
+                  line: 342
+                name: vkvg_matrix_invert
+                param:
+                  - declname: matrix
+                    type:
+                      _: vkvg_matrix_t *
+                      _MIXED_ELEMENT_MODE: TEXTUAL
+                prot: public
+                static: no
+                type:
+                  _: void
+                  _MIXED_ELEMENT_MODE: TEXTUAL
+                virt: non-virtual
+  version: 1.8.18
index 9a85610c72193f0243372d76eab77eda82c7e986..73e41b8a34a4ed8b2013096ce4e3c6173f8d2d86 100644 (file)
@@ -12,4 +12,6 @@
 
   <link rel="shortcut icon" type="image/x-icon" href="/{{ site.favicon }}" />
   <link rel="stylesheet" href="{{ site.url }}/assets/css/main.css" />
+  <link href="{{ site.url }}/assets/css/syntax.css" rel="stylesheet">
+
 </head>
\ No newline at end of file
diff --git a/_includes/navfunc.html b/_includes/navfunc.html
new file mode 100644 (file)
index 0000000..b737233
--- /dev/null
@@ -0,0 +1,11 @@
+<li><span class="caret">{{include.file.slug}}</span>
+    <ul class="nested">
+        {% directory path: {{include.file.url}} %}
+            {% if file.isdir %}                
+                {%- include navfunc.html file=file -%}
+            {% else %}                
+                <li><a href="{{ file.url | replace:'.md','.html'}}" target="docframe">{{file.slug}}</a></li>
+            {% endif %}
+        {% enddirectory %}
+    </ul>
+</li>
diff --git a/_includes/sidenav.html b/_includes/sidenav.html
new file mode 100644 (file)
index 0000000..c5ac1c2
--- /dev/null
@@ -0,0 +1,34 @@
+<nav>
+    <div class="sidenav">
+        <a href="/about.html">About</a>
+        <a href="/documentation.html">Documentation</a>
+        <a href="/testxml.html">xml data test</a>
+        <a href="#contact">Contact</a>
+        <ul id="myUL">
+            <li><span class="caret">documentation</span>
+                <ul class="nested">
+                    {% directory path: /documentation %}                    
+                        {% if file.isdir %}
+                            {%- include navfunc.html file=file -%}
+                        {% else %}
+                            <li>{{file.slug}}</li>
+                        {% endif %}
+                    {% enddirectory %}
+                </ul>
+            </li>      
+        </ul>
+        <script>
+            var toggler = document.getElementsByClassName("caret");
+            var i;
+            
+            for (i = 0; i < toggler.length; i++) {
+                toggler[i].addEventListener("click",
+                    function() {
+                        this.parentElement.querySelector(".nested").classList.toggle("active");
+                        this.classList.toggle("caret-down");
+                    }
+                );
+            }
+        </script>
+    </div>
+</nav>
\ No newline at end of file
index a1bc3516001cd6d68b5b84e0834e62859336b6a3..ff81134a1fa41d823f9ac496685d1465386b10b8 100644 (file)
@@ -1,11 +1,9 @@
 <!DOCTYPE html>
 <html lang="{{ page.lang | default: "en" }}">
-        {%- include head.html -%}
-    <body>
-    <main class="page-content" aria-label="Content">
-        <div class="wrapper">
-            {{ content }}
-        </div>
-    </main>
-    </body>
+    {%- include head.html -%}
+    <div id="main">
+        {% include sidenav.html %}
+        <article>{{ content }}</article>
+        <!--<aside>Aside</aside>-->
+    </div>    
 </html>
\ No newline at end of file
diff --git a/_layouts/documentation.html b/_layouts/documentation.html
new file mode 100644 (file)
index 0000000..68c407a
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="documentation">
+    {{ content }}
+</div>
\ No newline at end of file
diff --git a/_layouts/framed.html b/_layouts/framed.html
new file mode 100644 (file)
index 0000000..7bd8f83
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="{{ page.lang | default: "en" }}">
+    {%- include head.html -%}
+    <div id="main">
+        {% include sidenav.html %}
+        <iframe src="documentation.html" width="100%"  frameBorder="0" name="docframe">
+            {{ content }}
+        </iframe>
+        <!--<aside>Aside</aside>-->
+    </div>    
+</html>
\ No newline at end of file
index cdcdbe8d7c86ff911e612c000071485aafa4f046..07235878814c7d5361d1f6fbbe31405cf035dcbe 100644 (file)
@@ -8,4 +8,6 @@ layout: default
   {% endif %}
 </header>
 
-{% include menu_item.html collection=site.data.menu.entries %}
\ No newline at end of file
+{% include menu_item.html collection=site.data.menu.entries %}
+
+{{ content }}
diff --git a/_plugins/directory_tag.rb b/_plugins/directory_tag.rb
new file mode 100644 (file)
index 0000000..d4ad411
--- /dev/null
@@ -0,0 +1,123 @@
+# Title: Dynamic directories for Jekyll
+# Author: Tommy Sullivan http://superawesometommy.com, Robert Park http://exolucere.ca
+# Description: The directory tag lets you iterate over files at a particular path. If files conform to the standard Jekyll format, YYYY-MM-DD-file-title, then those attributes will be populated on the yielded file object. The `forloop` object maintains [its usual context](http://wiki.shopify.com/UsingLiquid#For_loops).
+#
+# Syntax:
+#
+#   {% directory path: path/from/source [reverse] [exclude] %}
+#     {{ file.url }}
+#     {{ file.name }}
+#     {{ file.date }}
+#     {{ file.slug }}
+#     {{ file.title }}
+#   {% enddirectory %}
+#
+# Options:
+#
+# - `reverse` - Defaults to 'false', ordering files the same way `ls` does: 0-9A-Za-z.
+# - `exclude` - Defaults to '.html$', a Regexp of files to skip.
+#
+# File Attributes:
+#
+# - `url` - The absolute path to the published file
+# - `name` - The basename
+# - `date` - The date extracted from the filename, otherwise the file's creation time
+# - `slug` - The basename with date and extension removed
+# - `title` - The titlecase'd slug
+#
+
+module Jekyll
+
+  class DirectoryTag < Liquid::Block
+    include Convertible
+
+    STANDARD_POST_FILENAME_MATCHER = /^(.+\/)*(\d+-\d+-\d+)-(.*)(\.[^.]+)$/
+
+    def initialize(tag_name, markup, parse_context)
+      super
+
+      @attributes = {}
+
+      markup.scan(Liquid::TagAttributes) do |key, value|
+        @attributes[key] = value
+      end
+
+      @exclude = Regexp.new(@attributes['exclude'] || '.html$', Regexp::EXTENDED | Regexp::IGNORECASE)
+      @reverse = @attributes['reverse'].nil?
+    end
+
+    def render(context)
+      context.registers[:directory] ||= Hash.new(0)
+
+      path = Liquid::VariableLookup.new(@attributes['path']).evaluate(context)
+      path ||= @attributes.fetch('path', '.')
+
+      source_dir = context.registers[:site].source
+      listed_dir = File.expand_path(File.join(source_dir, path))
+
+      unless listed_dir.include?(source_dir)
+        raise Liquid::ArgumentError.new "Listed directory '#{listed_dir}' cannot be out of jekyll root"
+      end
+
+      directory_files = File.join(listed_dir, "*")
+      files = Dir.glob(directory_files).reject{|f| f =~ @exclude }
+      files.sort! {|x,y| @reverse ? x <=> y : y <=> x }
+
+      length = files.length
+      result = []
+
+      context.stack do
+        files.each_with_index do |filename, index|
+          basename = File.basename(filename)
+          isdir = File.directory?(filename)
+          url = filename.dup
+          url.slice!(source_dir)
+
+          m, cats, date, slug, ext = *basename.match(STANDARD_POST_FILENAME_MATCHER)
+
+          if m
+            date = Time.parse(date)
+            ext = ext
+            slug = slug
+          else
+            date = File.ctime(filename)
+            ext = File.extname(basename)
+            slug = ext ? basename.sub(ext, '') : basename
+          end
+
+          context['file'] = {
+            'date' => date,
+            'name' => basename,
+            'slug' => slug,
+            'url' => url,
+            'isdir' => isdir
+          }
+
+          context['forloop'] = {
+            'name' => 'directory',
+            'length' => length,
+            'index' => index + 1,
+            'index0' => index,
+            'rindex' => length - index,
+            'rindex0' => length - index - 1,
+            'first' => (index == 0),
+            'last' => (index == length - 1)
+          }
+
+          result << nodelist.map{|n|
+            if n.respond_to? :render
+              n.render(context)
+            else
+              n
+            end
+          }.join("")
+        end
+      end
+      result
+    end
+
+  end
+
+end
+
+Liquid::Template.register_tag('directory', Jekyll::DirectoryTag)
diff --git a/_plugins/doxygen.rb b/_plugins/doxygen.rb
new file mode 100644 (file)
index 0000000..378cb5b
--- /dev/null
@@ -0,0 +1,57 @@
+require 'kramdown'
+
+module Jekyll
+  class DoxyPageGenerator < Generator
+    safe true
+
+    def generate(site)
+      
+        site.pages << DoxyPage.new(site, site.source, "test", "api1")      
+        #site.pages << Page.new(site, site.source, 'test', 'apitest')      
+    end
+  end
+
+  # A Page subclass used in the `CategoryPageGenerator`
+  class DoxyPage < PageWithoutAFile
+    def initialize(site, base, dir, name)
+      @site = site
+      @base = base
+      @dir  = dir
+      @name = name + '.html'
+
+      #self.read_yaml(File.join(base, '_layouts'), 'post')
+
+
+      @markup = "
+# test
+
+## Structures
+<ul>
+{% assign structs = site.data.doc.xml.index.doxygenindex.compound | where: 'kind', 'struct' %}
+{% for struct in structs %}
+    <li>
+        {{struct.name}}
+        <ul>
+        {%for mb in struct.member%}
+            <li>{{ mb.name }}</li>
+        {% endfor %}
+        </ul>
+    </li>
+{% endfor %}
+</ul>
+
+"    
+
+    @content = Kramdown::Document.new(@markup).to_html
+
+    self.process(@name)
+
+      #self.data['category'] = name
+
+      #category_title_prefix = site.config['category_title_prefix'] || 'Category: '
+      self.data = Hash.new()
+      self.data['title'] = self.data
+      self.data['layout'] = 'default'
+    end
+  end
+end
\ No newline at end of file
diff --git a/_plugins/hello.rb b/_plugins/hello.rb
new file mode 100644 (file)
index 0000000..4c615bb
--- /dev/null
@@ -0,0 +1,15 @@
+module Jekyll
+  class HelloWorld < Liquid::Tag
+
+    def initialize(tag_name, text, tokens)
+      super
+      @text = text
+    end
+
+    def render(context)
+      "Hello World, #{@text}!"
+    end
+  end
+end
+
+Liquid::Template.register_tag('hello', Jekyll::HelloWorld)
\ No newline at end of file
index 61f9cfb3ee737102330ab1c1e5d14ccc9db8fc87..2e49e8cc3ab89441703775242483cb648addf63c 100644 (file)
@@ -1,9 +1,12 @@
 ---
+title: Welcome to Jekyll!
 layout: post
-title:  "Welcome to Jekyll!"
-date:   2020-08-16 00:53:29 +0200
-categories: jekyll update
+date: '2020-08-16 00:53:29 +0200'
+categories:
+- jekyll
+- update
 ---
+
 You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
 
 Jekyll requires blog post files to be named according to the following format:
index f39a76325c184f1bd1fdc6b828e8471b3944701c..f16c0971abe05f5e3273128ce8c56616850bcb46 100644 (file)
@@ -1,9 +1,120 @@
+* {
+  box-sizing: border-box; 
+}
 body {
+  display: flex;
+  min-height: 100vh;
+  flex-direction: column;
+  margin: 0;
+}
+#main {
+  display: flex;
+  flex: 1;
+}
+#main > article {
+  flex: 1;
+}
+#main > nav, 
+#main > aside {
+  flex: 0 0 20vw;
+  background: beige;
+}
+#main > nav {
+  order: -1;
+}
+header, footer {
+  background: yellowgreen;
+  height: 20vh;
+}
+header, footer, article, nav, aside {
+  padding: 1em;
+}
+@media screen and (max-width: 575px) {
+  #main {
+    display: block;
+  }
+}
+
+.sidenav {
+  height: 100%;
+  width: 200px;
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  background-color: #111;
+  overflow-x: hidden;
+  padding-top: 20px;
+}
+/* Style the sidenav links and the dropdown button */
+.sidenav a, .dropdown-btn {
+  padding: 6px 8px 6px 16px;
+  text-decoration: none;
+  font-size: 20px;
+  color: #818181;
+  display: block;
+  border: none;
+  background: none;
+  width:100%;
+  text-align: left;
+  cursor: pointer;
+  outline: none;
+}
+
+/* On mouse-over */
+.sidenav a:hover, .dropdown-btn:hover {
+  color: #f1f1f1;
+}
+
+
+    ul, #myUL {
+      list-style-type: none;
+    }
+    
+    #myUL {
+      margin: 0;
+      padding: 0;
+    }
+    
+    .caret {
+      cursor: pointer;
+      -webkit-user-select: none; /* Safari 3.1+ */
+      -moz-user-select: none; /* Firefox 2+ */
+      -ms-user-select: none; /* IE 10+ */
+      user-select: none;
+    }
+    
+    .caret::before {
+      content: "\25B6";
+      color: black;
+      display: inline-block;
+      margin-right: 6px;
+    }
+    
+    .caret-down::before {
+      -ms-transform: rotate(90deg); /* IE 9 */
+      -webkit-transform: rotate(90deg); /* Safari */
+      transform: rotate(90deg);  
+    }
+    
+    .nested {
+      display: none;      
+    }
+
+    .nested a:hover:not(.active) {
+      background-color: #555;
+      color: white;
+    }
+    
+    .active {
+      display: block;      
+    }
+/*body {
   color: black;
   background-color: white;
   font-family: monospace;
-  font-size: 1.3rem;
-  line-height: 1.3rem;
+  font-size: 1.0rem;
+  line-height: 1.0rem;
 }
 
 .wrapper {
@@ -11,7 +122,7 @@ body {
   max-width: 640px;
   margin: 4rem auto;
   padding: 0 1rem;
-}
+}*/
 
 h1 { line-height: 2rem; }
 
@@ -26,4 +137,36 @@ hr {
 table, th, td {
   border: thin solid black;
   border-collapse: collapse;
-}
\ No newline at end of file
+}
+
+pre,
+code {
+    font-size: 12px;
+    font-family: 'Courier New', Courier, monospace;
+    padding: 2px;
+}
+code.language-info {
+  color: #222;
+  display: flex;
+  flex-direction: column;
+  border-left: 4px solid dodgerblue;
+  padding-left: 10px;
+  background-color: #dff;
+}
+code.language-warning {
+  color: #222;
+  display: flex;
+  flex-direction: column;
+  border-left: 4px solid orange;
+  padding-left: 10px;
+  background-color: #fed;
+}
+code.language-danger {
+  color: #222;
+  display: flex;
+  flex-direction: column;
+  border-left: 4px solid crimson;
+  padding-left: 10px;
+  padding: 10px;
+  background-color: #fdd;
+}
index 8b4e0b28c83e707c74fcfc6a53f3f084033cfd58..2aa6e31786e1cfdc72b057033c8cfaac9a5178e8 100644 (file)
@@ -1,5 +1,4 @@
 ---
-layout: page
 title: About
 permalink: /about/
 ---
diff --git a/assets/css/syntax.css b/assets/css/syntax.css
new file mode 100644 (file)
index 0000000..a352fec
--- /dev/null
@@ -0,0 +1,210 @@
+.highlight table td { padding: 5px; }
+.highlight table pre { margin: 0; }
+.highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf {
+  color: #75715e;
+  font-style: italic;
+}
+.highlight .cm {
+  color: #75715e;
+  font-style: italic;
+}
+.highlight .c1 {
+  color: #75715e;
+  font-style: italic;
+}
+.highlight .cp {
+  color: #75715e;
+  font-weight: bold;
+}
+.highlight .cs {
+  color: #75715e;
+  font-weight: bold;
+  font-style: italic;
+}
+.highlight .err {
+  color: #960050;
+  background-color: #1e0010;
+}
+.highlight .gi {
+  color: #ffffff;
+  background-color: #324932;
+}
+.highlight .gd {
+  color: #ffffff;
+  background-color: #493131;
+}
+.highlight .ge {
+  color: #000000;
+  font-style: italic;
+}
+.highlight .gr {
+  color: #aa0000;
+}
+.highlight .gt {
+  color: #aa0000;
+}
+.highlight .gh {
+  color: #999999;
+}
+.highlight .go {
+  color: #888888;
+}
+.highlight .gp {
+  color: #555555;
+}
+.highlight .gs {
+  font-weight: bold;
+}
+.highlight .gu {
+  color: #aaaaaa;
+}
+.highlight .k, .highlight .kv {
+  color: #66d9ef;
+  font-weight: bold;
+}
+.highlight .kc {
+  color: #66d9ef;
+  font-weight: bold;
+}
+.highlight .kd {
+  color: #66d9ef;
+  font-weight: bold;
+}
+.highlight .kp {
+  color: #66d9ef;
+  font-weight: bold;
+}
+.highlight .kr {
+  color: #66d9ef;
+  font-weight: bold;
+}
+.highlight .kt {
+  color: #66d9ef;
+  font-weight: bold;
+}
+.highlight .kn {
+  color: #f92672;
+  font-weight: bold;
+}
+.highlight .ow {
+  color: #f92672;
+  font-weight: bold;
+}
+.highlight .o {
+  color: #f92672;
+  font-weight: bold;
+}
+.highlight .mf {
+  color: #ae81ff;
+}
+.highlight .mh {
+  color: #ae81ff;
+}
+.highlight .il {
+  color: #ae81ff;
+}
+.highlight .mi {
+  color: #ae81ff;
+}
+.highlight .mo {
+  color: #ae81ff;
+}
+.highlight .m, .highlight .mb, .highlight .mx {
+  color: #ae81ff;
+}
+.highlight .se {
+  color: #ae81ff;
+}
+.highlight .sb {
+  color: #e6db74;
+}
+.highlight .sc {
+  color: #e6db74;
+}
+.highlight .sd {
+  color: #e6db74;
+}
+.highlight .s2 {
+  color: #e6db74;
+}
+.highlight .sh {
+  color: #e6db74;
+}
+.highlight .si {
+  color: #e6db74;
+}
+.highlight .sx {
+  color: #e6db74;
+}
+.highlight .sr {
+  color: #e6db74;
+}
+.highlight .s1 {
+  color: #e6db74;
+}
+.highlight .ss {
+  color: #e6db74;
+}
+.highlight .s, .highlight .sa, .highlight .dl {
+  color: #e6db74;
+}
+.highlight .na {
+  color: #a6e22e;
+}
+.highlight .nc {
+  color: #a6e22e;
+  font-weight: bold;
+}
+.highlight .nd {
+  color: #a6e22e;
+  font-weight: bold;
+}
+.highlight .ne {
+  color: #a6e22e;
+  font-weight: bold;
+}
+.highlight .nf, .highlight .fm {
+  color: #a6e22e;
+  font-weight: bold;
+}
+.highlight .no {
+  color: #66d9ef;
+}
+.highlight .bp {
+  color: #f8f8f2;
+}
+.highlight .nb {
+  color: #f8f8f2;
+}
+.highlight .ni {
+  color: #f8f8f2;
+}
+.highlight .nn {
+  color: #f8f8f2;
+}
+.highlight .vc {
+  color: #f8f8f2;
+}
+.highlight .vg {
+  color: #f8f8f2;
+}
+.highlight .vi {
+  color: #f8f8f2;
+}
+.highlight .nv, .highlight .vm {
+  color: #f8f8f2;
+}
+.highlight .w {
+  color: #f8f8f2;
+}
+.highlight .nl {
+  color: #f8f8f2;
+  font-weight: bold;
+}
+.highlight .nt {
+  color: #f92672;
+}
+.highlight {
+  color: #f8f8f2;
+  background-color: #20201e;
+}
diff --git a/documentation.md b/documentation.md
new file mode 100644 (file)
index 0000000..b912bbf
--- /dev/null
@@ -0,0 +1,7 @@
+---
+layout: framed
+---
+
+# Documentation
+
+this is the main page of the documentation
\ No newline at end of file
diff --git a/documentation/README.md b/documentation/README.md
new file mode 100644 (file)
index 0000000..43a8874
--- /dev/null
@@ -0,0 +1,19 @@
+---
+sort: 1
+---
+
+# Building
+
+
+## Requirements:
+
+- [CMake](https://cmake.org/): version > 12.
+- [Vulkan](https://www.khronos.org/vulkan/)
+- [FontConfig](https://www.freedesktop.org/wiki/Software/fontconfig/)
+- [Freetype](https://www.freetype.org/)
+- [Harfbuzz](https://www.freedesktop.org/wiki/Software/HarfBuzz/)
+- GLSLC: spirv compiler, included in [LunarG SDK](https://www.lunarg.com/vulkan-sdk/) (building only)
+- [xxd](https://linux.die.net/man/1/xxd): generate headers with precompiled shaders (building only)
+- [GLFW](http://www.glfw.org/): optional, if present tests are built.
+
+if `glslc` or `xxd` are not present, a precompiled version of the shaders is stored in the git tree.
diff --git a/documentation/building/debian.md b/documentation/building/debian.md
new file mode 100644 (file)
index 0000000..960d4c2
--- /dev/null
@@ -0,0 +1,43 @@
+---
+layout: documentation
+---
+
+# Install Dependencies
+
+`glslc` and `xxd` are required to compile the shaders. If one of them is not installed, a precompiled version of the shaders is stored in the git tree.
+
+### build tools
+```bash
+sudo apt install git cmake gcc g++ xxd
+```
+
+### vulkan lib and tools
+
+###### from debian packages
+```bash
+sudo apt install libvulkan-dev mesa-vulkan-drivers
+```
+###### from lunarg sdk
+```bash
+
+```
+##### build dependencies
+```bash
+sudo apt-get install libfontconfig-dev libfreetype-dev libharfbuzz-dev  
+```
+
+
+## Getting the sources from GitHub
+
+```bash
+#fetch sources from github
+git clone --recursive https://github.com/jpbruyere/vkvg.git    
+cd vkvg
+# Create build directory
+mkdir build
+cd build
+# Run CMake, optionaly setup glslc path
+cmake ..
+make
+```
diff --git a/documentation/building/windows.md b/documentation/building/windows.md
new file mode 100644 (file)
index 0000000..909aedf
--- /dev/null
@@ -0,0 +1,59 @@
+---
+layout: default
+---
+
+#  Build on Windows with Visual Studio IDE:
+
+(*Tested with VS 2017*)
+Ensure [CMake and c/c++ support options](https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019) are installed along with Visual studio.
+
+The easyest way to proceed is to open a visual studio command prompt, and issue commands manually. Once dependencies are build and vkvg project files have been created, you may use the ide.
+
+#### Build dependencies
+Install the latest [vulkan sdk](https://vulkan.lunarg.com/) from lunarg.
+
+Make sure that [Git](https://git-scm.com/download/win) is installed on your machine by typing on the command line (cmd):
+```bash
+> git --version
+git version 2.19.1.windows.1
+```
+Install [vcpkg package manager](https://docs.microsoft.com/en-us/cpp/build/vcpkg?view=vs-2019) to build required libraries:
+```bash 
+git clone https://github.com/Microsoft/vcpkg.git
+cd vcpkg
+.\bootstrap-vcpkg.bat
+```
+Then install the libraries required by vkvg, use the triplet corresponding with your architecture:
+```bash 
+vcpkg install fontconfig:x64-window freetype:x64-window harfbuzz:x64-window
+```
+Optionaly, install [GLFW] to build the samples:
+```bash 
+vcpkg install glfw:x64-window
+```
+Add the path to the shared libraries binaries to your **PATH** environment variable, they are in %vcpkg-root%/installed/x64-windows/bin/.
+
+To make those libraries available for vsstudio use the [system wide integration](https://vcpkg.readthedocs.io/en/latest/examples/installing-and-using-packages/#vsmsbuild-project-user-wide-integration) from vcpkg.
+```bash 
+vcpkg integrate install
+```
+#### CMake configuration
+Exit vcpkg directory and clone the vkvg repository and its submodule vkh:
+```bash
+git clone --recursive https://github.com/jpbruyere/vkvg.git
+cd vkvg
+#create a build directory
+mkdir build
+```
+To generate the solution file (.sln) from the build directory we use cmake with the toolchain file provided by vcpkg and we also disable the lcd font filtering (FreeType is built without [lcd fonts](https://en.wikipedia.org/wiki/Subpixel_rendering) by default).
+```
+cmake .. -DCMAKE_TOOLCHAIN_FILE=..\..\vcpkg\scripts\buildsystems\vcpkg.cmake -DVKVG_LCD_FONT_FILTER=off
+```
+To adjust later compilation options, you may recall cmake command, or use the cmake-gui command.
+```bash
+cmake-gui ..
+```
+Now you should have the vkvg.sln and all the projects file into your build directory. You may build the complete solution on the command line with:
+```bash
+msbuild vkvg.sln
+```
diff --git a/documentation/building2/debian.md b/documentation/building2/debian.md
new file mode 100644 (file)
index 0000000..99a8b26
--- /dev/null
@@ -0,0 +1,43 @@
+---
+sort: 1
+---
+
+# Install Dependencies
+
+`glslc` and `xxd` are required to compile the shaders. If one of them is not installed, a precompiled version of the shaders is stored in the git tree.
+
+### build tools
+```bash
+sudo apt install git cmake gcc g++ xxd
+```
+
+### vulkan lib and tools
+
+###### from debian packages
+```bash
+sudo apt install libvulkan-dev mesa-vulkan-drivers
+```
+###### from lunarg sdk
+```bash
+
+```
+##### build dependencies
+```bash
+sudo apt-get install libfontconfig-dev libfreetype-dev libharfbuzz-dev  
+```
+
+
+## Getting the sources from GitHub
+
+```bash
+#fetch sources from github
+git clone --recursive https://github.com/jpbruyere/vkvg.git    
+cd vkvg
+# Create build directory
+mkdir build
+cd build
+# Run CMake, optionaly setup glslc path
+cmake ..
+make
+```
diff --git a/documentation/building2/windows.md b/documentation/building2/windows.md
new file mode 100644 (file)
index 0000000..e983974
--- /dev/null
@@ -0,0 +1,59 @@
+---
+sort: 3
+---
+
+#  Build on Windows with Visual Studio IDE:
+
+(*Tested with VS 2017*)
+Ensure [CMake and c/c++ support options](https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019) are installed along with Visual studio.
+
+The easyest way to proceed is to open a visual studio command prompt, and issue commands manually. Once dependencies are build and vkvg project files have been created, you may use the ide.
+
+#### Build dependencies
+Install the latest [vulkan sdk](https://vulkan.lunarg.com/) from lunarg.
+
+Make sure that [Git](https://git-scm.com/download/win) is installed on your machine by typing on the command line (cmd):
+```bash
+> git --version
+git version 2.19.1.windows.1
+```
+Install [vcpkg package manager](https://docs.microsoft.com/en-us/cpp/build/vcpkg?view=vs-2019) to build required libraries:
+```bash 
+git clone https://github.com/Microsoft/vcpkg.git
+cd vcpkg
+.\bootstrap-vcpkg.bat
+```
+Then install the libraries required by vkvg, use the triplet corresponding with your architecture:
+```bash 
+vcpkg install fontconfig:x64-window freetype:x64-window harfbuzz:x64-window
+```
+Optionaly, install [GLFW] to build the samples:
+```bash 
+vcpkg install glfw:x64-window
+```
+Add the path to the shared libraries binaries to your **PATH** environment variable, they are in %vcpkg-root%/installed/x64-windows/bin/.
+
+To make those libraries available for vsstudio use the [system wide integration](https://vcpkg.readthedocs.io/en/latest/examples/installing-and-using-packages/#vsmsbuild-project-user-wide-integration) from vcpkg.
+```bash 
+vcpkg integrate install
+```
+#### CMake configuration
+Exit vcpkg directory and clone the vkvg repository and its submodule vkh:
+```bash
+git clone --recursive https://github.com/jpbruyere/vkvg.git
+cd vkvg
+#create a build directory
+mkdir build
+```
+To generate the solution file (.sln) from the build directory we use cmake with the toolchain file provided by vcpkg and we also disable the lcd font filtering (FreeType is built without [lcd fonts](https://en.wikipedia.org/wiki/Subpixel_rendering) by default).
+```
+cmake .. -DCMAKE_TOOLCHAIN_FILE=..\..\vcpkg\scripts\buildsystems\vcpkg.cmake -DVKVG_LCD_FONT_FILTER=off
+```
+To adjust later compilation options, you may recall cmake command, or use the cmake-gui command.
+```bash
+cmake-gui ..
+```
+Now you should have the vkvg.sln and all the projects file into your build directory. You may build the complete solution on the command line with:
+```bash
+msbuild vkvg.sln
+```
diff --git a/documentation/building3/debian.md b/documentation/building3/debian.md
new file mode 100644 (file)
index 0000000..99a8b26
--- /dev/null
@@ -0,0 +1,43 @@
+---
+sort: 1
+---
+
+# Install Dependencies
+
+`glslc` and `xxd` are required to compile the shaders. If one of them is not installed, a precompiled version of the shaders is stored in the git tree.
+
+### build tools
+```bash
+sudo apt install git cmake gcc g++ xxd
+```
+
+### vulkan lib and tools
+
+###### from debian packages
+```bash
+sudo apt install libvulkan-dev mesa-vulkan-drivers
+```
+###### from lunarg sdk
+```bash
+
+```
+##### build dependencies
+```bash
+sudo apt-get install libfontconfig-dev libfreetype-dev libharfbuzz-dev  
+```
+
+
+## Getting the sources from GitHub
+
+```bash
+#fetch sources from github
+git clone --recursive https://github.com/jpbruyere/vkvg.git    
+cd vkvg
+# Create build directory
+mkdir build
+cd build
+# Run CMake, optionaly setup glslc path
+cmake ..
+make
+```
diff --git a/documentation/building3/windows.md b/documentation/building3/windows.md
new file mode 100644 (file)
index 0000000..e983974
--- /dev/null
@@ -0,0 +1,59 @@
+---
+sort: 3
+---
+
+#  Build on Windows with Visual Studio IDE:
+
+(*Tested with VS 2017*)
+Ensure [CMake and c/c++ support options](https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019) are installed along with Visual studio.
+
+The easyest way to proceed is to open a visual studio command prompt, and issue commands manually. Once dependencies are build and vkvg project files have been created, you may use the ide.
+
+#### Build dependencies
+Install the latest [vulkan sdk](https://vulkan.lunarg.com/) from lunarg.
+
+Make sure that [Git](https://git-scm.com/download/win) is installed on your machine by typing on the command line (cmd):
+```bash
+> git --version
+git version 2.19.1.windows.1
+```
+Install [vcpkg package manager](https://docs.microsoft.com/en-us/cpp/build/vcpkg?view=vs-2019) to build required libraries:
+```bash 
+git clone https://github.com/Microsoft/vcpkg.git
+cd vcpkg
+.\bootstrap-vcpkg.bat
+```
+Then install the libraries required by vkvg, use the triplet corresponding with your architecture:
+```bash 
+vcpkg install fontconfig:x64-window freetype:x64-window harfbuzz:x64-window
+```
+Optionaly, install [GLFW] to build the samples:
+```bash 
+vcpkg install glfw:x64-window
+```
+Add the path to the shared libraries binaries to your **PATH** environment variable, they are in %vcpkg-root%/installed/x64-windows/bin/.
+
+To make those libraries available for vsstudio use the [system wide integration](https://vcpkg.readthedocs.io/en/latest/examples/installing-and-using-packages/#vsmsbuild-project-user-wide-integration) from vcpkg.
+```bash 
+vcpkg integrate install
+```
+#### CMake configuration
+Exit vcpkg directory and clone the vkvg repository and its submodule vkh:
+```bash
+git clone --recursive https://github.com/jpbruyere/vkvg.git
+cd vkvg
+#create a build directory
+mkdir build
+```
+To generate the solution file (.sln) from the build directory we use cmake with the toolchain file provided by vcpkg and we also disable the lcd font filtering (FreeType is built without [lcd fonts](https://en.wikipedia.org/wiki/Subpixel_rendering) by default).
+```
+cmake .. -DCMAKE_TOOLCHAIN_FILE=..\..\vcpkg\scripts\buildsystems\vcpkg.cmake -DVKVG_LCD_FONT_FILTER=off
+```
+To adjust later compilation options, you may recall cmake command, or use the cmake-gui command.
+```bash
+cmake-gui ..
+```
+Now you should have the vkvg.sln and all the projects file into your build directory. You may build the complete solution on the command line with:
+```bash
+msbuild vkvg.sln
+```
index 1abcb581e7a26bf72962cf6cf588305ab33c8edf..b7daee0c7c9fb74b10344d006535a14363d1aeef 100644 (file)
@@ -1,10 +1,7 @@
 ---
-# Feel free to add content and custom Front Matter to this file.
-# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
-
 layout: home
 ---
 
-{% for p in site.posts %}
-    {{ p | inspect }}
-{% endfor %}
+<div>
+    {% include post_list.html %}
+</div>
\ No newline at end of file
diff --git a/testxml.md b/testxml.md
new file mode 100644 (file)
index 0000000..1d09e40
--- /dev/null
@@ -0,0 +1,60 @@
+---
+layout: default
+---
+
+# test xml
+
+```info
+this is a test with a multiline note that should have a red bar just in front. and the linebreak should be totaly automatic.this is a test with a multiline note that should have a red bar just in front. and the linebreak should be totaly automaticthis is a test with a multiline note that should have a red bar just in front. and the linebreak should be totaly automaticthis is a test with a multiline note that should have a red bar just in front. and the linebreak should be totaly automaticthis is a test with a multiline note that should have a red bar just in front. and the linebreak should be totaly automatic
+```
+```warning
+this is a test with a multiline note that should have a red bar just
+in front. and the linebreak should be totaly automatic
+```
+```danger
+this is a test with a multiline note that should have a red bar just
+in front. and the linebreak should be totaly automatic
+```
+```csharp
+if (createSurface)
+    initSurface ();
+
+if (startUIThread) {
+    Thread t = new Thread (InterfaceThread) {
+        IsBackground = true
+    };
+    t.Start ();
+}
+```
+
+{% hello Jesse %}
+
+## Structures
+<ul>
+{% assign structs = site.data.doc.xml.index.doxygenindex.compound | where: "kind", "struct" %}
+{% for struct in structs %}
+    <li>
+        {{struct.name}}
+        <ul>
+        {%for mb in struct.member%}
+            <li>{{ mb.name }}</li>
+        {% endfor %}
+        </ul>
+    </li>
+{% endfor %}
+</ul>
+
+## Files
+<ul>
+{% assign files = site.data.doc.xml.index.doxygenindex.compound | where: "kind", "file" %}
+{% for file in files %}
+    <li>
+        {{file.name}}
+        <ul>
+        {%for mb in file.member%}
+            <li>{{ mb.name }}</li>
+        {% endfor %}
+        </ul>
+    </li>
+{% endfor %}
+</ul>
\ No newline at end of file