# 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


