Get doxygen working again.

This also enables MarkDeep for the comments, but I haven't added
any examples of that yet.

Screenshots:
  https://screenshot.googleplex.com/mUCgtAesDWt.png
  https://screenshot.googleplex.com/S1p4Dhpn6KW.png

Bug: skia:
Change-Id: I4f645ef1050d26c7a4660a1fc28a8d41f085f4f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198241
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
This commit is contained in:
Joe Gregorio 2019-03-07 14:11:52 -05:00 committed by Skia Commit-Bot
parent 03896ae9ce
commit dd51aacdb1
8 changed files with 2761 additions and 59 deletions

View File

@ -1,59 +0,0 @@
# Configuration used by
# https://chromium.googlesource.com/chromium/tools/build/+/0f611b202b0e/scripts/slave/recipe_modules/skia/resources/generate_and_upload_doxygen.py
# to generate our Doxygen docs, which are then uploaded to
# http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html
PROJECT_NAME = Skia
PROJECT_BRIEF = 2D Graphics Library
PROJECT_LOGO = https://skia.org/res/img/logo.png
# These lines are overridden by
# https://chromium.googlesource.com/chromium/tools/build/+/0f611b202b0e/scripts/slave/recipe_modules/skia/resources/generate_and_upload_doxygen.py
# but they are needed in case someone wants to generate the doxygen manually
# for some reason.
OUTPUT_DIRECTORY = ../docs
HTML_FOOTER = ../docs/static_footer.txt
EXTRACT_ALL = NO
INHERIT_DOCS = YES
INLINE_INHERITED_MEMB = NO
JAVADOC_AUTOBRIEF = YES
TAB_SIZE = 4
WARN_IF_UNDOCUMENTED = NO
# This file only creates documentation for the most important parts of the
# external-visible API.
INPUT = include/core include/effects include/gpu
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
HTML_DYNAMIC_SECTIONS = NO
GENERATE_TREEVIEW = YES
GENERATE_LATEX = NO
# Good class diagrams require graphviz, but also more parameter tuning and
# more build time than seems worthwhile.
CLASS_DIAGRAMS = YES
# HAVE_DOT = YES
# CLASS_GRAPH = YES
# COLLABORATION_GRAPH = YES
# UML_LOOK = YES
# GRAPHICAL_HIERARCHY = YES
# Make SkDEBUGCODE disappear.
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
EXPAND_AS_DEFINED = SkDEBUGCODE
# experimental evil only! inflates build time by 10 minutes
# SEARCH_INCLUDES = YES
# INCLUDE_GRAPH = YES
# INCLUDED_BY_GRAPH = YES
# DIRECTORY_GRAPH = YES
# INTERACTIVE_SVG = YES

2495
tools/doxygen/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
# This config is used to generate the docs under continuous integration.
@INCLUDE = Doxyfile
OUTPUT_DIRECTORY = /workspace/__doxygen_staging

31
tools/doxygen/README.md Normal file
View File

@ -0,0 +1,31 @@
Doxygen
=======
To generate all the documentation run the following
from this directory:
doxygen Doxyfile
The resulting output goes to
/tmp/doxygen
To view those file locally in your browser run:
cd /tmp/doxygen/html; python -m SimpleHTTPServer 8000
and visit
http://localhost:8000
If you want to have the documentation regenerated on every save then
you can install `entr` and run the following from this directory:
find ../../include/ ../../src/ . | entr doxygen ./Doxyfile
Install
-------
For a linux desktop you can install the doxygen tool via:
sudo apt install doxygen

View File

