# 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://chromium-skia-gm.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html


PROJECT_NAME = skia
PROJECT_BRIEF = 2D Graphics Library

# 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, but not SK_OVERRIDE.
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


