Skip to content

Commit

Permalink
Slightly nicer Doxygen documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
kmhofmann committed Dec 27, 2017
1 parent cb94658 commit afd5d65
Show file tree
Hide file tree
Showing 8 changed files with 225 additions and 15 deletions.
10 changes: 5 additions & 5 deletions Doxyfile
Expand Up @@ -44,7 +44,7 @@ PROJECT_NUMBER =
# 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 = "The image utility library"
PROJECT_BRIEF = "C++14 utility library for image representation and IO "

# 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
Expand Down Expand Up @@ -680,7 +680,7 @@ SHOW_FILES = YES
# Folder Tree View (if specified).
# The default value is: YES.

SHOW_NAMESPACES = YES
SHOW_NAMESPACES = NO

# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
Expand All @@ -703,7 +703,7 @@ FILE_VERSION_FILTER =
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.

LAYOUT_FILE =
LAYOUT_FILE = DoxygenLayout.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
Expand Down Expand Up @@ -1461,7 +1461,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 = NO
DISABLE_INDEX = YES

# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
# structure should be generated to display hierarchical information. If the tag
Expand All @@ -1478,7 +1478,7 @@ DISABLE_INDEX = NO
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.

GENERATE_TREEVIEW = NO
GENERATE_TREEVIEW = YES

# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
# doxygen will group on one line in the generated HTML documentation.
Expand Down
194 changes: 194 additions & 0 deletions DoxygenLayout.xml
@@ -0,0 +1,194 @@
<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"/>
<detaileddescription title=""/>
<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"/>
<detaileddescription title=""/>
<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>
<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"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<detaileddescription title=""/>
<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"/>
<detaileddescription title=""/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
</directory>
</doxygenlayout>
7 changes: 7 additions & 0 deletions README.md
Expand Up @@ -58,6 +58,13 @@ Or, alternatively, using [ninja](https://ninja-build.org/):

Preferably use the library "at head", e.g. as submodule, instead of invoking the `install` target.

Integrating the library into own CMake projects can be as easy as:

# ...
add_subdirectory(selene)
target_link_libraries(target_name selene::selene)
# ...

The default settings will build a set of static libraries.
If you want to build shared libraries instead, add `-DBUILD_SHARED_LIBS=ON` to the `cmake` command.

Expand Down
21 changes: 15 additions & 6 deletions src/selene/_doc.hpp
Expand Up @@ -4,12 +4,21 @@

/*! \mainpage Selene API documentation
*
* This is the automatically generated Doxygen documentation for the **Selene** API.
* **Selene** is a C++14 utility library for various image or IO related tasks.
*
* For introductory information about the library, please visit its GitHub page:
* https://github.com/kmhofmann/selene
*/

/** \namespace sln
* The library namespace. All functions, classes, structs and types of the library are part of this namespace.
* - https://github.com/kmhofmann/selene
*
* It currently contains, among other things:
* - Statically and dynamically typed in-memory image data representations.
* - Functions for reading and writing image data in JPEG and PNG formats (from/to files or memory).
* - Basic image processing functionality, such as:
* - Image pixel access using various interpolation algorithms (nearest neighbor, bilinear) and boundary handling strategies (no check, replicate boundary, zero padding).
* - Algorithms to apply point-wise operations to images/views.
* - Pixel-level and image-level conversion functions between different pixel formats (e.g. RGB -> Grayscale, etc.).
* - Functions for interoperability with OpenCV cv::Mat matrices (wrapping or cloning).
* - Functions for binary IO from and to files or memory.
* - A simple thread pool, to enable task-based parallelism.
*
* This is the automatically generated Doxygen documentation for the **Selene** API.
*/
2 changes: 1 addition & 1 deletion src/selene/img/JPEGRead.hpp
Expand Up @@ -84,7 +84,7 @@ struct JPEGDecompressionOptions
}
};

/** Opaque JPEG decompression object, holding internal state.
/** \brief Opaque JPEG decompression object, holding internal state.
*
*/
class JPEGDecompressionObject
Expand Down
2 changes: 1 addition & 1 deletion src/selene/img/JPEGWrite.hpp
Expand Up @@ -68,7 +68,7 @@ struct JPEGCompressionOptions
}
};

/** Opaque JPEG compression object, holding internal state.
/** \brief Opaque JPEG compression object, holding internal state.
*
*/
class JPEGCompressionObject
Expand Down
2 changes: 1 addition & 1 deletion src/selene/img/PNGRead.hpp
Expand Up @@ -113,7 +113,7 @@ struct PNGDecompressionOptions
}
};

/** Opaque PNG decompression object, holding internal state.
/** \brief Opaque PNG decompression object, holding internal state.
*
*/
class PNGDecompressionObject
Expand Down
2 changes: 1 addition & 1 deletion src/selene/img/PNGWrite.hpp
Expand Up @@ -76,7 +76,7 @@ struct PNGCompressionOptions
}
};

/** Opaque PNG compression object, holding internal state.
/** \brief Opaque PNG compression object, holding internal state.
*
*/
class PNGCompressionObject
Expand Down

0 comments on commit afd5d65

Please sign in to comment.