@ -0,0 +1,182 @@
/* Skia overrides for doxygen CSS. */
html {
--blue: rgb(0,114,178);
--green: rgb(0,158,115);
--red: rgb(213,94,0);
--orange: rgb(230,159,0);
--purple: rgb(204,121,167);
--brown: rgb(177,89,40);
--gray: rgb(79,79,79);
--light-blue: rgb(128,185,217);
--light-green: rgb(128,207,185);
--light-red: rgb(234,175,128);
--light-orange: rgb(243,207,128);
--light-purple: rgb(230,188,211);
--light-brown: rgb(216,172,148);
--light-gray: rgb(168,168,168);
--dark-blue: rgb(0,65,101);
--dark-red: rgb(156,44,8);
--white: rgb(254,254,254);
--dark-white: rgb(240,240,240);
--black: rgb(10,10,10);
}
#titlearea {
/* background matches Skia logo. */
background: rgb(248,248,248);
color: var(--blue);
}
#main-nav .sm {
background-image: none;
}
h2.groupheader {
border-bottom: var(--gray);
color: var(--dark-blue);
}
div.qindex, div.navtab{
background-color: var(--light-gray);
border: 1px solid var(--light-blue);
}
a {
color: var(--blue);
}
.contents a:visited {
color: var(--blue);
}
a.qindexHL {
background-color: var(--light-gray);
color: var(--white);
border: 1px double var(--gray);
}
.contents a.qindexHL:visited {
color: var(--white);
}
a.code, a.code:visited, a.line, a.line:visited {
color: var(--blue);
}
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
color: var(--blue);
}
pre.fragment {
border: 1px solid var(--orange);
background-color: var(--dark-white);
}
div.fragment {
background-color: var(--dark-white);
border: 1px solid var(--orange);
}
span.lineno {
border-right: 2px solid var(--green);
background-color: var(-light-gray);
}
span.lineno a {
background-color: var(--light-gray);
}
span.lineno a:hover {
background-color: var(--light-gray);
color: var(--blue);
}
div.ah, span.ah {
background-color: var(--black);
color: var(--white);
border: solid thin var(--gray);
box-shadow: 2px 2px 3px var(light-gray);
background-image: none;
}
td.indexkey {
background-color: var(--light-gray);
border: 1px solid var(--orange);
}
td.indexvalue {
background-color: var(--light-gray);
border: 1px solid var(--orange);
}
tr.memlist {
background-color: var(--light-gray);
}
span.keyword {
color: var(--green);
}
span.keywordtype {
color: var(--brown);
}
span.keywordflow {
color: var(--brown);
}
span.comment {
color: var(--brown);
}
span.charliteral {
color: var(--green);
}
span.vhdldigit {
color: var(--purple);
}
span.vhdlchar {
color: var(--black);
}
blockquote {
background-color: var(--light-gray);
border-left: 2px solid var(--gray);
}
.memtitle {
background-image: none;
}
.memdoc, dl.reflist dd {
background-image: none;
}
.paramname {
color: var(--dark-red);
}
.tabsearch {
background-image: none;
}
.navpath ul {
background-image: none;
}
.navpath li {
background-image: none;
}
.navpath li.navelem a:hover {
color: var(--blue)
}
.navpath li.footer {
background-image:none;
}

24
tools/doxygen/footer.html Normal file
View File

@ -0,0 +1,24 @@
<!-- HTML footer for doxygen 1.8.13-->
<!-- 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</a> $doxygenversion on $date</li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby &#160;<a href="http://www.doxygen.org/index.html">
Doxygen
</a> $doxygenversion on $date
</small></address>
<!--END !GENERATE_TREEVIEW-->
<script>window.markdeepOptions = {mode: 'doxygen'};</script>
<script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script src="markdeep.min.js"></script>
</body>
</html>

BIN
tools/doxygen/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -0,0 +1,24 @@
/** \mainpage
Skia is an open source 2D graphics library which provides common APIs that work
across a variety of hardware and software platforms. It serves as the graphics
engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox
OS, and many other products.
Skia is sponsored and managed by Google, but is available for use by anyone
under the BSD Free Software License. While engineering of the core components
is done by the Skia development team, we consider contributions from any
source.
The site you are at is the API documentation for the Skia library. Other
resources are:
- Canonical source tree:
[skia.googlesource.com/skia](https://skia.googlesource.com/skia).
- Issue tracker:
[bug.skia.org](https://bug.skia.org/).
- Discussion forum:
[skia-discuss@googlegroups.com](https://groups.google.com/forum/#!forum/skia-discuss).
- Skia Fiddle: [fiddle.skia.org](https://fiddle.skia.org/c/@skcanvas_paint).
*/