diff options
author | David Robillard <d@drobilla.net> | 2019-08-18 13:16:52 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-09-07 14:40:39 +0200 |
commit | 92937b14c733a344d7554d2edfd449a7b4ad63ff (patch) | |
tree | 735bec4884bf819e5d74e68f15cbe3f660fe1597 | |
parent | dc9f1d852d3fba8ddcf7bb535810ad384900fe06 (diff) |
Improve documentation and use LV2 documentation style
-rw-r--r-- | doc/footer.html | 20 | ||||
-rw-r--r-- | doc/header.html | 47 | ||||
-rw-r--r-- | doc/layout.xml | 193 | ||||
-rw-r--r-- | doc/mainpage.md | 43 | ||||
-rw-r--r-- | doc/reference.doxygen.in (renamed from Doxyfile.in) | 220 | ||||
-rw-r--r-- | doc/style.css | 744 | ||||
-rw-r--r-- | pugl/pugl.h | 49 | ||||
-rw-r--r-- | pugl/pugl.hpp | 4 | ||||
-rw-r--r-- | wscript | 7 |
9 files changed, 1212 insertions, 115 deletions
diff --git a/doc/footer.html b/doc/footer.html new file mode 100644 index 0000000..0dc6919 --- /dev/null +++ b/doc/footer.html @@ -0,0 +1,20 @@ +<!-- HTML footer for doxygen 1.8.15--> +<!-- start footer part --> +<!--BEGIN GENERATE_TREEVIEW--> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + $navpath + <li class="footer">$generatedby + <a href="http://www.doxygen.org/index.html">Doxygen $doxygenversion</li> + </ul> +</div> +<!--END GENERATE_TREEVIEW--> +<!--BEGIN !GENERATE_TREEVIEW--> +<div id="footer"> + <address class="footer">$generatedby + <a href="http://www.doxygen.org/">Doxygen</a> $doxygenversion + </address> +</div> +<!--END !GENERATE_TREEVIEW--> +</body> +</html> diff --git a/doc/header.html b/doc/header.html new file mode 100644 index 0000000..07d4076 --- /dev/null +++ b/doc/header.html @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> + <!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME--> + <!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME--> + <link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" /> + $extrastylesheet + </head> + <body> + <div id="top"><!-- do not remove this div, it is closed by doxygen! --> + + <!--BEGIN TITLEAREA--> + <div id="titlearea"> + <div id="header"> + <div id="titlebox"> + <!--BEGIN PROJECT_LOGO--> + <div id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></div> + <!--END PROJECT_LOGO--> + <!--BEGIN PROJECT_NAME--> + <h1 id="title">$projectname</h1> + <!--END PROJECT_NAME--> + <!--BEGIN PROJECT_BRIEF--> + <div id="shortdesc">$projectbrief</div> + <!--END PROJECT_BRIEF--> + </div> + <div id="metabox"> + <table id="meta"> + <!--BEGIN PROJECT_NUMBER--> + <tr><th>Version</th><td>$projectnumber</td></tr> + <!--END PROJECT_NUMBER--> + </table> + </div> + </div> + </div> + <!--END TITLEAREA--> + <!-- end header part --> + + <!-- Fake static menu from Doxygen 1.8.15 --> + <div id="staticnavrow" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul> + </div> diff --git a/doc/layout.xml b/doc/layout.xml new file mode 100644 index 0000000..f752de1 --- /dev/null +++ b/doc/layout.xml @@ -0,0 +1,193 @@ +<doxygenlayout version="1.0"> + <!-- Generated by doxygen 1.8.13 --> + <!-- Navigation index tabs for HTML output --> + <navindex> + <tab type="mainpage" visible="yes" title=""/> + <tab type="pages" visible="yes" title="" intro=""/> + <tab type="modules" visible="yes" title="" intro=""/> + <tab type="namespaces" visible="yes" title=""> + <tab type="namespacelist" visible="yes" title="" intro=""/> + <tab type="namespacemembers" visible="yes" title="" intro=""/> + </tab> + <tab type="classes" visible="yes" title=""> + <tab type="classlist" visible="yes" title="" intro=""/> + <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> + <tab type="hierarchy" visible="yes" title="" intro=""/> + <tab type="classmembers" visible="yes" title="" intro=""/> + </tab> + <tab type="files" visible="yes" title=""> + <tab type="filelist" visible="yes" title="" intro=""/> + <tab type="globals" visible="yes" title="" intro=""/> + </tab> + <tab type="examples" visible="yes" title="" intro=""/> + </navindex> + + <!-- Layout definition for a class page --> + <class> + <briefdescription visible="yes"/> + <includes visible="$SHOW_INCLUDE_FILES"/> + <inheritancegraph visible="$CLASS_GRAPH"/> + <collaborationgraph visible="$COLLABORATION_GRAPH"/> + <memberdecl> + <nestedclasses visible="yes" title=""/> + <publictypes title=""/> + <services title=""/> + <interfaces title=""/> + <publicslots title=""/> + <signals title=""/> + <publicmethods title=""/> + <publicstaticmethods title=""/> + <publicattributes title=""/> + <publicstaticattributes title=""/> + <protectedtypes title=""/> + <protectedslots title=""/> + <protectedmethods title=""/> + <protectedstaticmethods title=""/> + <protectedattributes title=""/> + <protectedstaticattributes title=""/> + <packagetypes title=""/> + <packagemethods title=""/> + <packagestaticmethods title=""/> + <packageattributes title=""/> + <packagestaticattributes title=""/> + <properties title=""/> + <events title=""/> + <privatetypes title=""/> + <privateslots title=""/> + <privatemethods title=""/> + <privatestaticmethods title=""/> + <privateattributes title=""/> + <privatestaticattributes title=""/> + <friends title=""/> + <related title="" subtitle=""/> + <membergroups visible="yes"/> + </memberdecl> + <memberdef> + <inlineclasses title=""/> + <typedefs title=""/> + <enums title=""/> + <services title=""/> + <interfaces title=""/> + <constructors title=""/> + <functions title=""/> + <related title=""/> + <variables title=""/> + <properties title=""/> + <events title=""/> + </memberdef> + <allmemberslink visible="yes"/> + <usedfiles visible="$SHOW_USED_FILES"/> + <authorsection visible="yes"/> + </class> + + <!-- Layout definition for a namespace page --> + <namespace> + <briefdescription visible="yes"/> + <memberdecl> + <nestednamespaces visible="yes" title=""/> + <constantgroups visible="yes" title=""/> + <classes visible="yes" title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + <membergroups visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + <memberdef> + <inlineclasses title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + </memberdef> + <authorsection visible="yes"/> + </namespace> + + <!-- Layout definition for a file page --> + <file> + <briefdescription visible="yes"/> + <includes visible="$SHOW_INCLUDE_FILES"/> + <includegraph visible="$INCLUDE_GRAPH"/> + <includedbygraph visible="$INCLUDED_BY_GRAPH"/> + <sourcelink visible="yes"/> + <memberdecl> + <classes visible="yes" title=""/> + <namespaces visible="yes" title=""/> + <constantgroups visible="yes" title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + <membergroups visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + <memberdef> + <inlineclasses title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + </memberdef> + <authorsection/> + </file> + + <!-- Layout definition for a group page --> + <group> + <briefdescription visible="yes"/> + <detaileddescription title=""/> + <groupgraph visible="$GROUP_GRAPHS"/> + <memberdecl> + <nestedgroups visible="yes" title=""/> + <dirs visible="yes" title=""/> + <files visible="yes" title=""/> + <namespaces visible="yes" title=""/> + <classes visible="yes" title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <enumvalues title=""/> + <functions title=""/> + <variables title=""/> + <signals title=""/> + <publicslots title=""/> + <protectedslots title=""/> + <privateslots title=""/> + <events title=""/> + <properties title=""/> + <friends title=""/> + <membergroups visible="yes"/> + </memberdecl> + <memberdef> + <pagedocs/> + <inlineclasses title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <enumvalues title=""/> + <functions title=""/> + <variables title=""/> + <signals title=""/> + <publicslots title=""/> + <protectedslots title=""/> + <privateslots title=""/> + <events title=""/> + <properties title=""/> + <friends title=""/> + </memberdef> + <authorsection visible="yes"/> + </group> + + <!-- Layout definition for a directory page --> + <directory> + <briefdescription visible="yes"/> + <directorygraph visible="yes"/> + <memberdecl> + <dirs visible="yes"/> + <files visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + </directory> +</doxygenlayout> diff --git a/doc/mainpage.md b/doc/mainpage.md new file mode 100644 index 0000000..b16551a --- /dev/null +++ b/doc/mainpage.md @@ -0,0 +1,43 @@ +This is the API documentation for Pugl. +The complete C API is documented in the [Pugl](@ref pugl) group, +and the C++ wrapper in the [Puglmm](@ref puglmm) group. + +The Pugl API revolves around two main objects: +the [World](@ref world) and the [View](@ref view). +An application creates a single world to manage system-level state, +then creates one or more views to display. + +## View creation + +Creating a visible view is a multi-step process. +A new view allocated with #puglNewView does not yet represent a "real" system window. +To display, it must first have a [backend set](@ref puglSetBackend), +and be configured by [setting hints](@ref puglSetViewHint) +and [configuring the frame](@ref frame). + +Once the view is configured, +the corresponding window can be [created](@ref puglCreateWindow) +and [shown](@ref puglShowWindow). + +Note that a view does not necessary correspond to a top-level system window. +To create a view within another window, +call #puglSetParentWindow before #puglCreateWindow. + +## Interaction + +Interaction with the user and system happens via [events](@ref interaction). +Before creating a window, +a view must have an [event handler](@ref PuglEventFunc) set with #puglSetEventFunc. +This handler is called whenever something happens that the view must respond to. +This includes user interaction like mouse and keyboard input, +and system events like window resizing and exposure (drawing). + +## Event Loop + +Two functions are used to drive the event loop: + + * #puglPollEvents waits for events to become available. + * #puglDispatchEvents processes all pending events. + +Redrawing is accomplished by calling #puglPostRedisplay, +which posts an expose event to the queue. diff --git a/Doxyfile.in b/doc/reference.doxygen.in index b332116..eb64d58 100644 --- a/Doxyfile.in +++ b/doc/reference.doxygen.in @@ -1,4 +1,4 @@ -# Doxyfile 1.8.13 +# Doxyfile 1.8.15 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -17,11 +17,11 @@ # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 @@ -44,7 +44,7 @@ PROJECT_NUMBER = @PUGL_VERSION@ # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = +PROJECT_BRIEF = "A minimal portable API for embeddable GUIs" # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 @@ -58,7 +58,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = doc +OUTPUT_DIRECTORY = . # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and @@ -93,6 +93,14 @@ ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English +# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all generated output in the proper direction. +# Possible values are: None, LTR, RTL and Context. +# The default value is: None. + +OUTPUT_TEXT_DIRECTION = None + # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. @@ -226,7 +234,12 @@ TAB_SIZE = 4 # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading # "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. +# newlines (in the resulting output). You can put ^^ in the value part of an +# alias to insert a newline as if a physical newline was in the original file. +# When you need a literal { or } or , in the value part of an alias you have to +# escape them by means of a backslash (\), this can lead to conflicts with the +# commands \{ and \} for these it is advised to use the version @{ and @} or use +# a double escape (\\{ and \\}) ALIASES = @@ -264,17 +277,26 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = NO + # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, +# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat +# .inc files as Fortran files (default is PHP), and .f files as C (default is +# Fortran), use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # @@ -285,7 +307,7 @@ EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -327,7 +349,7 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -693,12 +715,12 @@ FILE_VERSION_FILTER = # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. -LAYOUT_FILE = +LAYOUT_FILE = @PUGL_SRCDIR@/doc/layout.xml # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. @@ -743,7 +765,8 @@ WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return # value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. +# parameter documentation, but not about the absence of documentation. If +# EXTRACT_ALL is set to YES then this flag will automatically be disabled. # The default value is: NO. WARN_NO_PARAMDOC = YES @@ -780,12 +803,13 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = @PUGL_SRCDIR@/pugl +INPUT = @PUGL_SRCDIR@/pugl/ \ + @PUGL_SRCDIR@/doc/mainpage.md # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# documentation (see: https://www.gnu.org/software/libiconv/) for the list of # possible encodings. # The default value is: UTF-8. @@ -803,9 +827,9 @@ INPUT_ENCODING = UTF-8 # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, -# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. -FILE_PATTERNS = +FILE_PATTERNS = *.h *.hpp # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. @@ -929,7 +953,7 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = @PUGL_SRCDIR@/doc/mainpage.md #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -958,7 +982,7 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. +# entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO @@ -967,7 +991,7 @@ REFERENCED_BY_RELATION = NO # all documented entities called/used by that function will be listed. # The default value is: NO. -REFERENCES_RELATION = NO +REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set # to YES then the hyperlinks from functions in REFERENCES_RELATION and @@ -985,17 +1009,17 @@ REFERENCES_LINK_SOURCE = YES # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. -SOURCE_TOOLTIPS = YES +SOURCE_TOOLTIPS = NO # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # @@ -1085,7 +1109,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +HTML_HEADER = @PUGL_SRCDIR@/doc/header.html # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1095,7 +1119,7 @@ HTML_HEADER = # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FOOTER = +HTML_FOOTER = @PUGL_SRCDIR@/doc/footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of @@ -1107,7 +1131,7 @@ HTML_FOOTER = # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = +HTML_STYLESHEET = @PUGL_SRCDIR@/doc/style.css # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets @@ -1135,13 +1159,13 @@ HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_COLORSTYLE_HUE = 130 +HTML_COLORSTYLE_HUE = 160 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use grayscales only. A @@ -1149,7 +1173,7 @@ HTML_COLORSTYLE_HUE = 130 # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_COLORSTYLE_SAT = 30 +HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 @@ -1160,7 +1184,7 @@ HTML_COLORSTYLE_SAT = 30 # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_COLORSTYLE_GAMMA = 100 +HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this @@ -1171,13 +1195,24 @@ HTML_COLORSTYLE_GAMMA = 100 HTML_TIMESTAMP = NO +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via Javascript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have Javascript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = NO + # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_DYNAMIC_SECTIONS = YES +HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand @@ -1194,13 +1229,13 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# environment (see: https://developer.apple.com/xcode/), introduced with OSX +# 10.5 (Leopard). To create a documentation set, doxygen will generate a # Makefile in the HTML output directory. Running make will produce the docset in # that directory and running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1239,7 +1274,7 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on # Windows. # # The HTML Help Workshop contains a compiler that can convert all HTML output @@ -1315,7 +1350,7 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1323,7 +1358,7 @@ QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# Folders (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- # folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1332,7 +1367,7 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1340,7 +1375,7 @@ QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1348,7 +1383,7 @@ QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# http://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = @@ -1389,7 +1424,7 @@ ECLIPSE_DOC_ID = org.doxygen.Project # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -DISABLE_INDEX = YES +DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag @@ -1441,7 +1476,7 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# Use the FORMULA_TRANSPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are not # supported properly for IE 6.0, but are supported on all modern browsers. # @@ -1453,7 +1488,7 @@ FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering +# https://www.mathjax.org) which uses client side Javascript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path @@ -1480,8 +1515,8 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest @@ -1542,7 +1577,7 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1555,7 +1590,7 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Xapian (see: https://xapian.org/). See the section "External Indexing and # Searching" for details. # This tag requires that the tag SEARCHENGINE is set to YES. @@ -1607,21 +1642,34 @@ LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. # -# Note that when enabling USE_PDFLATEX this option is only used for generating -# bitmaps for formulas in the HTML output, but not in the Makefile that is -# written to the output directory. -# The default file is: latex. +# Note that when not enabling USE_PDFLATEX the default is latex when enabling +# USE_PDFLATEX the default is pdflatex and when in the later case latex is +# chosen this is overwritten by pdflatex. For specific output languages the +# default can have been set differently, this depends on the implementation of +# the output language. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # index for LaTeX. +# Note: This tag is used in the Makefile / make.bat. +# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +# (.tex). # The default file is: makeindex. # This tag requires that the tag GENERATE_LATEX is set to YES. MAKEINDEX_CMD_NAME = makeindex +# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +# generate index for LaTeX. +# Note: This tag is used in the generated output file (.tex). +# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +# The default value is: \makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_MAKEINDEX_CMD = \makeindex + # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX # documents. This may be useful for small projects and may help to save some # trees in general. @@ -1742,7 +1790,7 @@ LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1756,6 +1804,14 @@ LATEX_BIB_STYLE = plain LATEX_TIMESTAMP = NO +# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +# path from which the emoji images will be read. If a relative path is entered, +# it will be relative to the LATEX_OUTPUT directory. If left blank the +# LATEX_OUTPUT directory will be used. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EMOJI_DIRECTORY = + #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1795,9 +1851,9 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's config -# file, i.e. a series of assignments. You only have to provide replacements, -# missing definitions are set to their default value. +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# configuration file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the # default style sheet that doxygen normally uses. @@ -1806,8 +1862,8 @@ RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's config file. A template extensions file can be generated -# using doxygen -e rtf extensionFile. +# similar to doxygen's configuration file. A template extensions file can be +# generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = @@ -1893,6 +1949,13 @@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# namespace members in file scope as well, matching the HTML output. +# The default value is: NO. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_NS_MEMB_FILE_SCOPE = NO + #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- @@ -1925,9 +1988,9 @@ DOCBOOK_PROGRAMLISTING = NO #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sf.net) file that captures the -# structure of the code including all documentation. Note that this feature is -# still experimental and incomplete at the moment. +# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# the structure of the code including all documentation. Note that this feature +# is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO @@ -2094,12 +2157,6 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of 'which perl'). -# The default file (with absolute path) is: /usr/bin/perl. - -PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- @@ -2113,15 +2170,6 @@ PERL_PATH = /usr/bin/perl CLASS_DIAGRAMS = NO -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see: -# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - # You can include diagrams made with dia in doxygen documentation. Doxygen will # then run dia to produce the diagram and insert it in the documentation. The # DIA_PATH tag allows you to specify the directory where the dia binary resides. @@ -2140,7 +2188,7 @@ HIDE_UNDOC_RELATIONS = YES # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO -# The default value is: YES. +# The default value is: NO. HAVE_DOT = NO @@ -2296,9 +2344,7 @@ DIRECTORY_GRAPH = NO # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). -# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd, -# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo, -# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo, +# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, # png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and # png:gdiplus:gdiplus. # The default value is: png. diff --git a/doc/style.css b/doc/style.css new file mode 100644 index 0000000..fa366af --- /dev/null +++ b/doc/style.css @@ -0,0 +1,744 @@ +body { + background: #FFF; + color: #222; + font-style: normal; + line-height: 1.6em; + margin-left: auto; + margin-right: auto; + padding: 1em; + max-width: 60em; + font-family: "DejaVu Serif",Palatino,serif; + text-rendering: optimizeLegibility; +} + +h1, .title, #projectname, h2, h3, h4, h5, h6 { + line-height: 1.0125em; + color: #444; + font-family: "DejaVu Sans",Helvetica,Arial,sans-serif; + margin: 1em 0 0.5em 0; +} + +h1, .titlearea .header .titlebox, #projectname { + font-size: 300%; + font-weight: 400; + margin-bottom: 0.25em; + margin-top: 0; +} + +.header .headertitle .title { + font-size: 180%; + font-weight: 400; + margin: 0.75em 0.25em 0.5em 0; +} + +.ingroups { + display: inline; +} +.title .ingroups a { + font-size: small; + margin-left: 1em; +} + +#titlebox, #metabox { + display: inline-block; +} +#titlebox{ + display: inline-block; + width: 75%; + left: 0; + top: 0; +} + +#title { + margin-bottom: 0.25em; +} + +#shortdesc { + margin: 0; + color: #666; + display: inline-block; + font-style: italic; + padding: 0; +} + +#titlearea { + margin: 0.25em auto 0.25em auto; + padding: 0; + position: relative; + clear: both; + line-height: 1.0em; +} + +h2 { + font-size: 160%; + font-weight: 400; +} + +h3 { + font-size: 140%; + font-weight: 400; +} + +h4 { + font-size: 120%; + font-weight: 500; +} + +h5, h6 { + font-size: 110%; + font-weight: 600; +} + +h1 a, h1 a:link, h1 a:visited , +h2 a, h2 a:link, h2 a:visited , +h3 a, h3 a:link, h3 a:visited , +h4 a, h4 a:link, h4 a:visited , +h5 a, h5 a:link, h5 a:visited , +h6 a, h6 a:link, h6 a:visited { + color: #444; +} + +p { + margin: 0.5em 0 0.5em 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-left: 2em; +} + +caption { + font-weight: 700; +} + +span.legend { + font-size: small; + text-align: center; +} + +h3.version { + font-size: small; + text-align: center; +} + +div.qindex,div.navtab { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + padding: 2px; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ +a { + color: #546E00; + text-decoration: none; +} + +.contents a:visited { + color: #344E00; +} + +a:hover { + text-decoration: underline; +} + +a.qindexHL { + background-color: #9CAFD4; + color: #FFF; + border: 1px double #869DCA; +} + +code { + color: #444; +} + +/* @end */ +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: "DejaVu Sans Mono",monospace,fixed; +} + +pre.fragment { + border: 1px solid #C4C4C4; + background-color: #F9F9F9; + padding: 0.5em; + overflow: auto; +} + +div.ah { + background-color: #000; + font-weight: 700; + color: #FFF; + margin-bottom: 3px; + margin-top: 3px; + padding: .2em; + border: thin solid #333; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: 700; +} + +a + h2.groupheader { + display: none; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +div.contents, #content { + padding: 0 0.25em 0 0.25em; + max-width: 60em; + margin-left: auto; + margin-right: auto; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: 700; + border: 1px solid #C4CFE5; + margin: 2px 0; + padding: 2px 10px; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0; +} + +table.memname { + font-family: "DejaVu Sans Mono",monospace,fixed; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0; + margin-bottom: 0; + padding: 0; +} + +div.center img { + border: 0; +} + +address.footer { + text-align: right; +} + +img.footer { + border: 0; + vertical-align: middle; +} + +/* @group Code Colorization */ +span.keyword { + color: #586E75; +} + +span.keywordtype { + color: #546E00; +} + +span.keywordflow { + color: #586E75; +} + +span.comment { + color: #6C71C4; +} + +span.preprocessor { + color: #D33682; +} + +span.stringliteral { + color: #CB4B16; +} + +span.charliteral { + color: #CB4B16; +} + +/* @end */ +td.tiny { + font-size: x-small; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: 700; +} + +hr { + height: 0; + border: none; + border-top: 1px solid #DDD; + margin: 2em 0 1em; +} + +#footer { + bottom: 0; + clear: both; + font-size: x-small; + margin: 2em 0 0; + padding: 0 1em 1em 1em; + vertical-align: top; + color: #888; +} + +/* @group Member Descriptions */ +table.memberdecls { + border-spacing: 0.125em; + line-height: 1.3em; +} + +.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams { + margin: 0; + padding: 0; +} + +.mdescLeft,.mdescRight { + color: #555; +} + +.memItemLeft,.memItemRight,.memTemplParams { + border: 0; + font-family: "DejaVu Sans Mono",monospace,fixed; +} + +.memItemLeft,.memTemplItemLeft { + white-space: nowrap; + padding-left: 2em; + padding-right: 1em; +} + +.memItemLeft a.el { + font-weight: bold; +} + +.memTemplParams { + color: #464646; + white-space: nowrap; +} + +td.memSeparator { + display: none; +} + +td.mlabels-right { + vertical-align: top; + padding-top: 4px; + color: #B4C342; +} + +.memtitle { + display: none; +} + +/* @end */ +/* @group Member Details */ +/* Styles for detailed member documentation */ +.memtemplate { + color: #888; + font-style: italic; + font-family: "DejaVu Sans Mono",monospace,fixed; + font-size: small; +} + +.memnav { + background-color: #EEE; + border: 1px solid #B4C342; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.memitem { + padding: 0.25em 0.5em 0.25em 0.5em; + margin: 0 0 1em 0; + border-radius: 6px; + border: 1px solid #DDD; +} + +.memproto { + font-size: 110%; + font-weight: 400; + line-height: 1em; + color: #000; +} + +.memproto .paramname { + font-style: normal; +} + +.memdoc { + padding: 0 0.25em 0 0.25em; +} + +.paramkey { + text-align: right; +} + +.paramtype { + color: #666; + padding-right: 0.5em; + white-space: nowrap; +} + +.paramname { + color: #111; + white-space: nowrap; + font-family: "DejaVu Sans Mono",monospace,fixed; + font-style: italic; + padding-right: 0.5em; +} + +.fieldname { + color: #000; +} + +.fieldtable { + padding-top: 0.25em; + border-top: 1px dashed #DDD; +} + +.fieldtable tbody tr:first-child { + display: none; +} + +td.fieldname { + padding: 0 0.5em 0 0.25em; + vertical-align: top; + font-family: "DejaVu Sans Mono",monospace,fixed; +} + +td.fieldtype { + color: #666; + padding: 0 0.5em 0 0; + vertical-align: top; + font-family: "DejaVu Sans Mono",monospace,fixed; +} + +td.fielddoc p { + margin: 0; + vertical-align: top; + padding: 0 0.5em 0 0; +} + +p.reference { + font-size: x-small; + font-style: italic; +} + +/* @end */ +/* @group Directory (tree) */ +/* for the tree view */ +.ftvtree { + font-family: sans-serif; + margin: 0; +} + +/* these are for tree view when used as main index */ +.directory { + font-size: small; + margin: 0.5em; +} + +.directory h3 { + margin: 0; + margin-top: 1em; + font-size: 11pt; +} + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0; +} + +.directory img { + vertical-align: -30%; +} + +td.entry { + font-family: "DejaVu Sans",Helvetica,Arial,sans-serif; + font-weight: 400; + padding-right: 1em; +} + +td.entry .arrow { + display: none; +} + +td.entry b { + font-family: "DejaVu Sans",Helvetica,Arial,sans-serif; + font-weight: 400; + font-size: 130%; +} + +/* these are for tree view when not used as main index */ +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ +div.dynheader { + margin-top: 8px; +} + +address { + font-style: normal; + color: #444; +} + +table.doxtable { + border-collapse: collapse; + margin: 0.5em; +} + +table.doxtable td,table.doxtable th { + border: 1px solid #DDD; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #F3F3F3; + color: #000; + padding-bottom: 4px; + padding-top: 5px; + text-align: left; + font-weight: bold; +} + +.tabsearch { + top: 0; + left: 10px; + height: 36px; + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +div.navpath { + color: #DDD; +} + +.navpath ul { + overflow: hidden; + margin: 0; + padding: 0; +} + +.navpath li { + float: left; + padding-left: 0; + margin-left: 0.5em; + padding-right: 1em; +} + +.navpath a { + display: block; + text-decoration: none; + outline: none; +} + +div.summary { + font-size: small; + font-family: "DejaVu Sans",Helvetica,Arial,sans-serif; + margin: 0; + color: #FFF; /* Hide separator bars */ + border-bottom: 1px solid #DDD; + padding: 0.25em 0; +} + +div.summary a { + white-space: nowrap; +} + +/* Metadata box (right aligned next to title) */ + +#metabox { + display: inline-block; + font-size: x-small; + margin: 0 0 0.25em 0; + position: absolute; + right: 0; + top: 0; + color: #666; + font-style: italic; + padding: 0 1em; +} + +#meta { + border-style: hidden; + margin-right: 0.25em; +} + +#meta tr, #meta th, #meta td { + background-color: transparent; + border: 0; + margin: 0; + font-weight: normal; +} + +#meta th { + text-align: right; +} + +#meta th:after { + content: ":"; +} + +div.line { + font-family: "DejaVu Sans Mono",monospace,fixed; + line-height: 1.4em; + white-space: pre-wrap; +} + +.glow { + background-color: #2AA198; + box-shadow: 0 0 10px #2AA198; +} + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #546E00; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.tabs, .tabs2, .navpath { + padding: 0.25em 0; + border-bottom: 1px solid #DDD; + font-size: small; + font-family: "DejaVu Sans",Helvetica,Arial,sans-serif; + margin: 0; +} + +th { + text-align: left; + font-size: 110%; + font-weight: 500; +} + +.mlabel { + padding: 0.125em; +} + +#navrow1 { + /* Disable menu from Doxygen 1.8.15, it is faked in the template */ + display: none; +} + +/* tabs*/ + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + display: table-cell; + line-height: 2em; + list-style: none; + border-bottom: 0; +} + +.tablist a { + display: block; + padding: 0 1em 0 0; + font-family: "DejaVu Sans",Helvetica,Arial,sans-serif; + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist li.current a { + color: #222; +} + +span.icon { + display: none; +} diff --git a/pugl/pugl.h b/pugl/pugl.h index 067d780..5e816f0 100644 --- a/pugl/pugl.h +++ b/pugl/pugl.h @@ -15,7 +15,7 @@ */ /** - @file pugl.h Public Pugl API. + @file pugl.h Public C API. */ #ifndef PUGL_H_INCLUDED @@ -48,30 +48,11 @@ extern "C" { /** @defgroup pugl Pugl - A minimal portable API for OpenGL. + Pugl C API. @{ */ /** - A Pugl view. -*/ -typedef struct PuglViewImpl PuglView; - -/** - Graphics backend interface. -*/ -typedef struct PuglBackendImpl PuglBackend; - -/** - A native window handle. - - On X11, this is a Window. - On OSX, this is an NSView*. - On Windows, this is a HWND. -*/ -typedef intptr_t PuglNativeWindow; - -/** Handle for opaque user data. */ typedef void* PuglHandle; @@ -428,6 +409,7 @@ typedef union { } PuglEvent; /** + @anchor world @name World The top level context of a Pugl application. @{ @@ -507,6 +489,7 @@ puglDispatchEvents(PuglWorld* world); /** @} + @anchor view @name View A view is a drawing region that receives events, which may correspond to a top-level window or be embedded in some other window. @@ -514,6 +497,11 @@ puglDispatchEvents(PuglWorld* world); */ /** + A Pugl view. +*/ +typedef struct PuglViewImpl PuglView; + +/** Create a new view. A view represents a window, but a window will not be shown until configured @@ -571,6 +559,7 @@ puglPostRedisplay(PuglView* view); /** @} + @anchor frame @name Frame Functions for working with the position and size of a view. @{ @@ -617,6 +606,15 @@ puglSetAspectRatio(PuglView* view, int minX, int minY, int maxX, int maxY); */ /** + A native window handle. + + On X11, this is a Window. + On OSX, this is an NSView*. + On Windows, this is a HWND. +*/ +typedef intptr_t PuglNativeWindow; + +/** Set the title of the window. This only makes sense for non-embedded views that will have a corresponding @@ -678,6 +676,11 @@ puglGetNativeWindow(PuglView* view); */ /** + Graphics backend interface. +*/ +typedef struct PuglBackendImpl PuglBackend; + +/** OpenGL extension function. */ typedef void (*PuglGlFunc)(void); @@ -738,7 +741,9 @@ puglLeaveContext(PuglView* view, bool drawing); /** @} - @name Event Handling + @anchor interaction + @name Interaction + Interacting with the system and user with events. @{ */ diff --git a/pugl/pugl.hpp b/pugl/pugl.hpp index c2602dd..dee8c17 100644 --- a/pugl/pugl.hpp +++ b/pugl/pugl.hpp @@ -15,7 +15,7 @@ */ /** - @file pugl.hpp Public Pugl C++ API wrapper. + @file pugl.hpp Pugl C++ API wrapper. */ #ifndef PUGL_HPP_INCLUDED @@ -25,7 +25,7 @@ /** @defgroup puglmm Puglmm - C++ API wrapper for Pugl. + Pugl C++ API wrapper. @{ */ @@ -275,15 +275,14 @@ def build(bld): if bld.env.DOCS: bld(features = 'subst', - source = 'Doxyfile.in', - target = 'Doxyfile', + source = 'doc/reference.doxygen.in', + target = 'doc/reference.doxygen', install_path = '', - name = 'Doxyfile', PUGL_VERSION = PUGL_VERSION, PUGL_SRCDIR = os.path.abspath(bld.path.srcpath())) bld(features = 'doxygen', - doxyfile = 'Doxyfile') + doxyfile = 'doc/reference.doxygen') def test(tst): |