diff options
author | bradnelson@google.com <bradnelson@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-28 20:23:26 +0000 |
---|---|---|
committer | bradnelson@google.com <bradnelson@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-28 20:23:26 +0000 |
commit | d15f03f7d3aaa253d32c8bfc4f1543f5f9d6eeae (patch) | |
tree | e3ae9df25c03721d2889ca4aad346dc7c2d99363 /o3d/documentation | |
parent | e6111af1609505398801eed7619a2f7191fe3a2b (diff) | |
download | chromium_src-d15f03f7d3aaa253d32c8bfc4f1543f5f9d6eeae.zip chromium_src-d15f03f7d3aaa253d32c8bfc4f1543f5f9d6eeae.tar.gz chromium_src-d15f03f7d3aaa253d32c8bfc4f1543f5f9d6eeae.tar.bz2 |
Moving o3d up a level, to get it out of chrome checkouts.
BUG=None
TEST=None
Too large for codereview.
Manual review by thaloun and tschelcher.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79609 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/documentation')
34 files changed, 0 insertions, 6108 deletions
diff --git a/o3d/documentation/Doxyfile b/o3d/documentation/Doxyfile deleted file mode 100644 index b4e98e2..0000000 --- a/o3d/documentation/Doxyfile +++ /dev/null @@ -1,293 +0,0 @@ -# Doxyfile 1.5.7.1 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = O3D -PROJECT_NUMBER = -OUTPUT_DIRECTORY = scons-out/docs/obj/documentation -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = YES -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = "C:/Documents and Settings/rlp/" -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = YES -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 8 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = NO -OPTIMIZE_OUTPUT_JAVA = YES -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -SYMBOL_CACHE_SIZE = 0 -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = NO -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = NO -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = YES -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = NO -SHOW_DIRECTORIES = NO -SHOW_FILES = NO -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = documentation/DoxygenLayout.xml -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = scons-out/docs/obj/documentation -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl -RECURSIVE = NO -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = NO -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = documentation/header.html -HTML_FOOTER = documentation/footer.html -HTML_STYLESHEET = documentation/stylesheet.css -HTML_ALIGN_MEMBERS = NO -HTML_DYNAMIC_SECTIONS = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -GENERATE_QHP = NO -QCH_FILE = -QHP_NAMESPACE = org.doxygen.Project -QHP_VIRTUAL_FOLDER = doc -QHG_LOCATION = -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NONE -TREEVIEW_WIDTH = 251 -FORMULA_FONTSIZE = 10 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -DOT_FONTNAME = FreeSans -DOT_FONTSIZE = 10 -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = NO -GROUP_GRAPHS = NO -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/o3d/documentation/DoxygenLayout.xml b/o3d/documentation/DoxygenLayout.xml deleted file mode 100644 index 17ccc77..0000000 --- a/o3d/documentation/DoxygenLayout.xml +++ /dev/null @@ -1,182 +0,0 @@ -<doxygenlayout version="1.0"> - <!-- Navigation index tabs for HTML output --> - <navindex> - <tab type="mainpage" visible="yes" title=""/> - <tab type="pages" visible="yes" title=""/> - <tab type="modules" visible="yes" title=""/> - <tab type="namespaces" visible="yes" title=""> - <tab type="namespaces" visible="yes" title=""/> - <tab type="namespacemembers" visible="yes" title=""/> - </tab> - <tab type="classes" visible="yes" title=""> - <tab type="classes" visible="yes" title=""/> - <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> - <tab type="hierarchy" visible="yes" title=""/> - <tab type="classmembers" visible="yes" title=""/> - </tab> - <tab type="files" visible="yes" title=""> - <tab type="files" visible="yes" title=""/> - <tab type="globals" visible="yes" title=""/> - </tab> - <tab type="dirs" visible="yes" title=""/> - <tab type="examples" visible="yes" title=""/> - </navindex> - - <!-- Layout definition for a class page --> - <class> - <briefdescription visible="yes"/> - <includes visible="$SHOW_INCLUDE_FILES"/> - <inheritancegraph visible="$CLASS_GRAPH"/> - <allmemberslink visible="yes"/> - <collaborationgraph visible="$COLLABORATION_GRAPH"/> - <detaileddescription title=""/> - <memberdecl> - <membergroups visible="yes"/> - <nestedclasses visible="yes" title=""/> - <publictypes 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=""/> - </memberdecl> - <memberdef> - <typedefs title=""/> - <enums title=""/> - <constructors title=""/> - <functions title=""/> - <related title=""/> - <variables title=""/> - <properties title=""/> - <events title=""/> - </memberdef> - <usedfiles visible="$SHOW_USED_FILES"/> - <authorsection visible="yes"/> - </class> - - <!-- Layout definition for a namespace page --> - <namespace> - <briefdescription visible="yes"/> - <memberdecl> - <nestednamespaces visible="yes" title=""/> - <classes visible="yes" title=""/> - <membergroups visible="yes"/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <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=""/> - <defines title=""/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <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"/> - <memberdecl> - <classes visible="yes" title=""/> - <namespaces visible="yes" title=""/> - <dirs visible="yes" title=""/> - <nestedgroups visible="yes" title=""/> - <files 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=""/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <pagedocs/> - <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/o3d/documentation/build_docs.bat b/o3d/documentation/build_docs.bat deleted file mode 100755 index bad9281..0000000 --- a/o3d/documentation/build_docs.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo OFF
-REM Copyright 2009, Google Inc.
-REM All rights reserved.
-REM
-REM Redistribution and use in source and binary forms, with or without
-REM modification, are permitted provided that the following conditions are
-REM met:
-REM
-REM * Redistributions of source code must retain the above copyright
-REM notice, this list of conditions and the following disclaimer.
-REM * Redistributions in binary form must reproduce the above
-REM copyright notice, this list of conditions and the following disclaimer
-REM in the documentation and/or other materials provided with the
-REM distribution.
-REM * Neither the name of Google Inc. nor the names of its
-REM contributors may be used to endorse or promote products derived from
-REM this software without specific prior written permission.
-REM
-REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-REM A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-REM OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-REM SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-REM LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-REM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-REM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-REM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-REM OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-set PYTHONDIR=%~dp0..\..\third_party\python_24
-call %PYTHONDIR%\setup_env.bat
-%PYTHONDIR%\python.exe %~dp0\build_docs.py %*
diff --git a/o3d/documentation/build_docs.py b/o3d/documentation/build_docs.py deleted file mode 100755 index bfd3538..0000000 --- a/o3d/documentation/build_docs.py +++ /dev/null @@ -1,354 +0,0 @@ -#!/usr/bin/python2.4 -# Copyright 2009, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -"""Docbuilder for O3D and o3djs.""" - - -import os -import os.path -import sys -import imp -import types -import glob -import subprocess -import shutil -import re - - -_java_exe = '' -_output_dir = '' -_third_party_dir = '' -_o3d_third_party_dir = '' -_script_path = os.path.dirname(os.path.realpath(__file__)) -_js_copyright = """ -/* - * Copyright 2009, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -""" - -GlobalsDict = { } - - -def MakePath(*file_paths): - """Makes a path absolute given a path relative to this script.""" - return os.path.join(_script_path, *file_paths) - - -def MakeCommandName(name): - """adds '.exe' if on Windows""" - if os.name == 'nt': - return name + '.exe' - return name - - -def Execute(args): - """Executes an external program.""" - # Comment the next line in for debugging. - # print "Execute: ", ' '.join(args) - if subprocess.call(args) > 0: - raise RuntimeError('FAILED: ' + ' '.join(args)) - - -def AppendBasePath(folder, filenames): - """Appends a base path to a ist of files""" - return [os.path.join(folder, filename) for filename in filenames] - - -def RunNixysa(idl_files, generate, output_dir, nixysa_options): - """Executes Nixysa.""" - Execute([ - sys.executable, - MakePath(_o3d_third_party_dir, 'nixysa', 'codegen.py'), - '--binding-module=o3d:%s' % MakePath('..', 'plugin', 'o3d_binding.py'), - '--generate=' + generate, - '--force', - '--output-dir=' + output_dir] + - nixysa_options + - idl_files) - - -def RunJSDocToolkit(js_files, ezt_output_dir, html_output_dir, prefix, mode, - baseURL, topURL, exports_file): - """Executes the JSDocToolkit.""" - list_filename = MakePath(_output_dir, 'doclist.conf') - f = open(list_filename, 'w') - f.write('{\nD:{\n') - f.write('prefix: "%s",\n' % prefix) - f.write('baseURL: "%s",\n' % baseURL) - f.write('topURL: "%s",\n' % topURL) - f.write('mode: "%s",\n' % mode) - f.write('htmlOutDir: "%s",\n' % html_output_dir.replace('\\', '/')) - f.write('exportsFile: "%s",\n' % exports_file.replace('\\', '/')) - f.write('endMarker: ""\n') - f.write('},\n') - f.write('_: [\n') - for filename in js_files: - f.write('"%s",\n' % filename.replace('\\', '/')) - f.write(']\n}\n') - f.close() - - files_dir = MakePath(_third_party_dir, 'jsdoctoolkit', 'files') - Execute([ - _java_exe, - '-Djsdoc.dir=%s' % files_dir, - '-jar', - MakePath(files_dir, 'jsrun.jar'), - MakePath(files_dir, 'app', 'run.js'), - '-v', - '-t=%s' % MakePath('jsdoc-toolkit-templates'), - '-d=' + ezt_output_dir, - '-c=' + list_filename]) - - -def DeleteOldDocs(docs_js_outpath): - try: - shutil.rmtree(docs_js_outpath); - except: - pass - - -def BuildJavaScriptForDocsFromIDLs(idl_files, output_dir): - RunNixysa(idl_files, 'jsheader', output_dir, - ['--properties-equal-undefined', '--overloaded-function-docs']) - - -def BuildJavaScriptForExternsFromIDLs(idl_files, output_dir): - if (os.path.exists(output_dir)): - for filename in glob.glob(os.path.join(output_dir, '*.js')): - os.unlink(filename) - RunNixysa(idl_files, 'jsheader', output_dir, ['--no-return-docs']) - - -def BuildO3DDocsFromJavaScript(js_files, ezt_output_dir, html_output_dir): - RunJSDocToolkit(js_files, ezt_output_dir, html_output_dir, - 'classo3d_1_1_', 'o3d', '', '', '') - - -def BuildO3DClassHierarchy(html_output_dir): - # TODO(gman): We need to make mutliple graphs. One for Params, one for - # ParamMatrix4, one for RenderNode, one for everythng else. - dot_path = MakePath(_third_party_dir, 'graphviz', 'files', 'bin', - MakeCommandName('dot')) - if os.path.exists(dot_path): - Execute([ - dot_path, - '-Tcmapx', '-o' + MakePath(html_output_dir, 'class_hierarchy.map'), - '-Tpng', '-o' + MakePath(html_output_dir, 'class_hierarchy.png'), - MakePath(html_output_dir, 'class_hierarchy.dot')]) - - -def BuildO3DJSDocs(js_files, ezt_output_dir, html_output_dir, exports_file): - # The backslashes below on 'jsdocs/' and '../' must stay. - RunJSDocToolkit(js_files, ezt_output_dir, html_output_dir, 'js_1_0_', 'o3djs', - 'jsdocs/', '../', exports_file) - - -def BuildO3DExternsFile(js_files_dir, extra_externs_file, externs_file): - outfile = open(externs_file, 'w') - filenames = (glob.glob(os.path.join(js_files_dir, '*.js')) + - [extra_externs_file]) - for filename in filenames: - print "-----", filename - infile = open(filename, 'r') - lines = infile.readlines() - infile.close() - filtered = [] - skipping = False - # strip out @o3dparameter stuff - for line in lines: - if skipping: - if line.startswith(' * @') or line.startswith(' */'): - skipping = False - if not skipping: - if line.startswith(' * @o3dparameter'): - skipping = True - if not skipping: - filtered.append(line) - outfile.write(''.join(filtered)) - outfile.close() - - -def BuildCompiledO3DJS(o3djs_files, - externs_path, - o3d_externs_js_path, - compiled_o3djs_outpath): - Execute([ - _java_exe, - '-jar', - MakePath('..', '..', 'o3d-internal', 'jscomp', 'JSCompiler_deploy.jar'), - '--property_renaming', 'OFF', - '--variable_renaming', 'LOCAL', - '--jscomp_error=visibility', - '--jscomp_error=accessControls', - '--strict', - '--externs=%s' % externs_path, - ('--externs=%s' % o3d_externs_js_path), - ('--js_output_file=%s' % compiled_o3djs_outpath)] + - ['-js=%s' % (x, ) for x in o3djs_files]); - - # strip out goog.exportSymbol and move o3djs.require to end - file = open(compiled_o3djs_outpath, 'r') - contents = file.read() - file.close() - contents = re.sub(r'goog.exportSymbol\([^\)]*\);', '', contents) - requires = set(re.findall(r'o3djs.require\([^\)]*\);', contents)) - contents = re.sub(r'o3djs.require\([^\)]*\);', '', contents) - file = open(compiled_o3djs_outpath, 'w') - file.write(_js_copyright) - file.write(contents) - file.write('\n') - file.write('\n'.join(requires)) - file.close() - - -def CopyStaticFiles(o3d_docs_ezt_outpath, o3d_docs_html_outpath): - files = ['stylesheet.css', - 'prettify.css', - 'prettify.js', - 'tabs.css', - 'tab_l.gif', - 'tab_r.gif', - 'tab_b.gif'] - for file in files: - shutil.copyfile(MakePath('jsdoc-toolkit-templates', 'static', file), - MakePath(os.path.join(o3d_docs_ezt_outpath, file))) - shutil.copyfile(MakePath('jsdoc-toolkit-templates', 'static', file), - MakePath(os.path.join(o3d_docs_html_outpath, file))) - - -def main(argv): - """Builds the O3D API docs and externs and the o3djs docs.""" - global _java_exe - _java_exe = argv[0] - global _third_party_dir - _third_party_dir = argv[1] - global _o3d_third_party_dir - _o3d_third_party_dir = os.path.normpath( - os.path.join(os.path.dirname(__file__), '..', 'third_party')) - - # Fix up the python path of subprocesses by setting PYTHONPATH. - pythonpath = os.pathsep.join([MakePath(_o3d_third_party_dir, 'gflags', 'python'), - MakePath(_o3d_third_party_dir, 'ply')]) - - orig_pythonpath = os.environ.get('PYTHONPATH') - if orig_pythonpath: - pythonpath = os.pathsep.join([pythonpath, orig_pythonpath]) - - os.environ['PYTHONPATH'] = pythonpath - - js_list_filename = MakePath('..', 'samples', 'o3djs', 'js_list.manifest') - idl_list_filename = MakePath('..', 'plugin', 'idl_list.manifest') - js_list_basepath = os.path.dirname(js_list_filename) - idl_list_basepath = os.path.dirname(idl_list_filename) - - global _output_dir - _output_dir = argv[2] - docs_outpath = os.path.join(_output_dir, 'documentation') - docs_js_outpath = MakePath(docs_outpath, 'apijs') - externs_js_outpath = MakePath(_output_dir, 'externs') - o3d_docs_ezt_outpath = MakePath(docs_outpath, 'reference') - o3d_docs_html_outpath = MakePath(docs_outpath, 'local_html') - o3djs_docs_ezt_outpath = MakePath(docs_outpath, 'reference', 'jsdocs') - o3djs_docs_html_outpath = MakePath(docs_outpath, 'local_html', 'jsdocs') - o3d_externs_path = MakePath(_output_dir, 'o3d-externs.js') - o3djs_exports_path = MakePath(_output_dir, 'o3d-exports.js') - compiled_o3djs_outpath = MakePath(docs_outpath, 'base.js') - externs_path = MakePath('externs', 'externs.js') - o3d_extra_externs_path = MakePath('externs', 'o3d-extra-externs.js') - - js_list = eval(open(js_list_filename, "r").read()) - idl_list = eval(open(idl_list_filename, "r").read()) - - idl_files = AppendBasePath(idl_list_basepath, idl_list) - o3djs_files = AppendBasePath(js_list_basepath, js_list) - - # we need to put base.js first? - o3djs_files = ( - filter(lambda x: x.endswith('base.js'), o3djs_files) + - filter(lambda x: not x.endswith('base.js'), o3djs_files)) - - docs_js_files = [os.path.join( - docs_js_outpath, - os.path.splitext(os.path.basename(f))[0] + '.js') - for f in idl_list] - - try: - DeleteOldDocs(MakePath(docs_outpath)) - BuildJavaScriptForDocsFromIDLs(idl_files, docs_js_outpath) - BuildO3DDocsFromJavaScript([o3d_extra_externs_path] + docs_js_files, - o3d_docs_ezt_outpath, o3d_docs_html_outpath) - BuildO3DClassHierarchy(o3d_docs_html_outpath) - BuildJavaScriptForExternsFromIDLs(idl_files, externs_js_outpath) - BuildO3DExternsFile(externs_js_outpath, - o3d_extra_externs_path, - o3d_externs_path) - BuildO3DJSDocs(o3djs_files + [o3d_externs_path], o3djs_docs_ezt_outpath, - o3djs_docs_html_outpath, o3djs_exports_path) - CopyStaticFiles(o3d_docs_ezt_outpath, o3d_docs_html_outpath) - BuildCompiledO3DJS(o3djs_files + [o3djs_exports_path], - externs_path, - o3d_externs_path, - compiled_o3djs_outpath) - except Exception: - if os.path.exists(compiled_o3djs_outpath): - os.unlink(compiled_o3djs_outpath) - raise - - -if __name__ == '__main__': - main(sys.argv[1:]) diff --git a/o3d/documentation/classtree.bat b/o3d/documentation/classtree.bat deleted file mode 100644 index f15bbe8..0000000 --- a/o3d/documentation/classtree.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo OFF -REM Copyright 2009, Google Inc. -REM All rights reserved. -REM -REM Redistribution and use in source and binary forms, with or without -REM modification, are permitted provided that the following conditions are -REM met: -REM -REM * Redistributions of source code must retain the above copyright -REM notice, this list of conditions and the following disclaimer. -REM * Redistributions in binary form must reproduce the above -REM copyright notice, this list of conditions and the following disclaimer -REM in the documentation and/or other materials provided with the -REM distribution. -REM * Neither the name of Google Inc. nor the names of its -REM contributors may be used to endorse or promote products derived from -REM this software without specific prior written permission. -REM -REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -REM A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -REM OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -REM SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -REM LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -REM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -REM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -REM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -REM OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -set PYTHONDIR=%~dp0..\..\third_party\python_24 -call %PYTHONDIR%\setup_env.bat -%PYTHONDIR%\python.exe %~dp0\classtree.py %* diff --git a/o3d/documentation/classtree.py b/o3d/documentation/classtree.py deleted file mode 100644 index 36308e5..0000000 --- a/o3d/documentation/classtree.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python2.4 -# Copyright 2009, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -"""Creates unordered list of classes and packages.""" - - -import os.path -import re -import sys - -# Special regular expressions for search and replace -list_item_string = ('<a class="el" href="([a-zA-Z0-9_]*.html)">' - '([a-zA-Z0-9\.]*)</a></td>') -LIST_ITEM = re.compile(list_item_string) - - -def HyphenateWord(original_word, max_length, join_str='-'): - """Breaks a word at max_length with hyphens. - - If the word is still too long (i.e., length > 2*max_length), the word will - be split again. The word will be split at word breaks defined by a - switch from lowercase to uppercase. The function will attempt to break at - the closest switch before the max_length number of letters. If there is no - upper case letter before the max_length, the original word will be returned. - If max_length is 0 the original word will be returned. - - Args: - original_word: the word to break. - max_length: maximum length in chars for any piece of the word. - join_str: characters to join the hyphenated parts with, defaults to '-' - Returns: - the hyphenated word. - """ - word_list = [] - while len(original_word) > max_length: - for i in range(max_length, -1, -1): - if original_word[i].isupper(): - word_list += [original_word[:i]] - original_word = original_word[i:] - break - if i == 0: - # There was no uppercase letter found so we don't break and just - # return the original word - return original_word - - word_list += [original_word] - - return join_str.join(word_list) - - -def CreateListItems(input_html_file, max_length, html_directory): - """Creates html for a list of items based on the input html file. - - Args: - input_html_file: file to extract list items from. - max_length: maximum length for sidebar entry. - html_directory: relative html path for linked files. - Returns: - item_list: a list representing the new html. - """ - infile = open(input_html_file, 'r') - lines_list = infile.readlines() - infile.close() - - item_list = [' <ul>\n'] - format_string = (' <li><a href="%s%s">%s</a></li>\n') - heading_format_string = (' <li><font class="sidebar-heading">%s' - '</font></li>\n') - - previous_package = '' - for line in lines_list: - match = re.search(LIST_ITEM, line) - if match: - split_name = match.group(2).split('.') - short_name = HyphenateWord(split_name[-1], max_length, '-<br>') - package = '.'.join(split_name[:-1]) - if package != previous_package: - item_list += [heading_format_string % package] - previous_package = package - item_list += [format_string % (html_directory, match.group(1), - short_name)] - - item_list += [' </ul>\n'] - - return item_list - - -def CreateClassTreeHtmlFile(classtree_items, directory, html_directory): - """Creates classtree.html file which has item lists based on class structure. - - The html file is only the lists and no surrounding html (body tag, etc.) as - it is meant to be inserted into ezt html. - - Args: - classtree_items: list of header-filename pairs to create list from. - directory: location of the input html files to CreateListItems. - html_directory: relative html path for linked files. - """ - # Open file to write - filename = os.path.join(directory, 'classtree.html') - outfile = open(filename, 'w') - - originals_directory = os.path.join(directory, 'original_html') - - output_list = ['<ul>\n'] - for ct_item in classtree_items: - output_list += [' <li><a href="%s' % html_directory] - output_list += ['%s">%s</a>\n' % (ct_item[1], ct_item[0])] - full_file_name = os.path.join(originals_directory, ct_item[1]) - output_list += CreateListItems(full_file_name, 16, html_directory) - output_list += [' </li>\n'] - output_list += ['</ul>\n'] - - outfile.writelines(output_list) - outfile.close() - - -def main(): - usage_string = 'This script generates an html list of the classes and ' - usage_string += 'packages. The output file is called classtree.html. If no ' - usage_string += 'directory is specified, . is used as a default\n' - usage_string += 'Usage: classtree.py <directory>' - - print usage_string - - # Specify the default directory - directory = '.' - if len(sys.argv) > 1: - directory = sys.argv[1] - #create classtree items - classtree_items = [('Packages', 'namespaces.html'), - ('Classes', 'annotated.html')] - # create the class tree - CreateClassTreeHtmlFile(classtree_items, directory, - '/apis/o3d/docs/reference/') - -if __name__ == '__main__': - main() diff --git a/o3d/documentation/documentation.gyp b/o3d/documentation/documentation.gyp deleted file mode 100644 index 0c51cdf..0000000 --- a/o3d/documentation/documentation.gyp +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright (c) 2009 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'variables': { - 'chromium_code': 1, - # We only want the documentation targets to be defined if the JS - # Compiler is available, so we use python to find out if it's - # available. - 'jscomp_exists': '<!(python ../build/file_exists.py ' - '../../o3d-internal/jscomp/JSCompiler_deploy.jar)', - 'conditions': [ - [ 'OS=="mac"', { - # We need to point to Java 6 explicitly on Mac OS X - 'java_exe%': '/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java' - }, { - # OS!="mac" - 'java_exe%': 'java' - }], - ], - }, - 'includes': [ - '../build/common.gypi', - ], - 'targets': [ - ], - 'conditions': [ - [ '"<(jscomp_exists)"=="True"', - { - # Define these here so we don't run the scripts unless we need to. - 'variables': { - 'input_js_files': [ - '<!@(python get_docs_files.py --js)', - ], - 'input_idl_files': [ - '<!@(python get_docs_files.py --idl)', - ], - }, - 'targets': [ - { - 'target_name': 'documentation', - 'type': 'none', - 'actions': [ - { - 'action_name': 'build_docs', - 'inputs': [ - '<@(input_js_files)', - '<@(input_idl_files)', - 'jsdoc-toolkit-templates/annotated.tmpl', - 'jsdoc-toolkit-templates/class.tmpl', - 'jsdoc-toolkit-templates/classtree.tmpl', - 'jsdoc-toolkit-templates/dot.tmpl', - 'jsdoc-toolkit-templates/filelist.tmpl', - 'jsdoc-toolkit-templates/members.tmpl', - 'jsdoc-toolkit-templates/namespaces.tmpl', - 'jsdoc-toolkit-templates/publish.js', - 'jsdoc-toolkit-templates/static/header.html', - 'jsdoc-toolkit-templates/static/footer.html', - 'jsdoc-toolkit-templates/static/stylesheet.css', - 'jsdoc-toolkit-templates/static/tabs.css', - 'jsdoc-toolkit-templates/static/tab_l.gif', - 'jsdoc-toolkit-templates/static/tab_r.gif', - 'jsdoc-toolkit-templates/static/tab_b.gif', - 'externs/externs.js', - 'externs/o3d-extra-externs.js', - 'build_docs.py' - ], - 'outputs': [ - # There are really a whole lot more outputs than - # this, but to determine what they are would require - # having the entire docs script run every time, so - # we just depend on the ultimate compiled base.js - # file, which is rebuilt every time the docs build - # happens. - '<(PRODUCT_DIR)/docs/documentation/base.js', - ], - 'action': [ - 'python', - 'build_docs.py', - '<@(java_exe)', - '../../third_party', - '<(PRODUCT_DIR)/docs', - ], - }, - ], - 'copies': [ - { - 'destination': '<(PRODUCT_DIR)/samples/o3djs', - 'files': [ - '<(PRODUCT_DIR)/docs/documentation/base.js', - ], - }, - ], - }, - ], - }, - { - 'targets': [ - { - # Empty target if the js compiler doesn't exist. - 'target_name': 'documentation', - 'type': 'none', - }, - ], - }, - ], - ], -} - -# Local Variables: -# tab-width:2 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=2 shiftwidth=2: diff --git a/o3d/documentation/externs/externs.js b/o3d/documentation/externs/externs.js deleted file mode 100644 index 4e694b0..0000000 --- a/o3d/documentation/externs/externs.js +++ /dev/null @@ -1,1859 +0,0 @@ -// Copyright 2006 Google Inc. -// All Rights Reserved. - -// Common external variables when compiling -// DEPRECATED: please use the files in //javascript/externs/... - -// JavaScript objects -/** - * @constructor - * @param {*} var_args - * @return {!Array} - */ -function Array(var_args) {} -/** - * @constructor - * @param {*} opt_value - * @return {boolean} - */ -function Boolean(opt_value) {} -/** - * @constructor - * @return {string} - */ -function Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num, - opt_sec_num, opt_ms_num) {} -/** - * @constructor - * @param {*} opt_message - * @param {*} opt_file - * @param {*} opt_line - * @return {!Error} - */ -function Error(opt_message, opt_file, opt_line) {} -/** - * @constructor - * @param {*} var_args - */ -function Function(var_args) {} -/** - * @constructor - * @param {*} opt_value - * @return {number} - */ -function Number(opt_value) {} -/** - * @constructor - * @param {*} opt_value - */ -function Object(opt_value) {} -/** - * @constructor - * @param {*} opt_pattern - * @param {*} opt_flags - * @return {!RegExp} - */ -function RegExp(opt_pattern, opt_flags) {} -/** - * @constructor - * @param {*} opt_str - * @return {string} - */ -function String(opt_str) {} - -// For IE, returns an object representing key-value pairs for all the global -// variables prefixed with str, e.g. test* -function RuntimeObject(opt_str) {} - -/** @constructor */ -function Arguments() {} - -// JavaScript functions -// escape() and unescape() should only be used in browser where -// encode/decodeURIComponent are not present, as the latter -// handle fancy Unicode characters. -function decodeURI(x) {} -function decodeURIComponent(x) {} -function encodeURI(x) {} -function encodeURIComponent(x) {} -function escape(x) {} // Caution: Read comments above regarding -function unescape(x) {} // use of escape and unescape. -function isFinite(x) {} -function isNaN(x) {} -function parseFloat(x) {} -// base is required. If you really want to parse octal or hex based on the -// leader, then pass undefind as the base. -function parseInt(x, base) {} -function eval(x) {} - -// JavaScript builtins -var arguments; -var Infinity; -var Math; -var NaN; -var undefined; - -var builtins = {}; -builtins.arguments; // deprecated -builtins.arity; // deprecated -builtins.caller; -builtins.constructor; -builtins.length; -builtins.name; -builtins.prototype; - -// Window properties -// Only common properties are here, others such as open() and setTimeout() -// should be used with an explicit window object - -/** - * @constructor - * @extends {EventTarget} - */ -function Window() {} - -var window; -var top; -var navigator; -var document; -var screen; -var self; -function alert(x) {} -function confirm(x) {} -function prompt(x, opt_value) {} - -// Magic functions for Firefox's LiveConnect. -// We'll probably never use these in practice. But redefining them -// will fire up the JVM, so we want to reserve the symbol names. -var JavaArray; -var JavaClass; -var JavaMember; -var JavaObject; -var JavaPackage; -var Packages; -var java; -var netscape; -var sun; - -// Browser objects -/** @constructor */ function ActiveXObject(name, opt_location) {} -/** @constructor */ function CSSStyleDeclaration() {} -/** @constructor */ function StyleSheet() {} -/** @constructor */ function DOMParser() {} -// Image can't be used as a function -/** - * @constructor - * @extends {EventTarget} - */ -function Image(opt_width, opt_height) {} -/** @constructor */ function XMLHttpRequest() {} -/** @constructor */ function XMLSerializer() {} -/** - * @noalias - * @constructor - */ -function XPathResult() {} -/** @constructor */ function XSLTProcessor() {} -/** @constructor */ function Range() {} -/** @constructor */ function NodeFilter() {} -/** @constructor */ function Option(opt_text, opt_value, opt_defaultSelected, - opt_selected) {} -var opera; - -// Browser types for type checking -// see http://www.w3.org/TR/DOM-Level-2-HTML/ecma-script-binding.html - -// TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead -// of kluding them as an inheritance hierarchy. - -/** - * @constructor - * @extends {Node} - */ -function Document() {} - -/** - * @constructor - * @extends {Node} - */ -function DocumentFragment() {} - -/** - * @constructor - * @extends {Node} - */ -function DocumentType() {} - -/** - * @constructor - * @extends {EventTarget} - */ -function Node() {} - -/** @constructor */ function NodeList() {} - -/** - * @constructor - * @extends {Node} - */ -function Element() {} - -/** - * @constructor - * @extends {Node} - */ -function CharacterData() {} - -/** - * @constructor - * @extends {CharacterData} - */ -function Text() {} - -/** @constructor */ function Event() {} -/** @constructor */ function EventTarget() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLAnchorElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLAppletElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLAreaElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLBaseElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLBaseFontElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLBlockquoteElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLBodyElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLBRElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLButtonElement() {} - -/** - * @constructor - */ -function HTMLCollection() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLDirectoryElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLDivElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLDListElement() {} - -/** - * @constructor - * @extends {Document} - */ -function HTMLDocument() {} - -/** - * @constructor - * @extends {Element} - */ -function HTMLElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLFieldSetElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLFontElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLFormElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLFrameElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLFrameSetElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLHeadElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLHeadingElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLHRElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLHtmlElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLIFrameElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLImageElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLInputElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLIsIndexElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLLabelElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLLayerElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLLegendElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLLIElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLLinkElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLMapElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLMenuElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLMetaElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLModElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLObjectElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLOListElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLOptGroupElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLOptionElement() {} - -/** - * @constructor - */ -function HTMLOptionsCollection() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLParagraphElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLParamElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLPreElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLQuoteElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLScriptElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLSelectElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLSpanElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLStyleElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTableCaptionElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTableCellElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTableColElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTableElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTableRowElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTableSectionElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTextAreaElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLTitleElement() {} - -/** - * @constructor - * @extends {HTMLElement} - */ -function HTMLUListElement() {} - -// Gecko Selection interface -/** @constructor */ function Selection() {} - -// IE Range interface -/** @constructor */ function TextRange() {} - -// IE Control Range interface -/** @constructor */ function controlRange() {} - -// Safari and Firefox canvas rendering context -/** @constructor */ function CanvasRenderingContext2D() {} - -// Browser object methods and properties - -/** - * The postMessage method (as defined by HTML5 spec and implemented in FF3). - * @param {string} message - * @param {string} targetOrigin - */ -Window.prototype.postMessage = function(message, targetOrigin) {}; - -/** - * The postMessage method (as implemented in Opera). - * @param {string} message - */ -Document.prototype.postMessage = function(message) {}; - -// Below is a generic list of methods and properties defined on various -// browser/DOM objects. Ideally these would be defined on the appropriate -// prototypes (as is done above). As long as the list below is around, -// please keep it alphabetically sorted. -var methods = {}; -methods.$1; -methods.$2; -methods.$3; -methods.$4; -methods.$5; -methods.$6; -methods.$7; -methods.$8; -methods.$9; -methods.ANY_TYPE; -methods.ANY_UNORDERED_NODE_TYPE; -methods.ATTRIBUTE_NODE; -methods.AT_TARGET; -methods.BOOLEAN_TYPE; -methods.BUBBLING_PHASE; -methods.CAPTURING_PHASE; -methods.CDATA_SECTION_NODE; -methods.CHARSET_RULE; -methods.COMMENT_NODE; -methods.CSS_ATTR; -methods.CSS_CM; -methods.CSS_COUNTER; -methods.CSS_CUSTOM; -methods.CSS_DEG; -methods.CSS_DIMENSION; -methods.CSS_EMS; -methods.CSS_EXS; -methods.CSS_GRAD; -methods.CSS_HZ; -methods.CSS_IDENT; -methods.CSS_IN; -methods.CSS_INHERIT; -methods.CSS_KHZ; -methods.CSS_MM; -methods.CSS_MS; -methods.CSS_NUMBER; -methods.CSS_PC; -methods.CSS_PERCENTAGE; -methods.CSS_PRIMITIVE_VALUE; -methods.CSS_PT; -methods.CSS_PX; -methods.CSS_RAD; -methods.CSS_RECT; -methods.CSS_RGBCOLOR; -methods.CSS_S; -methods.CSS_STRING; -methods.CSS_UNKNOWN; -methods.CSS_URI; -methods.CSS_VALUE_LIST; -methods.DOCUMENT_FRAGMENT_NODE; -methods.DOCUMENT_NODE; -methods.DOCUMENT_TYPE_NODE; -methods.DOMSTRING_SIZE_ERR; -methods.E; -methods.ELEMENT_NODE; -methods.END_TO_END; -methods.END_TO_START; -methods.ENTITY_NODE; -methods.ENTITY_REFERENCE_NODE; -methods.FILTER_ACCEPT; -methods.FILTER_REJECT; -methods.FILTER_SKIP; -methods.FIRST_ORDERED_NODE_TYPE; -methods.FONT_FACE_RULE; -methods.HIERARCHY_REQUEST_ERR; -methods.HORIZONTAL_AXIS; -methods.IMPORT_RULE; -methods.INDEX_SIZE_ERR; -methods.INFINITY; -methods.INUSE_ATTRIBUTE_ERR; -methods.INVALID_ACCESS_ERR; -methods.INVALID_CHARACTER_ERR; -methods.INVALID_MODIFICATION_ERR; -methods.INVALID_STATE_ERR; -methods.LOG10E; -methods.LOG2E; -methods.MAX_VALUE; -methods.MEDIA_RULE; -methods.MIN_VALUE; -methods.MODIFICATION; -methods.NAMESPACE_ERR; -methods.NEGATIVE_INFINITY; -methods.NOTATION_NODE; -methods.NOT_FOUND_ERR; -methods.NOT_SUPPORTED_ERR; -methods.NO_DATA_ALLOWED_ERR; -methods.NO_MODIFICATION_ALLOWED_ERR; -methods.NUMBER_TYPE; -methods.NaN; -methods.ORDERED_NODE_ITERATOR_TYPE; -methods.ORDERED_NODE_SNAPSHOT_TYPE; -methods.PAGE_RULE; -methods.PI; -methods.POSITIVE_INFINITY; -methods.PROCESSING_INSTRUCTION_NODE; -methods.PercentLoaded; // flash? -methods.REMOVAL; -methods.SHOW_ALL; -methods.SHOW_ATTRIBUTE; -methods.SHOW_CDATA_SECTION; -methods.SHOW_COMMENT; -methods.SHOW_DOCUMENT; -methods.SHOW_DOCUMENT_FRAGMENT; -methods.SHOW_DOCUMENT_TYPE; -methods.SHOW_ELEMENT; -methods.SHOW_ENTITY; -methods.SHOW_ENTITY_REFERENCE; -methods.SHOW_NOTATION; -methods.SHOW_PROCESSING_INSTRUCTION; -methods.SHOW_TEXT; -methods.START_TO_END; -methods.START_TO_START; -methods.STRING_TYPE; -methods.STYLE_RULE; -methods.SYNTAX_ERR; -methods.TEXT_NODE; -methods.TGotoLabel; -methods.TPlay; -methods.UNKNOWN_RULE; -methods.UNORDERED_NODE_ITERATOR_TYPE; -methods.UNORDERED_NODE_SNAPSHOT_TYPE; -methods.UNSPECIFIED_EVENT_TYPE_ERR; -methods.UTC; -methods.VERTICAL_AXIS; -methods.WRONG_DOCUMENT_ERR; -methods.aLink; -methods.abbr; -methods.abort; -methods.abs; -methods.accept; -methods.acceptCharset; -methods.acceptNode; -methods.accessKey; -methods.acos; -methods.action; -methods.activeElement; -methods.actualEncoding; -methods.add; -methods.addColorStop; -methods.addElement; -methods.addEventListener; -methods.addRange; -methods.addRule; -methods.adoptNode; -methods.alert; -methods.align; -methods.alinkColor; -methods.all; -methods.alt; -methods.altGraphKey; -methods.altKey; -methods.anchorNode; -methods.anchorOffset; -methods.anchors; -methods.angle; -methods.appCodeName; -methods.appName; -methods.appVersion; -methods.appendChild = function(newChild) {}; -methods.appendData; -methods.appendMedium; -methods.applets; -methods.apply; -methods.arc; -methods.arcTo; -methods.archive; -methods.areas; -methods.arguments; -methods.asin; -methods.assign; -methods.async; -methods.atan2; -methods.atan; -methods.atob; -methods.attachEvent; -methods.attrChange; -methods.attrName; -methods.attributes; -methods.availHeight; -methods.availWidth; -methods.axis; -methods.back; -methods.baseNode; -methods.baseOffset; -methods.beginPath; -methods.bezierCurveTo; -methods.bgColor; -methods.blendTrans; -methods.blue; -methods.blur; -methods.body; -methods.boundingWidth; -methods.btoa; -methods.bubbles; -methods.button; -methods.call; -methods.callee; -methods.caller; -methods.cancelBubble; -methods.cancelable; -methods.canHaveChildren; -methods.caption; -methods.captureEvents; -methods.ceil; -methods.cellIndex; -methods.cellPadding; -methods.cellSpacing; -methods.cells; -methods.ch; -methods.chOff; -methods.charAt = function(index) {}; -methods.charCode; -methods.charCodeAt; -methods.characterSet; -methods.charset; -methods.checked; -methods.childNodes; -methods.children; -methods.childNodes; -methods.cite; -methods.className; -methods.clearData; -methods.clearInterval = function(intervalRev) {}; -methods.clearParameters; -methods.clearRect; -methods.clearShadow; -methods.clearTimeout = function(timeoutRef) {}; -methods.click; -methods.clientHeight; -methods.clientLeft; -methods.clientTop; -methods.clientWidth; -methods.clientX; -methods.clientY; -methods.clipboardData; -methods.cloneContents; -methods.cloneNode = function(deepClone) {}; -methods.cloneRange; -methods.close; -methods.closed; -methods.closePath; -methods.closed; -methods.code; -methods.codeBase; -methods.codeType; -methods.colSpan; -methods.collapse; -methods.collapseToEnd; -methods.collapseToStart; -methods.collapsed; -methods.color; -methods.color2; -methods.colorDepth; -methods.cols; -methods.commonAncestorContainer; -methods.compact; -methods.compareBoundaryPoints; -methods.compareEndPoints; -methods.compareDocumentPosition = function(el) {}; -methods.compatMode; -methods.comparePoint; -methods.complete; -methods.componentFromPoint; -methods.concat; -methods.console; -methods.constructor; -methods.contains; -methods.containsNode; -methods.contentDocument; -methods.contentEditable; -methods.contentWindow; -methods.cookie; -methods.cookieEnabled; -methods.coordorigin; -methods.coords; -methods.coordsize; -methods.cos; -methods.createAttribute; -methods.createAttributeNS; -methods.createCDATASection; -methods.createCSSStyleSheet; -methods.createCaption; -methods.createComment; -methods.createControlRange; -methods.createContextualFragment; -methods.createDocument; -methods.createDocumentFragment; -methods.createDocumentType; -methods.createElement; -methods.createElementNS; -methods.createEntityReference; -methods.createEvent; -methods.createEventObject; -methods.createHTMLDocument; -methods.createLinearGradient; -methods.createNode; -methods.createNodeIterator; -methods.createNSResolver; -methods.createPattern; -methods.createPopup; -methods.createProcessingInstruction; -methods.createProcessor = function() {}; // XSLT -methods.createRadialGradient; -methods.createRange; -methods.createStyleSheet; -methods.createTFoot; -methods.createTHead; -methods.createTextNode; -methods.createTextRange = function() {}; -methods.createTreeWalker; -methods.cssRules; -methods.cssText; -methods.cssValueType; -methods.ctrlKey; -methods.currentNode; -methods.currentStyle; -methods.currentTarget; -methods.data; -methods.dataTransfer; -methods.dateTime; -methods.declare; -methods.defaultCharset; -methods.defaultChecked; -methods.defaultSelected; -methods.defaultValue; -methods.defaultView; -methods.defer; -methods.deleteCaption; -methods.deleteCell; -methods.deleteContents; -methods.deleteData; -methods.deleteMedium; -methods.deleteRow; -methods.deleteRule; -methods.deleteTFoot; -methods.deleteTHead; -methods.description; -methods.designMode; -methods.detach; -methods.detachEvent; -methods.detail; -methods.dir; -methods.direction; -methods.disabled; -methods.dispatchEvent; -methods.doctype; -methods.document; -methods.documentElement; -methods.documentMode; -methods.domain; -methods.drawImage; -methods.drawImageFromRect; -methods.dropEffect; -methods.dump; -methods.duplicate = function() {}; -methods.effectAllowed; -methods.elementFromPoint; -methods.elements; -methods.embeds; -methods.empty; -methods.enabledPlugin; -methods.encoding; -methods.enctype; -methods.endContainer; -methods.endOffset; -methods.entities; -methods.evaluate = function( - xpathExpression, contextNode, namespaceResolver, resultType, result) {}; -methods.event; -methods.eventPhase; -methods.exec; -methods.execCommand; -methods.execScript; -methods.expand; -methods.expandEntityReferences; -methods.explicitOriginalTarget; -methods.exp = function(x) {}; -methods.expn; -methods.extend; -methods.extentNode; -methods.extentOffset; -methods.extractContents; -methods.eval; -methods.every; -methods.face; -methods.fgColor; -methods.fileName; -methods.filename; -methods.fill = function() {}; -methods.filled; -methods.fillcolor; -methods.fillRect; -methods.fillStyle; -methods.filter; -methods.filters; -methods.findText; // IE text ranges -methods.fireEvent; -methods.firstChild; -methods.floor; -methods.focus; -methods.focusNode; -methods.focusOffset; -methods.forEach; -methods.form; -methods.forms; -methods.forward; -methods.frame; -methods.frames; -methods.frameBorder; -methods.frameElement; -methods.fromCharCode = function(var_args) {}; -methods.fromElement; -methods.getAllResponseHeaders; -methods.getAttribute; -methods.getAttributeNS; -methods.getAttributeNode; -methods.getAttributeNodeNS; -methods.getBookmark; -methods.getBoundingClientRect = function() {}; -methods.getBoxObjectFor = function(node) {}; -methods.getComputedStyle; -methods.getContext; -methods.getCounterValue; -methods.getData; -methods.getDate; -methods.getDay; -methods.getElementById; -methods.getElementsByName; -methods.getElementsByClassName; -methods.getElementsByTagName; -methods.getElementsByTagNameNS; -methods.getFloatValue; -methods.getFullYear; -methods.getHours; -methods.getImageData = function(sx, sy, sw, sh) {}; -methods.getMatchedCSSRules; -methods.getMilliseconds; -methods.getMinutes; -methods.getMonth; -methods.getNamedItem; -methods.getNamedItemNS; -methods.getOverrideStyle; -methods.getParameter; -methods.getPropertyCSSValue; -methods.getPropertyPriority; -methods.getPropertyShorthand; -methods.getPropertyValue; -methods.getRGBColorValue; -methods.getRangeAt; -methods.getRectValue; -methods.getResponseHeader; -methods.getSeconds; -methods.getSelection; -methods.getStringValue; -methods.getTime; -methods.getTimezoneOffset; -methods.getUTCDate; -methods.getUTCDay; -methods.getUTCFullYear; -methods.getUTCHours; -methods.getUTCMilliseconds; -methods.getUTCMinutes; -methods.getUTCMonth; -methods.getUTCSeconds; -methods.GetVariable; // ActiveXObject -methods.global; -methods.globalAlpha; -methods.globalCompositeOperation; -methods.go; -methods.green; -methods.handleEvent; -methods.hasAttribute; -methods.hasAttributeNS; -methods.hasAttributes = function() {}; -methods.hasChildNodes = function() {}; -methods.hasFeature; -methods.hasFocus; -methods.hasOwnProperty; -methods.hash; -methods.head; -methods.headers; -methods.history; -methods.host; -methods.hostname; -methods.href; -methods.hreflang; -methods.hspace; -methods.htmlFor; -methods.htmlText; -methods.httpEquiv; -methods.id; -methods.identifier; -methods.ignoreCase; -methods.images; -methods.implementation; -methods.imports; -methods.importNode; -methods.importStylesheet; -methods.indeterminate; -methods.index; -methods.indexOf; -methods.initEvent; -methods.initKeyboardEvent; -methods.initMouseEvent; -methods.initMutationEvent; -methods.initUIEvent; -methods.innerHTML; -methods.innerHeight; -methods.innerText; -methods.innerWidth; -methods.inputEncoding; -methods.input; // XSLT -methods.inRange; -methods.insertAdjacentText = function(where, text) {}; -methods.insertBefore = function(newNode, childNode) {}; -methods.insertCell; -methods.insertData; -methods.insertNode; -methods.insertRow; -methods.insertRule; -methods.internalSubset; -methods.intersectsNode; -methods.invalidIteratorState; -methods.isCollapsed; -methods.isContentEditable; -methods.isEqual = function(textRange) {}; -methods.isPointInPath = function(x, y) {}; -methods.isMap; -methods.isOpen; -methods.isPointInPath = function(x, y) {}; -methods.isPropertyImplicit; -methods.isPrototypeOf; -methods.isSupported = function(feature, version) {}; -methods.item; -methods.iterateNext = function() {}; -methods.javaEnabled; -methods.join; -methods.keyCode; -methods.keyIdentifier; -methods.keyLocation; -methods.KhtmlOpacity; -methods.label; -methods.lang; -methods.language; -methods.lastChild; -methods.lastIndex; -methods.lastIndexOf; -methods.lastMatch; -methods.lastModified; -methods.lastParen; -methods.layerX; -methods.layerY; -methods.leftContext; -methods.length; -methods.line; -methods.lineCap; -methods.lineJoin; -methods.lineNumber; -methods.lineTo; -methods.lineWidth; -methods.linkColor; -methods.links; -methods.localName; -methods.load; // XSLT -methods.loadXML; -methods.localeCompare; -methods.location; -methods.log; -methods.longDesc; -methods.map; -methods.marginHeight; -methods.marginWidth; -methods.match; -methods.max; -methods.maxLength; -methods.media; -methods.mediaText; -methods.mergeAttributes; -methods.message; -methods.metaKey; -methods.method; -methods.mimeTypes; -methods.min; -methods.miterLimit; -methods.move = function(unit, opt_count) {}; -methods.moveBy; -methods.moveEnd; -methods.moveStart; -methods.moveTo; -methods.moveToElementText = function(node) {}; -methods.moveToPoint; -methods.multiline; -methods.multiple; -methods.name; -methods.namedItem; -methods.namespaces; -methods.namespaceURI; -methods.naturalHeight; -methods.naturalWidth; -methods.navigationMode; -methods.newValue; -methods.nextNode; -methods.nextSibling; -methods.nodeType; -methods.noHref; -methods.noResize; -methods.noShade; -methods.now; // Date.now() -methods.noWrap; -methods.nodeName; -methods.nodeType; -methods.nodeValue; -methods.normalize = function() {}; -methods.notationName; -methods.notations; -methods.object; -methods.offsetHeight; -methods.offsetLeft; -methods.offsetParent; -methods.offsetTop; -methods.offsetWidth; -methods.offsetX; -methods.offsetY; -methods.onabort; -methods.onbeforeunload; -methods.onblur; -methods.onchange; -methods.onclick; -methods.oncontextmenu; -methods.ondblclick; -methods.ondrag; -methods.ondragend; -methods.ondragenter; // IE -methods.ondragleave; // IE -methods.ondragover; // IE -methods.ondragstart; // IE -methods.ondrop; // IE -methods.onerror; -methods.onfocus; -methods.onkeydown; -methods.onkeypress; -methods.onkeyup; -methods.onLine; -methods.onload; -methods.onmousedown; -methods.onmousemove; -methods.onmouseout; -methods.onmouseover; -methods.onmouseup; -methods.onmousewheel; -methods.onpropertychange; -methods.onreadystatechange; -methods.onresize; -methods.onscroll; -methods.onselect; -methods.onselectend; -methods.onselectstart; -methods.onsubmit; -methods.onunload; -methods.opacity; -methods.open; -methods.openDialog; -methods.opener; -methods.opera; -methods.options; -methods.originalTarget; -methods.outerHTML; -methods.outerHeight; -methods.outerText; -methods.outerWidth; -methods.output; // XSLT -methods.overflowX; -methods.overflowY; -methods.overrideMimeType; -methods.ownerDocument; -methods.ownerElement; -methods.ownerNode; -methods.ownerRule; -methods.owningElement; -methods.pageX; -methods.pageXOffset; -methods.pageY; -methods.pageYOffset; -methods.parentElement = function() {}; -methods.parent; -methods.parentNode; -methods.parentRule; -methods.parentStyleSheet; -methods.parentWindow; -methods.parse; -methods.parseError; -methods.parseFromString; -methods.parseJSON; -methods.pasteHTML; -methods.pathname; -methods.peek; -methods.pixelBottom; -methods.pixelDepth; -methods.pixelHeight; -methods.pixelLeft; -methods.pixelRight; -methods.pixelTop; -methods.pixelWidth; -methods.platform; -methods.play; -methods.plugins; -methods.pointerBeforeReferenceNode; -methods.pop; -methods.port; -methods.pow; -methods.preferredStylesheetSet; -methods.prefix; -methods.prevValue; -methods.preventDefault; -methods.previousNode; -methods.previousSibling; -methods.primitiveType; -methods.print; -methods.product; -methods.productSub; -methods.profile; -methods.prompt; -methods.propertyIsEnumerable; -methods.propertyName; -methods.protocol; -methods.publicId; -methods.push; -methods.putImageData = function(image, dx, dy) {}; -methods.quadraticCurveTo; -methods.queryCommandEnabled; -methods.queryCommandIndeterm; -methods.queryCommandState; -methods.queryCommandSupported; -methods.queryCommandValue; -methods.querySelector = function(selector) {}; -methods.querySelectorAll = function(selector) {}; -methods.quote = function() {}; -methods.rangeCount; -methods.random; -methods.rangeCount; -methods.readOnly; -methods.readyState; -methods.rect; -methods.red; -methods.reduce = function(callback, opt_initialValue) {}; -methods.reduceRight = function(callback, opt_initialValue) {}; -methods.referenceNode; -methods.referrer; -methods.refresh; -methods.rel; -methods.relatedNode; -methods.relatedTarget; -methods.releaseCapture; -methods.releaseEvents; -methods.reload; -methods.remove; -methods.removeAllRanges; -methods.removeAttribute; -methods.removeAttributeNS; -methods.removeAttributeNode; -methods.removeChild = function(oldChild) {}; -methods.removeEventListener; -methods.removeExpression = function(propertyName) {}; -methods.removeNamedItem; -methods.removeNamedItemNS; -methods.removeNode; -methods.removeParameter; -methods.removeProperty; -methods.repeat; -methods.replace; -methods.replaceChild = function(newNode, childNode) {}; -methods.replaceData; -methods.replaceNode = function(newNode) {}; -methods.reset; -methods.resizeBy = function(x, y) {}; -methods.resizeTo = function(w, h) {}; -methods.resolveExternals; // XSLT -methods.responseText; -methods.responseXML; -methods.restore; -methods.result; -methods.returnValue; -methods.rev; -methods.reverse; -methods.rightContext; -methods.rotate; -methods.rotation; -methods.round; -methods.rowIndex; -methods.rowSpan; -methods.rows; -methods.rules; -methods.runtimeStyle; -methods.save; -methods.scale; -methods.scheme; -methods.scope; -methods.screen; -methods.screenLeft; -methods.screenTop; -methods.screenX; -methods.screenY; -methods.scripts; -methods.scroll = function(x, y) {}; -methods.scrollBy; -methods.scrollByLines; -methods.scrollByPages; -methods.scrollHeight; -methods.scrollIntoView; -methods.scrollLeft; -methods.scrollTo = function(x, y) {}; -methods.scrollTop; -methods.scrollWidth; -methods.scrollX; -methods.scrollY; -methods.scrolling; -methods.search; -methods.sectionRowIndex; -methods.select; -methods.selectNode; -methods.selectNodeContents; -methods.selectNodes = function(patternString) {}; -methods.selectSingleNode = function(patternString) {}; -methods.selected; -methods.selectedIndex; -methods.selectedStylesheetSet; -methods.selection; -methods.selectionEnd; -methods.selectionStart; -methods.selectorText; -methods.send; -methods.separator; -methods.serializeToString; -methods.setActive = function() {}; -methods.setAlpha; -methods.setAttribute; -methods.setAttributeNS; -methods.setAttributeNode; -methods.setAttributeNodeNS; -methods.setBaseAndExtent; -methods.setCapture; -methods.setCompositeOperation; -methods.setData; -methods.setDate; -methods.setDragImage; -methods.setEnd; -methods.setEndAfter; -methods.setEndBefore; -methods.setEndPoint = function(type, range) {}; -methods.setExpression = function(propertyName, expression) {}; -methods.setFillColor; -methods.setFloatValue; -methods.setFullYear; -methods.setHours; -methods.setInterval = function(fn, interval) {}; -methods.setLineCap; -methods.setLineJoin; -methods.setLineWidth; -methods.setMilliseconds; -methods.setMinutes; -methods.setMiterLimit; -methods.setMonth; -methods.setNamedItem; -methods.setNamedItemNS; -methods.setParameter; -methods.setPosition; -methods.setProperty; -methods.setRequestHeader; -methods.setSUTCSeconds; -methods.setSeconds; -methods.setSelectionRange; -methods.setShadow; -methods.setStart; -methods.setStartAfter; -methods.setStartBefore; -methods.setStringValue; -methods.setStrokeColor; -methods.setTime; -methods.setTimeout = function(fn, time) {}; -methods.setTransform = function(m11, m12, m21, m22, dx, dy) {}; -methods.setUTCDate; -methods.setUTCFullYear; -methods.setUTCHours; -methods.setUTCMilliseconds; -methods.setUTCMinutes; -methods.setUTCMonth; -methods.setUTCSeconds; -methods.shadowBlur; -methods.shadowColor; -methods.shadowOffsetX; -methods.shadowOffsetY; -methods.shape; -methods.sheet; -methods.shift; -methods.shiftKey; -methods.showModalDialog = function(url, opt_arguments, opt_features) {}; -methods.sin; -methods.singleNodeValue; -methods.slice; -methods.snapshotItem = function(index) {}; -methods.snapshotLength; -methods.some; -methods.sort; -methods.source; -methods.sourceIndex; -methods.sourceURL; -methods.span; -methods.specified; -methods.splice; -methods.split; -methods.splitText; -methods.sqrt; -methods.src; -methods.srcElement; -methods.stack; -methods.standby; -methods.start; -methods.startContainer; -methods.startOffset; -methods.status; -methods.statusText; -methods.stop; -methods.stopPropagation; -methods.stroke; -methods.strokecolor; -methods.stroked; -methods.strokeRect; -methods.strokeStyle; -methods.strokeweight; -methods.style; -methods.styleSheet; -methods.stylesheet; // XSLT -methods.styleSheets; -methods.submit; -methods.substr = function(start, opt_length) {}; -methods.substring = function(start, opt_end) {}; -methods.substringData; -methods.suffixes; -methods.summary; -methods.surroundContents; -methods.systemId; -methods.tBodies; -methods.tFoot; -methods.tHead; -methods.tabIndex; -methods.tagName; -methods.tags; -methods.tan; -methods.target; -methods.test; -methods.text; -methods.textContent; -methods.timeStamp; -methods.title; -methods.toDateString; -methods.toElement; -methods.toExponential; -methods.toFixed; -methods.toJSONString; -methods.toLocaleDateString; -methods.toLocaleLowerCase; -methods.toLocaleString; -methods.toLocaleTimeString; -methods.toLocaleUpperCase; -methods.toLowerCase; -methods.toPrecision; -methods.toSource; -methods.toString; -methods.toSource; -methods.toTimeString; -methods.toUTCString; -methods.toUpperCase; -methods.transform = function(m11, m12, m21, m22, dx, dy) {}; -methods.setTransform = function(m11, m12, m21, m22, dx, dy) {}; -methods.transformToDocument; -methods.transformToFragment; -methods.translate; -methods.type; -methods.types; -methods.uneval; -methods.unshift; -methods.unselectable; -methods.useMap; -methods.userAgent; -methods.vAlign; -methods.value; -methods.valueOf; -methods.valueType; -methods.vendor; -methods.version; -methods.view; -methods.visible; -methods.vlinkColor; -methods.vspace; -methods.watch; -methods.whatToShow; -methods.wheelDelta; -methods.wheelDeltaX; -methods.wheelDeltaY; -methods.which; -methods.write; -methods.writeln; -methods.x; -methods.xml; -methods.y; - -// CSS style properties -methods.azimuth; -methods.background; -methods.backgroundAttachment; -methods.backgroundColor; -methods.backgroundImage; -methods.backgroundPosition; -methods.backgroundPositionX; -methods.backgroundPositionY; -methods.backgroundRepeat; -methods.border; -methods.borderCollapse; -methods.borderColor; -methods.borderSpacing; -methods.borderStyle; -methods.borderTop; -methods.borderRight; -methods.borderBottom; -methods.borderLeft; -methods.borderTopColor; -methods.borderRightColor; -methods.borderBottomColor; -methods.borderLeftColor; -methods.borderTopStyle; -methods.borderRightStyle; -methods.borderBottomStyle; -methods.borderLeftStyle; -methods.borderTopWidth; -methods.borderRightWidth; -methods.borderBottomWidth; -methods.borderLeftWidth; -methods.borderWidth; -methods.bottom; -methods.captionSide; -methods.clear; -methods.clip; -methods.color; -methods.content; -methods.counterIncrement; -methods.counterReset; -methods.cssFloat; -methods.cue; -methods.cueAfter; -methods.cueBefore; -methods.cursor; -methods.direction; -methods.display; -methods.elevation; -methods.emptyCells; -methods.font; -methods.fontFamily; -methods.fontSize; -methods.fontSizeAdjust; -methods.fontStretch; -methods.fontStyle; -methods.fontVariant; -methods.fontWeight; -methods.height; -methods.hideFocus; -methods.left; -methods.letterSpacing; -methods.lineHeight; -methods.listStyle; -methods.listStyleImage; -methods.listStylePosition; -methods.listStyleType; -methods.margin; -methods.marginBottom; -methods.marginLeft; -methods.marginRight; -methods.marginTop; -methods.markerOffset; -methods.marks; -methods.maxHeight; -methods.maxWidth; -methods.minHeight; -methods.minWidth; -methods.orphans; -methods.outline; -methods.outlineColor; -methods.outlineStyle; -methods.outlineWidth; -methods.overflow; -methods.padding; -methods.paddingTop; -methods.paddingRight; -methods.paddingBottom; -methods.paddingLeft; -methods.page; -methods.pageBreakAfter; -methods.pageBreakBefore; -methods.pageBreakInside; -methods.pause; -methods.pauseAfter; -methods.pauseBefore; -methods.pitch; -methods.pitchRange; -methods.position; -methods.quotes; -methods.richness; -methods.right; -methods.size; -methods.speak; -methods.speakHeader; -methods.speakNumeral; -methods.speakPunctuation; -methods.speechRate; -methods.stress; -methods.styleFloat; -methods.tableLayout; -methods.textAlign; -methods.textDecoration; -methods.textIndent; -methods.textShadow; -methods.textTransform; -methods.top; -methods.unicodeBidi; -methods.verticalAlign; -methods.visibility; -methods.voiceFamily; -methods.volume; -methods.whiteSpace; -methods.widows; -methods.width; -methods.wordSpacing; -methods.wordWrap; -methods.zIndex; -methods.zoom; - -// Gecko-only CSS style names. Copied from: -// http://lxr.mozilla.org/mozilla1.8.0/source/dom/public/idl/css/nsIDOMCSS2Properties.idl -methods.MozAppearance; -methods.MozBackgroundClip; -methods.MozBackgroundInlinePolicy; -methods.MozBackgroundOrigin; -methods.MozBinding; -methods.MozBorderBottomColors; -methods.MozBorderLeftColors; -methods.MozBorderRightColors; -methods.MozBorderTopColors; -methods.MozBorderRadius; -methods.MozBorderRadiusTopleft; -methods.MozBorderRadiusTopright; -methods.MozBorderRadiusBottomleft; -methods.MozBorderRadiusBottomright; -methods.MozBoxAlign; -methods.MozBoxDirection; -methods.MozBoxFlex; -methods.MozBoxOrient; -methods.MozBoxOrdinalGroup; -methods.MozBoxPack; -methods.MozBoxSizing; -methods.MozColumnCount; -methods.MozColumnWidth; -methods.MozColumnGap; -methods.MozFloatEdge; -methods.MozForceBrokenImageIcon; -methods.MozImageRegion; -methods.MozMarginEnd; -methods.MozMarginStart; -methods.MozOpacity; -methods.MozOutline; -methods.MozOutlineColor; -methods.MozOutlineRadius; -methods.MozOutlineRadiusTopleft; -methods.MozOutlineRadiusTopright; -methods.MozOutlineRadiusBottomleft; -methods.MozOutlineRadiusBottomright; -methods.MozOutlineStyle; -methods.MozOutlineWidth; -methods.MozOutlineOffset; -methods.MozPaddingEnd; -methods.MozPaddingStart; -methods.MozUserFocus; -methods.MozUserInput; -methods.MozUserModify; -methods.MozUserSelect; - -// Webkit-only CSS style names. Copied from: -// https://svn.corp.google.com/v/chrome/trunk/third_party/WebKit/WebCore/css/CSSPropertyNames.in?view=markup -methods.WebkitAppearance; -methods.WebkitBackgroundClip; -methods.WebkitBackgroundComposite; -methods.WebkitBackgroundOrigin; -methods.WebkitBackgroundSize; -methods.WebkitBinding; -methods.WebkitBorderBottomLeftRadius; -methods.WebkitBorderBottomRightRadius; -methods.WebkitBorderFit; -methods.WebkitBorderHorizontalSpacing; -methods.WebkitBorderImage; -methods.WebkitBorderRadius; -methods.WebkitBorderTopLeftRadius; -methods.WebkitBorderTopRightRadius; -methods.WebkitBorderVerticalSpacing; -methods.WebkitBoxAlign; -methods.WebkitBoxDirection; -methods.WebkitBoxFlex; -methods.WebkitBoxFlexGroup; -methods.WebkitBoxLines; -methods.WebkitBoxOrdinalGroup; -methods.WebkitBoxOrient; -methods.WebkitBoxPack; -methods.WebkitBoxShadow; -methods.WebkitBoxSizing; -methods.WebkitColumnBreakAfter; -methods.WebkitColumnBreakBefore; -methods.WebkitColumnBreakInside; -methods.WebkitColumnCount; -methods.WebkitColumnGap; -methods.WebkitColumnRule; -methods.WebkitColumnRuleColor; -methods.WebkitColumnRuleStyle; -methods.WebkitColumnRuleWidth; -methods.WebkitColumnWidth; -methods.WebkitColumns; -methods.WebkitDashboardRegion; -methods.WebkitFontSizeDelta; -methods.WebkitHighlight; -methods.WebkitLineBreak; -methods.WebkitLineClamp; -methods.WebkitMarginBottomCollapse; -methods.WebkitMarginCollapse; -methods.WebkitMarginStart; -methods.WebkitMarginTopCollapse; -methods.WebkitMarquee; -methods.WebkitMarqueeDirection; -methods.WebkitMarqueeIncrement; -methods.WebkitMarqueeRepetition; -methods.WebkitMarqueeSpeed; -methods.WebkitMarqueeStyle; -methods.WebkitMatchNearestMailBlockquoteColor; -methods.WebkitNbspMode; -methods.WebkitPaddingStart; -methods.WebkitRtlOrdering; -methods.WebkitTextDecorationsInEffect; -methods.WebkitTextFillColor; -methods.WebkitTextSecurity; -methods.WebkitTextSizeAdjust; -methods.WebkitTextStroke; -methods.WebkitTextStrokeColor; -methods.WebkitTextStrokeWidth; -methods.WebkitTransform; -methods.WebkitTransformOrigin; -methods.WebkitTransformOriginX; -methods.WebkitTransformOriginY; -methods.WebkitTransition; -methods.WebkitTransitionDuration; -methods.WebkitTransitionProperty; -methods.WebkitTransitionRepeatCount; -methods.WebkitTransitionTimingFunction; -methods.WebkitUserDrag; -methods.WebkitUserModify; -methods.WebkitUserSelect; diff --git a/o3d/documentation/externs/o3d-extra-externs.js b/o3d/documentation/externs/o3d-extra-externs.js deleted file mode 100644 index 82a62e0..0000000 --- a/o3d/documentation/externs/o3d-extra-externs.js +++ /dev/null @@ -1,55 +0,0 @@ - -/** - * Special global variable for V8 instances. - */ -var plugin; - -/** - * The main namespace for the o3d plugin. - * @constructor - */ -var o3d; - -/** - * @type {!Object} - */ -var Exception = goog.typedef; - -/** - * A namespace for the Cursor. - * @namespace - */ -o3d.Cursor = o3d.Cursor || { }; - -/** - * A namespace for the VectorMath. - * @namespace - */ -var Vectormath; - -/** - * A namespace for the VectorMath.Aos - * @namespace - */ -Vectormath.Aos = Vectormath.Aos || { }; - -/** - * A stand-in class definition for Float32Array. - * @param {number} size The size. - * @constructor - */ -var Float32Array = function(size) { }; - -/** - * A 4x4 Matrix of floats - * @type {!Array.<!Array.<number>>} - */ -o3d.Matrix4 = goog.typedef; - -/** - * RangeError. - * why is this sometimes needed and sometimes not? - * @exception - */ -var RangeError; - diff --git a/o3d/documentation/ezt_formatter.bat b/o3d/documentation/ezt_formatter.bat deleted file mode 100644 index bd0b99e..0000000 --- a/o3d/documentation/ezt_formatter.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo OFF -REM Copyright 2009, Google Inc. -REM All rights reserved. -REM -REM Redistribution and use in source and binary forms, with or without -REM modification, are permitted provided that the following conditions are -REM met: -REM -REM * Redistributions of source code must retain the above copyright -REM notice, this list of conditions and the following disclaimer. -REM * Redistributions in binary form must reproduce the above -REM copyright notice, this list of conditions and the following disclaimer -REM in the documentation and/or other materials provided with the -REM distribution. -REM * Neither the name of Google Inc. nor the names of its -REM contributors may be used to endorse or promote products derived from -REM this software without specific prior written permission. -REM -REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -REM A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -REM OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -REM SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -REM LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -REM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -REM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -REM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -REM OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -set PYTHONDIR=%~dp0..\..\third_party\python_24 -call %PYTHONDIR%\setup_env.bat -%PYTHONDIR%\python.exe %~dp0\ezt_formatter.py %* diff --git a/o3d/documentation/ezt_formatter.py b/o3d/documentation/ezt_formatter.py deleted file mode 100644 index feccdf4..0000000 --- a/o3d/documentation/ezt_formatter.py +++ /dev/null @@ -1,351 +0,0 @@ -#!/usr/bin/python2.4 -# Copyright 2009, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -"""HTML formatter for ezt docs.""" - - -import os -import os.path -import re -import shutil -import sys - - -class DoxygenJavascriptifier(object): - """Convert C++ documentation into Javascript style. - - Documentation may be automatically generated using doxygen. However, - doxygen only outputs C++ formatted documentation, that is it uses C++ - conventions for specifying many items even if the java option is selected in - the configuration file. - - In order to make the documentation look like Javascript documentation, - additional corrections must be made which this class takes care of. - - Since doxygen allows you to name functions and class whatever you wish, this - class assumes that you have already chosen to name them with standard - Javascript conventions (such as camel-case) and therefore does not try to - correct that. - - Though many of the replacements are simply eliminated, they are left as - individual items in the dictionary for clarity. - - Attributes: - cpp_to_js: a list of c++ to javascript replacement tuples - static_function_regex: regular expression describing a static function - declaration - """ - - global_function_tag = '[<a class="doxygen-global">global function</a>]' - static_function2_regex = re.compile(r'<li>(.*)static(.*)$') - cpp_to_js = [(re.compile(r'::'), '.'), - (re.compile(r'\[pure\]'), ''), - (re.compile(r'\[pure virtual\]'), ''), - (re.compile(r'\[virtual\]'), ''), - (re.compile(r'\[protected\]'), ''), - (re.compile(r'\[static\]'), global_function_tag), - (re.compile(r'\[explicit\]'), ''), - (re.compile(r'\bvirtual\b'), ''), - (re.compile(r'\bpure\b'), ''), - (re.compile(r'\bprotected\b'), ''), - (re.compile(r'\bvoid\b'), ''), - (re.compile(r'\bunsigned\b'), ''), - (re.compile(r'\bstatic\b'), ''), - (re.compile(r'\bStatic\b'), 'Global'), - (re.compile(r'\bint\b'), 'Number'), - (re.compile(r'\bfloat\b'), 'Number'), - (re.compile(r'\bNULL\b'), 'null'), - (re.compile(r'=0'), ''), - # Replace "std.vector<class_name>" with "Array" since vectors - # don't exist in Javascript. There is no type for Array in - # Javascript. - (re.compile(r'std.vector<[\w\s<>"/.=+]*>'), 'Array'), - # Remove mention of Vectormath.Aos namespace since it is - # invisible to Javascript. - (re.compile(r'Vectormath.Aos.Vector3'), 'Vector3'), - (re.compile(r'Vectormath.Aos.Vector4'), 'Vector4'), - (re.compile(r'Vectormath.Aos.Point3'), 'Point3'), - (re.compile(r'Vectormath.Aos.Matrix4'), 'Matrix4'), - (re.compile(r'Vectormath.Aos.Quat'), 'Quat'), - (re.compile(r'\bconst\b'), '')] - - def Javascriptify(self, lines_list): - """Replaces C++-style items with more Javascript-like ones. - - This includes removing many identifiers such as pure, virtual, protected, - static and explicit which are not used in Javascript and replacing - notation such as '::' with its corresponding Javascript equivalent, - '.' in this case. - - Args: - lines_list: the list of lines to correct. - Returns: - the corrected lines in javascript format. - """ - for index, line in enumerate(lines_list): - line = self.LabelStaticAsGlobal(line) - for cpp_expression, js_expression in self.cpp_to_js: - line = re.sub(cpp_expression, js_expression, line) - lines_list[index] = line - return lines_list - - def LabelStaticAsGlobal(self, line): - """If a function is static, we indicate it is a global function. - - Since static does not make sense for Javascript we refer to these - functions as global. To designate global function, we place a - [global function] tag after the function declaration. Doxygen by - default leaves the static descriptor in front of the function so - this function looks for the descriptor, removes it and puts the - tag at the end. - - Args: - line: the line to correct. - Returns: - the corrected line. - """ - match = re.search(self.static_function2_regex, line) - if match is not None: - line = '<li>%s%s %s\n' % (match.group(1), match.group(2), - self.global_function_tag) - return line - - -class EZTFormatter(object): - """This class converts doxygen output into ezt ready files. - - When doxygen outputs files, it contains its own formatting such as adding - navigation tabs to the top of each page. This class contains several - functions for stripping down doxygen output and formatting doxygen output - to be easily parsed by ezt. - - This class assumes that any header/footer boilerplate code (that is code - added by the user rather than doxygen at the start or end of a file) is - indicated by special indicator strings surrounding it. Namely at the - start of boilerplate code: 'BOILERPLATE - DO NOT EDIT THIS BLOCK' and - at the end of boilerplate code: 'END OF BOILERPLATE'. - - Attributes: - content_start_regex: regular expression for end of boilerplate code - content_end_regex: regular expression for start of boilerplate code - div_regex: regular expression of html div - div_end_regex: regular expression of closing html div - navigation_regex: regular expression indicating doxygen navigation tabs - html_suffix_regex: regular expression html file suffix - current_directory: location of files being worked on - originals_directory: directory to store copies of original html files - modifiers: list of functions to apply to files passed in - """ - content_start_regex = re.compile('END OF BOILERPLATE') - content_end_regex = re.compile('BOILERPLATE - DO NOT EDIT THIS BLOCK') - div_regex = re.compile('<div(.*)>') - div_end_regex = re.compile('</div>') - navigation_regex = re.compile('<div class=\"tabs\"(.*)>') - html_suffix_regex = re.compile('\.html$') - - def __init__(self, current_directory): - - self.current_directory = current_directory - self.originals_directory = os.path.join(current_directory, 'original_html') - if not os.path.exists(self.originals_directory): - os.mkdir(self.originals_directory) - self.modifiers = [] - - def RegisterModifier(self, modifier): - """Adds the modifier function to the list of modifier functions. - - Args: - modifier: the function modifies a list of strings of code - """ - self.modifiers += [modifier] - - def MakeBackupCopy(self, input_file): - """Makes backup copy of input_file by copying to originals directory. - - Args: - input_file: basename of file to backup. - """ - shutil.copy(os.path.join(self.current_directory, input_file), - self.originals_directory) - - def PerformFunctionsOnFile(self, input_file): - """Opens a file as a list, modifies the list and writes to same file. - - Args: - input_file: the file being operated on. - """ - infile = open(input_file, 'r') - lines_list = infile.readlines() - infile.close() - - for function in self.modifiers: - lines_list = function(lines_list) - - outfile = open(input_file, 'w') - outfile.writelines(lines_list) - outfile.close() - - def FixBrackets(self, lines_list): - """Adjust brackets to be ezt style. - - Fix the brackets such that any open bracket '[' becomes '[[]' in order to - not conflict with the brackets ezt uses as special characters. - - EZT uses boilerplate code at the beginning and end of each file. When - editing a file, however, we don't want to touch the boilerplate code. - We can look for special indicators through regular expressions of - where the content lies between the boilerplate sections and then only - apply the desired function line by line to the html between those - sections. - - This is a destructive operation and will write over the input file. - - Args: - lines_list: the file to fix broken into lines. - Returns: - the lines_list with correctly formatted brackets. - """ - outside_boilerplate = False - for index, line in enumerate(lines_list): - if self.content_end_regex.search(line) and outside_boilerplate: - # We've reached the end of content; return our work - return lines_list - elif self.content_start_regex.search(line): - # We've found the start of real content, end of boilerplate - outside_boilerplate = True - elif outside_boilerplate: - # Inside real content; fix brackets - lines_list[index] = line.replace('[', '[[]') - else: - pass # Inside boilerplate. - return lines_list - - def RemoveNavigation(self, lines_list): - """Remove html defining navigation tabs. - - This function removes the lines between the <div class ="tabs">...</div> - which will eliminate the navigation tabs Doxygen outputs at the top of - its documentation. These are extraneous for Google's codesite which - produces its own navigation using the ezt templates. - - Nested <div>'s are handled, but it currently expects no more than one - <div>...</div> set per line. - - This is a destructive operation and will write over the input file. - - Args: - lines_list: the lines of the file to fix. - Returns: - the lines_list reformatted to not include tabs div set. - """ - start_index = -1 - div_queue = [] - start_end_pairs = {} - for index, line in enumerate(lines_list): - # Start by looking for the start of the navigation section - if self.navigation_regex.search(line): - start_index = index - if self.div_regex.search(line): - if start_index > -1: - div_queue.append(index) - if self.div_end_regex.search(line): - if start_index > -1: - # If we pop our start_index, we have found the matching </div> - # to our <div class="tabs"> - if div_queue.pop() == start_index: - start_end_pairs[start_index] = index - start_index = -1 - - # Delete the offending lines - keys = start_end_pairs.keys() - keys.sort() - keys.reverse() - for k in keys: - del lines_list[k:start_end_pairs[k]+1] - return lines_list - - def RenameFiles(self, input_file): - """Fix file suffixes from .html to .ezt. - - This will also backup original html files to the originals directory. - - This operation will overwrite the previous ezt file. - - NOTE: If the originals directory is not a directory, the file will - be overwritten. - - Args: - input_file: the file to fix. - """ - # If the file does not end in .html, we do not want to continue - if self.html_suffix_regex.search(input_file): - new_name = re.sub(self.html_suffix_regex, '.ezt', input_file) - shutil.copy(input_file, self.originals_directory) - # Rename file. If file exists, rename will not overwrite, and produce - # OSError. So delete the old file first in that case. - try: - os.rename(input_file, new_name) - except OSError: - os.remove(new_name) - os.rename(input_file, new_name) - - -def main(): - usage_string = ('This script is meant to convert .html files into .ezt files ' - 'in addition to eliminating any C++-style notations and ' - 'replacing them with their Javascript-style counter parts.\n' - 'Note: This will write over existing files as well as nuke ' - 'any associated directories such as "original_html" located ' - 'in the same directory as the first argument\n' - 'Usage: ezt_formatter.py <html_file(s)>') - - files = sys.argv[1:] - if not files: - # We have no files, so return, showing usage - print usage_string - return - - # current_directory should be the same for all files - current_directory = os.path.dirname(files[0]) - formatter = EZTFormatter(current_directory) - dj = DoxygenJavascriptifier() - formatter.RegisterModifier(formatter.RemoveNavigation) - formatter.RegisterModifier(dj.Javascriptify) - formatter.RegisterModifier(formatter.FixBrackets) - - for f in files: - formatter.PerformFunctionsOnFile(f) - formatter.RenameFiles(f) - - formatter.MakeBackupCopy('stylesheet.css') - -if __name__ == '__main__': - main() diff --git a/o3d/documentation/ezt_formatter_test.py b/o3d/documentation/ezt_formatter_test.py deleted file mode 100644 index 7d0ece6..0000000 --- a/o3d/documentation/ezt_formatter_test.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/python2.4 -# Copyright 2009, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -"""Test for ezt_formatter.""" - - -import os -import os.path -import ezt_formatter -import unittest - -class EZTFormatterUnitTest(unittest.TestCase): - def setUp(self): - self.formatter = ezt_formatter.EZTFormatter('.') - self.java = ezt_formatter.DoxygenJavascriptifier() - - def tearDown(self): - os.rmdir(self.formatter.originals_directory) - - def CreateContentList(self, inner_content): - content = ['[BOILERPLATE - DO NOT EDIT THIS BLOCK]'] - content += ['[END OF BOILERPLATE]'] - content += inner_content - content += ['[BOILERPLATE - DO NOT EDIT THIS BLOCK]'] - content += ['[END OF BOILERPLATE]'] - return content - - def testJavascriptify(self): - # test numbers - content = ['int myInt()'] - content += ['myFloat(float f);'] - java_content = self.java.Javascriptify(content) - self.assertTrue(java_content[0] == 'Number myInt()') - self.assertTrue(java_content[1] == 'myFloat(Number f);') - # test non-javascript tags - content = ['pure test::myVar [pure virtual] Static'] - content += ['const void testFunction() [virtual] [pure]'] - content += ['testing [explicit]'] - content += ['virtual [protected] test;'] - content += ['static unsigned int function();'] - content += ['const float testing::test()=0'] - content += ['protected testing() [pure]'] - content += ['[pure]'] - java_content = self.java.Javascriptify(content) - self.assertTrue(java_content[0] == ' test.myVar Global') - self.assertTrue(java_content[1] == ' testFunction() ') - self.assertTrue(java_content[2] == 'testing ') - self.assertTrue(java_content[3] == ' test;') - self.assertTrue(java_content[4] == ' Number function();') - self.assertTrue(java_content[5] == ' Number testing.test()') - self.assertTrue(java_content[6] == ' testing() ') - self.assertFalse(java_content[7]) - # test static tag - content = ['myTestFunction() [static]'] - java_content = self.java.Javascriptify(content) - self.assertTrue(java_content[0] == ('myTestFunction() [<a class="doxygen-' - 'global">global function</a>]')) - # test null - content = ['return NULL;'] - java_content = self.java.Javascriptify(content) - self.assertTrue(java_content[0] == 'return null;') - # test Array - content = ['std.vector<test::arrayType> myArray'] - java_content = self.java.Javascriptify(content) - self.assertTrue(java_content[0] == 'Array myArray') - - def testJavascriptifyGlobal(self): - content = '<li>static test' - java_content = self.java.LabelStaticAsGlobal(content) - self.assertTrue(java_content == ('<li> test [<a class="doxygen-global">' - 'global function</a>]\n')) - content = '<li>abcdefg static myFunction(abc)<br>' - java_content = self.java.LabelStaticAsGlobal(content) - self.assertTrue(java_content == ('<li>abcdefg myFunction(abc)<br> [<a ' - 'class="doxygen-global">global function' - '</a>]\n')) - content = 'static abcde' - java_content = self.java.LabelStaticAsGlobal(content) - self.assertTrue(java_content == content) - - def testBackupCopy(self): - test_file = 'test_backup_file' - open(test_file, 'w') - self.formatter.MakeBackupCopy(test_file) - test_file_backup = os.path.join(self.formatter.originals_directory, - test_file) - self.assertTrue(os.path.exists(test_file)) - self.assertTrue(os.path.exists(test_file_backup)) - os.remove(test_file) - os.remove(test_file_backup) - - def testPerformFunctionsOnFile(self): - def ReplaceTest(lines_list): - new_lines_list = [] - for line in lines_list: - new_lines_list += [line.replace('test', 'pass')] - return new_lines_list - - test_file = 'test_file' - lines = ['test\n'] * 20 - outfile = open(test_file, 'w') - outfile.writelines(lines) - outfile.close() - - self.formatter.RegisterModifier(ReplaceTest) - self.formatter.PerformFunctionsOnFile(test_file) - - infile = open(test_file, 'r') - infile_lines = infile.readlines() - infile.close() - for in_line in infile_lines: - self.assertTrue(in_line == 'pass\n') - os.remove(test_file) - - def testRemoveNavigation(self): - content = ['<div class="test">'] - content += ['<div>'] - content += ['<div>'] - content += ['<div class="tabs" name="additional information to parse">'] - content += ['<div>'] - content += ['miscellaneous tab information'] - content += ['</div>'] - content += ['</div>'] - content += ['</div>'] - content += ['</div>'] - content += ['</div>'] - fixed_content = self.formatter.RemoveNavigation(content) - self.assertTrue(len(fixed_content) == 6) - self.assertTrue(fixed_content[0] == '<div class="test">') - self.assertTrue(fixed_content[1] == '<div>') - self.assertTrue(fixed_content[2] == '<div>') - self.assertTrue(fixed_content[3] == '</div>') - self.assertTrue(fixed_content[4] == '</div>') - self.assertTrue(fixed_content[5] == '</div>') - - def testFixBrackets(self): - content = ['test1'] - content += ['test2[]'] - content += ['test[3]'] - content += ['test[[4]]'] - content = self.CreateContentList(content) - fixed_content = self.formatter.FixBrackets(content) - self.assertTrue(fixed_content[2] == 'test1') - self.assertTrue(fixed_content[3] == 'test2[[]]') - self.assertTrue(fixed_content[4] == 'test[[]3]') - self.assertTrue(fixed_content[5] == 'test[[][[]4]]') - - def testRenameFiles(self): - html_file = 'test.html' - ezt_file = 'test.ezt' - open(html_file, 'w') - self.formatter.RenameFiles(html_file) - self.assertFalse(os.path.exists(html_file)) - self.assertTrue(os.path.exists(ezt_file)) - originals_html_file = os.path.join(self.formatter.originals_directory, - html_file) - self.assertTrue(originals_html_file) - # test functionality when file already exists - open(html_file, 'w') - self.formatter.RenameFiles(html_file) - self.assertFalse(os.path.exists(html_file)) - self.assertTrue(os.path.exists(ezt_file)) - self.assertTrue(originals_html_file) - os.remove(originals_html_file) - os.remove(ezt_file) - - -if __name__ == '__main__': - unittest.main() diff --git a/o3d/documentation/ezt_formatter_unittest.bat b/o3d/documentation/ezt_formatter_unittest.bat deleted file mode 100644 index da0494c3d..0000000 --- a/o3d/documentation/ezt_formatter_unittest.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo OFF -REM Copyright 2009, Google Inc. -REM All rights reserved. -REM -REM Redistribution and use in source and binary forms, with or without -REM modification, are permitted provided that the following conditions are -REM met: -REM -REM * Redistributions of source code must retain the above copyright -REM notice, this list of conditions and the following disclaimer. -REM * Redistributions in binary form must reproduce the above -REM copyright notice, this list of conditions and the following disclaimer -REM in the documentation and/or other materials provided with the -REM distribution. -REM * Neither the name of Google Inc. nor the names of its -REM contributors may be used to endorse or promote products derived from -REM this software without specific prior written permission. -REM -REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -REM A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -REM OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -REM SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -REM LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -REM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -REM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -REM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -REM OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -set PYTHONDIR=%~dp0..\..\third_party\python_24 -call %PYTHONDIR%\setup_env.bat -%PYTHONDIR%\python.exe %~dp0\ezt_formatter_test.py %* diff --git a/o3d/documentation/footer.html b/o3d/documentation/footer.html deleted file mode 100644 index bbdaf4d..0000000 --- a/o3d/documentation/footer.html +++ /dev/null @@ -1,10 +0,0 @@ -</div><!-- end doxygen-ref --> -[## BOILERPLATE - DO NOT EDIT THIS BLOCK ##] -[#] </div><!-- end gc-pagecontent --> -[#] </div><!-- end gooey wrapper --> -[#] -[#] [include "/_common_page_footer.ezt"] -[#] -[#] </body> -[#]</html> -[## END OF BOILERPLATE ##] diff --git a/o3d/documentation/get_docs_files.py b/o3d/documentation/get_docs_files.py deleted file mode 100644 index dd4bf3d..0000000 --- a/o3d/documentation/get_docs_files.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2009 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Helper script to generate file lists for documentation.gyp.""" - -import os -import sys -import types - - -def AppendBasePath(folder, filenames): - """Appends a base path to a ist of files""" - return [os.path.join(folder, filename) for filename in filenames] - - -def GetIdlFiles(): - idl_list_filename = os.path.join('..', 'plugin', 'idl_list.manifest') - idl_list_basepath = os.path.dirname(idl_list_filename) - files = eval(open(idl_list_filename, "r").read()) - idl_files = AppendBasePath(idl_list_basepath, files) - return idl_files - - -def GetJsFiles(): - js_list_filename = os.path.join('..', 'samples', 'o3djs', 'js_list.manifest') - js_list_basepath = os.path.dirname(js_list_filename) - files = eval(open(js_list_filename, "r").read()) - o3djs_files = AppendBasePath(js_list_basepath, files) - return o3djs_files - - -# Read in the manifest files (which are just really simple python files), -# and scrape out the file lists. -# TODO(gspencer): Since we no longer use the scons build, we should -# rework this so that the lists are just python lists so we can just -# do a simple eval instead of having to emulate scons import. -def main(argv): - files = [] - if argv[0] == '--js': - files = GetJsFiles() - if argv[0] == '--idl': - files = GetIdlFiles() - files.sort() - for file in files: - # gyp wants paths with slashes, not backslashes. - print file.replace("\\", "/") - - -if __name__ == "__main__": - main(sys.argv[1:]) diff --git a/o3d/documentation/header.html b/o3d/documentation/header.html deleted file mode 100644 index 73347e5..0000000 --- a/o3d/documentation/header.html +++ /dev/null @@ -1,29 +0,0 @@ -[include "/apis/o3d/_local_variables.ezt"] [# the _local_variables.ezt file should be at the root of your document hierarchy ] -[define section]docs[end] [# this should almost always be "docs," if the file lives in the "Docs" section (top nav). Otherwise, it's "home," "articles," "download," or "terms" ] -[define page_title]O3D API[end] [# this is the title for only this page ] - -[## BOILERPLATE - DO NOT EDIT THIS BLOCK - VERSION 1.66 ##] -[#]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -[#]<html> -[#] <head> -[#] [include "/apis/_common_head_elements.ezt"] -[#] <link href="/css/semantic_headers.css" rel="stylesheet" type="text/css" /> -[#] <link href="stylesheet.css" rel="stylesheet" type="text/css"> -[#] <link href="tabs.css" rel="stylesheet" type="text/css"> -[#] </head> -[#] -[#] <body class="gc-documentation"> -[#] -[#] [define content_section]#gc-pagecontent[end] -[#] [define navigation_section]#gc-toc[end] -[#] [include "/_common_page_header.ezt"] -[#] <div class="g-section g-tpl-170"> -[#] -[#] <div class="g-unit g-first" id="gc-toc"> -[#] [include toc_path] -[#] <a class="hidden" href="#gc-topnav-anchor">More [title] resource links</a> -[#] </div> -[#] -[#] <div class="g-unit" id="gc-pagecontent"> -[## END OF BOILERPLATE ##] -<div id="doxygen-ref"> diff --git a/o3d/documentation/jsdoc-toolkit-templates/annotated.tmpl b/o3d/documentation/jsdoc-toolkit-templates/annotated.tmpl deleted file mode 100644 index 7f87e49..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/annotated.tmpl +++ /dev/null @@ -1,27 +0,0 @@ -<!-- ============================== header ================================= --> -<!-- begin static/header.html --> -{+include("static/header.html")+} -<!-- end static/header.html --> - -<div id="doxygen-ref"> -<!-- Genreated by jsdoctoolkit 2.1.0 --> -<div class="navigation" id="top"> -</div> -<div class="contents"> -<h1>Class List</h1> -Here are the classes, structs, unions and interfaces with brief descriptions: - -<table> - {! var allClasses = data.filter(function($){return !$.isNamespace}).sort(makeSortby("alias")); !} - <for each="thisClass" in="allClasses"> - <tr><td class="indexkey"><a class="el" href="{+getLinkToClassByAlias(thisClass.alias)+}">{+thisClass.alias+}</a></td><td class="indexvalue"></td></tr> - </for> -</table> - -</div><!-- end contents --> -</div><!-- end doxygen-ref --> - -<!-- ============================== footer ================================= --> -<!-- begin static/footer.html --> -{+include("static/footer.html")+} -<!-- end static/footer.html --> diff --git a/o3d/documentation/jsdoc-toolkit-templates/class.tmpl b/o3d/documentation/jsdoc-toolkit-templates/class.tmpl deleted file mode 100644 index 950462b..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/class.tmpl +++ /dev/null @@ -1,419 +0,0 @@ -{! -thisClass = data; -!} - -<!-- ============================== header ================================= --> - <!-- begin static/header.html --> - {+include("static/header.html")+} - <!-- end static/header.html --> - -<div id="doxygen-ref"> -<!-- Genreated by jsdoctoolkit 2.1.0 --> -<div class="navigation" id="top"> - <div class="navpath">{+getHierarchicalLinksToClassByAlias(thisClass.alias,'el')+}</div> -</div> - -<div class="contents"> -<h1>{+thisClass.alias+} <if test="thisClass.isNamespace">Module</if><if test="!thisClass.isNamespace">Class</if> Reference</h1> -<if test="thisClass.inheritsFrom.length"> - Inherits <a class="el" href="{+getLinkToClassByAlias(thisClass.inheritsFrom[0])+}">{+thisClass.inheritsFrom[0]+}</a> -</if> -<p/> - -<p/> -<a href="{+getLinkToClassMembersByAlias(thisClass.alias)+}">List of all members.</a> -<hr/> -<a name="_details"></a> -<h2>Detailed Description</h2> -<if test="thisClass.classDesc">{+sanitizeForEZT(thisClass.classDesc)+}</if> -<if test="!thisClass.classDesc">{+sanitizeForEZT(thisClass.desc)+}</if> - -<if test="getOutputMode() !== 'o3d' && thisClass.srcFile.length"> -<h2>Source</h2> -<a name="_source" href="http://code.google.com/p/o3d/source/browse/trunk/samples/{+getSourcePath(thisClass)+}">{+getSourcePath(thisClass)+}</a> -</if> - -<!-- =========== SEE ALSO =========== --> -<if test="data.see.length"> - <h2>See Also</h2> - <ul> - <for each="seeAlso" in="data.see"> - <li> - {+linkifyTypeSpec(makeName('[Class See Also]', thisClass.alias), seeAlso)+} - </li> - </for> - </ul> -</if> - -<!-- =========== SEE ALSO =========== --> - -<!-- ========== CONSTRUCTOR SUMMARY ============== --> -<if test="shouldWriteConstructor(data)"> - <h2>Constructor</h2> - <ul> - <li><a class="el" href="{+data.name+}">{+data.alias+}</a><if test="data.classType != 'Namespace '">{+ makeSignature(data.params) +}</if></li> - </ul> -</if> - -<!-- ========== PUBLIC TYPES =========== --> -{! var ownTypes = getPublicTypes(data).sort(makeSortby("name")); - var justEnums = []; - for (var ot = 0; ot < ownTypes.length; ++ot) { - if (isEnum(ownTypes[ot])) { - justEnums.push(ownTypes[ot]); - } - } -!} -<if test="ownTypes.length"> - <h2>Public Types</h2> - <table class="summary"> - <for each="property" in="ownTypes"> - <tr> - <td> - <if test="isEnum(property)"> - enum <a class="el" href="#{+property.name+}">{+property.name+}</a> - </if> - <if test="!isEnum(property)"> - {+linkifySingleType(makeName('[Type Summary]'), property.memberOf+'.'+property.name)+} - </if> - </td> - <td>{+linkifySingleType(makeName('[Type Summary inherit]'), getParentName(property))+}</td> - </tr> - </for> - </table> -</if> - -<!-- ========== METHOD SUMMARY =========== --> -<if test="thisClass.methods.length"> - {! var ownMethods = data.methods.sort(makeSortby("name")); !} - <if test="ownMethods.length"> - <h2>Public Member Functions</h2> - <table class="summary"> - <for each="method" in="ownMethods"> - <if test="!method.isPrivate"> - <tr> - <td class="type"> - <if test="method.type.length">{+linkifyTypeSpec(makeName('[Method Summary]', thisClass.alias, method.name), method.type)+} </if> - </td> - <td><a class="el" href="#{+method.name+}">{+getNonOverloadedName(method.name)+}</a>{+makeSignature(method.params)+} - <if test="isDeprecated(method)"> - <span class="deprecated">[[]**DEPRECATED**]</span> - </if> - </td> - <td>{+linkifySingleType(makeName('[Method Summary inherit]'), getParentName(method))+}</td> - </tr> - </if> - </for> - </table> - </if> -</if> - -<!-- =========== PROPERTY SUMMARY =========== --> -{! var ownProperties = getPublicProperties(data).sort(makeSortby("name")); !} -<if test="ownProperties.length"> - <h2>Public Properties</h2> - <table class="summary"> - <for each="property" in="ownProperties"> - <tr> - <td class="type"> - <if test="property.isStatic||!property.memberOf"><Global> </if> - {+linkifyTypeSpec(makeName('[Property Summary]', thisClass.alias, property.name), getPropertyType(property))+} - </td> - <td><a class="el" href="#{+property.name+}">{+property.name+}</a> - <if test="isDeprecated(property)"> - <span class="deprecated">[[]**DEPRECATED**]</span> - </if> - </td> - <td>{+linkifySingleType(makeName('[Prop Summary inherit]'), getParentName(property))+}</td> - </tr> - </for> - </table> -</if> - -<!-- ========== PARAMETER SUMMARY =========== --> -{! var ownParameters = getParameters(data); !} -<if test="ownParameters.length"> - <h2>Parameters</h2> - <table class="summary"> - <for each="param" in="ownParameters"> - <tr> - <td class="type"> - {+linkifyTypeSpec(makeName('[Param Summary]', thisClass.alias, param.name), param.type)+} - </td> - <td><a class="el" href="#param_{+param.name+}">{+param.name+}</a></td> - <td>{+linkifySingleType(makeName('[Param Summary inherit]'), param.parent)+}</td> - </tr> - </for> - </table> -</if> - -<!-- ========== CONSTRUCTOR DETAIL ============== --> -<if test="shouldWriteConstructor(data)"> - <hr/> - <h2>Constructor</h2> - <a class="anchor" name="{+data.name+}"></a> - <div class="memitem"> - <div class="memproto"> - <table class="memname"> - <if test="data.params && data.params.length"> - {! - var tempCSS = "memname"; - var tempName = data.alias; - var tempParen = "("; - var tempEnd = data.params.length > 1 ? "" : ")" - !} - <for each="param" in="data.params"> - <tr> - <td class="{+tempCSS+}">{+tempName+}</td> - <td>{+tempParen+}</td> - <td class="paramtype">{+linkifyTypeSpec(makeName('[Constructor Param]', thisClass.alias, param.name), param.type)+}</td> - <td class="paramname"><em>{+param.name+}</em></td> - <td><if test="$param_last">)</if></td> - <td></td> - </tr> - {! - tempCSS = "paramkey"; - tempName = ""; - tempParen = ""; - !} - </for> - </if> - <if test="!data.params || data.params.length == 0"> - <tr> - <td class="memname">{+data.alias+}</td> - <td>(</td> - <td class="paramtype"></td> - <td class="paramname"></td> - <td>)</td> - <td></td> - </tr> - </if> - </table> - </div> - - <div class="memdoc"> - <p/> - {+sanitizeForEZT(data.desc)+} - <if test="data.params && data.params.length"> - <dl compact><dt><b>Parameters:</b></dt> - <dd> - <table border="0" cellspacing="2" cellpadding="0"> - <for each="param" in="data.params"> - <tr><td valign="top"></td><td valign="top"><em>{+param.name+}</em></td><td>{+sanitizeForEZT(param.desc)+}</td></tr> - </for> - </table> - </dd> - </dl> - </if> - </div> - - </div> -</if> - - -<!-- =========== TYPES DETAIL ============== --> - -<if test="defined(justEnums) && justEnums.length"> - <hr/> - <h2>Public Types Documentation</h2> - <for each="property" in="justEnums"> - <a class="anchor" name="{+property.name+}"></a> - <div class="memitem"> - <div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">{+isEnum(property)?'enum ':''+}{+property.memberOf+"."+property.name+}</td> - </tr> - </table> - </div> - - <div class="memdoc"> - <p/> - {+sanitizeForEZT(property.desc)+} - </div> - - <if test="property.see.length"> - <dl compact><td><b>See Also:</b></dt> - <dd><ul> - <for each="seeAlso" in="property.see"> - <li> - {+linkifyTypeSpec(makeName('[Property See Also]', thisClass.alias), seeAlso)+} - </li> - </for> - </ul></dd> - </dl> - </if> - - </div> - </for> -</if> - - -<!-- =========== METHOD DETAIL ============== --> -<if test="defined(ownMethods) && ownMethods.length"> - <hr/> - <h2>Member Function Documentation</h2> - <for each="member" in="ownMethods"> - <if test="!member.isPrivate"> - <a class="anchor" name="{+member.name+}"></a> - <div class="memitem"> - <div class="memproto"> - <table class="memname"> - {! var tempInherited = member.memberOf == thisClass.alias ? "" : ("[[]inherited from <a class=\"el\" href=\"" + getLinkToClassByAlias(member.memberOf) + "\">" + member.memberOf + "</a>]"); !} - <if test="member.params && member.params.length"> - {! - var tempCSS = "memname"; - var tempName = linkifyTypeSpecForReturn(makeName('[Method Detail]', thisClass.alias, member.name), member.type)+" "+getDocName(data, member); - var tempParen = "("; - var tempEnd = member.params.length > 1 ? "" : ")" - !} - <for each="param" in="member.params"> - <tr> - <td class="{+tempCSS+}">{+tempName+}</td> - <td>{+tempParen+}</td> - <td class="paramtype">{+linkifyTypeSpec(makeName('[Param Detail]', thisClass.alias, member.name, param.name), param.type)+}</td> - <td class="paramname"><em>{+param.name+}</em></td> - <td><if test="$param_last">)</if></td> - <td><code><if test="$param_last">{+tempInherited+}</if></code></td> - </tr> - {! - tempCSS = "paramkey"; - tempName = ""; - tempParen = ""; - !} - </for> - </if> - <if test="!member.params || member.params.length == 0"> - <tr> - <td class="memname">{+getDocName(data, member)+}</td> - <td>(</td> - <td class="paramtype"></td> - <td class="paramname"></td> - <td>)</td> - <td>{+tempInherited+}</td> - </tr> - </if> - <if test="isDeprecated(member)"> - <td colspan="6" class="deprecated">[[]**DEPRECATED**]</td> - </if> - </table> - </div> - - <div class="memdoc"> - <p/> - {+sanitizeForEZT(member.desc)+} - <if test="member.params && member.params.length"> - <dl compact><dt><b>Parameters:</b></dt> - <dd> - <table border="0" cellspacing="2" cellpadding="0"> - <for each="param" in="member.params"> - <tr><td valign="top"></td><td valign="top"><em>{+param.name+}</em></td><td> - {+sanitizeForEZT(param.desc)+}</td></tr> - </for> - </table> - </dd> - </dl> - </if> - <if test="member.type && member.type.length"> - <dl class="return" compact><dt><b>Returns:</b></dt> - <dd> - {+linkifyTypeSpec(makeName('[Return detail]', thisClass.alias, member.name), member.type)+}.<if test="member.returns && member.returns.length">{+sanitizeForEZT(member.returns[0].desc)+}</if> - </dd> - </if> - </div> - - <if test="member.see.length"> - <dl compact><td><b>See Also:</b></dt> - <dd><ul> - <for each="seeAlso" in="member.see"> - <li> - {+linkifyTypeSpec(makeName('[Method See Also]', thisClass.alias, '[See Also]'), seeAlso)+} - </li> - </for> - </ul></dd> - </dl> - </if> - - </div> - </if> - </for> -</if> - -<!-- =========== PROPERTY DETAIL ============== --> - -<if test="defined(ownProperties) && ownProperties.length"> - <hr/> - <h2>Member Property Documentation</h2> - <for each="property" in="ownProperties"> - <a class="anchor" name="{+property.name+}"></a> - <div class="memitem"> - <div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">{+linkifyTypeSpec(makeName('[Property Detail]', thisClass.alias, property.name), getPropertyType(property))+} {+getDocName(data, property)+} - <if test="isDeprecated(property)"> - <span class="deprecated">[[]**DEPRECATED**]</span> - </if> - {+ (property.memberOf == thisClass.alias) ? "" : ("[[]inherited from <a class=\"el\" href=\"" + getLinkToClassByAlias(property.memberOf) + "\">" + property.memberOf + "</a>]") +} - </td> - </tr> - </table> - </div> - - <div class="memdoc"> - <p/> - {+sanitizeForEZT(property.desc)+} - </div> - - <if test="property.see.length"> - <dl compact><td><b>See Also:</b></dt> - <dd><ul> - <for each="seeAlso" in="property.see"> - <li> - {+linkifyTypeSpec(makeName('[Property See Also]', thisClass.alias), seeAlso)+} - </li> - </for> - </ul></dd> - </dl> - </if> - - </div> - </for> -</if> - -<!-- =========== PARAMETER DETAIL ============== --> - -<if test="defined(ownParameters) && ownParameters.length"> - <hr/> - <h2>Parameter Documentation</h2> - <for each="param" in="ownParameters"> - <a class="anchor" name="param_{+param.name+}"></a> - <div class="memitem"> - <div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">{+linkifyTypeSpec(makeName('[Param Detail]', thisClass.alias, param.name), param.type)+} {+param.name+} - {+ (param.parent == thisClass.alias) ? "" : ("[[]inherited from " + linkifySingleType(makeName('[Param Details inherit]'), param.parent) + "]") +} - </td> - </tr> - </table> - </div> - - <div class="memdoc"> - <p/> - {+sanitizeForEZT(param.desc)+} - </div> - - </div> - </for> -</if> - -</div><!-- end contents --> -</div><!-- end doxygen-ref --> - -<!-- ============================== footer ================================= --> - <!-- begin static/footer.html --> - {+include("static/footer.html")+} - <!-- end static/footer.html --> - - diff --git a/o3d/documentation/jsdoc-toolkit-templates/classtree.tmpl b/o3d/documentation/jsdoc-toolkit-templates/classtree.tmpl deleted file mode 100644 index e5a04e6..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/classtree.tmpl +++ /dev/null @@ -1,15 +0,0 @@ -<ul> - <li><a href="/apis/o3d/docs/reference/{+getBaseURL()+}namespaces.html">Modules</a> - <ul> - {! var allNamespaces = data.filter(function($){return $.isNamespace}).sort(makeSortby("alias")); !} - <for each="thisClass" in="allNamespaces"> - <li><a href="/apis/o3d/docs/reference/{+getBaseURL()+}{+getLinkToClassByAlias(thisClass.alias)+}">{+hyphenateWord(thisClass.name, 16, '-<br/>')+}</a></li> - </for> - </ul> - </li> - <li><a href="/apis/o3d/docs/reference/{+getBaseURL()+}annotated.html">Classes</a> - {! var allClasses = data.filter(function($){return !$.isNamespace}).sort(makeSortby("alias")); !} - {+getClassHierarchyHTML(allClasses)+} - </li> -</ul> - diff --git a/o3d/documentation/jsdoc-toolkit-templates/dot.tmpl b/o3d/documentation/jsdoc-toolkit-templates/dot.tmpl deleted file mode 100644 index a669cb6..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/dot.tmpl +++ /dev/null @@ -1,21 +0,0 @@ -digraph G { - graph [ - rankdir = LR - ] - node [ - color = aquamarine - style = filled - shape = box - ] - edge [ - dir = back - ] - {! var allClasses = data.filter(function($){return !$.isNamespace}).sort(makeSortby("alias")); !} - <for each="thisClass" in="allClasses"> - <if test="thisClass.inheritsFrom.length"> - {+thisClass.inheritsFrom[0].replace('o3d.', '')+} -> {+thisClass.alias.replace('o3d.','')+} - {+thisClass.alias.replace('o3d.','')+} [URL="/apis/o3d/docs/reference/{+getBaseURL()+}{+getLinkToClassByAlias(thisClass.alias)+}"] - </if> - </for> -} - diff --git a/o3d/documentation/jsdoc-toolkit-templates/exports.tmpl b/o3d/documentation/jsdoc-toolkit-templates/exports.tmpl deleted file mode 100644 index 8d291fd..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/exports.tmpl +++ /dev/null @@ -1,33 +0,0 @@ -{! thisClass = data; !} -// ========== CLASS =========== -goog.exportSymbol('{+getSymbolNameForExport(data)+}', {+getSymbolNameForExport(data)+}); -// ========== PUBLIC TYPES =========== -{! var ownTypes = getPublicTypes(data).sort(makeSortby("name")); !} -<if test="ownTypes.length"> - <for each="property" in="ownTypes"> - <if test="isEnum(property)"> -goog.exportSymbol('{+getSymbolNameForExport(property)+}', {+getSymbolNameForExport(property)+}); - </if> - </for> -</if> - -// ========== METHODS =========== -<if test="thisClass.methods.length"> - {! var ownMethods = data.methods.sort(makeSortby("name")); !} - <if test="ownMethods.length"> - <for each="method" in="ownMethods"> - <if test="!method.isPrivate"> -goog.exportSymbol('{+getSymbolNameForExport(method)+}', {+getSymbolNameForExport(method)+}); - </if> - </for> - </if> -</if> - -//- =========== PROPERTIES =========== -{! var ownProperties = getPublicProperties(data).sort(makeSortby("name")); !} -<if test="ownProperties.length"> - <for each="property" in="ownProperties"> -goog.exportSymbol('{+getSymbolNameForExport(property)+}', {+getSymbolNameForExport(property)+}); - </for> -</if> - diff --git a/o3d/documentation/jsdoc-toolkit-templates/filelist.tmpl b/o3d/documentation/jsdoc-toolkit-templates/filelist.tmpl deleted file mode 100644 index 5be3659..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/filelist.tmpl +++ /dev/null @@ -1,7 +0,0 @@ -<ul> - {! var allFiles = data.filter(function($){return $.is('FILE')}).sort(makeSortby("alias")); !} - <for each="thisFile" in="allFiles"> - <li><a href="[path_to_samples]{+getSourcePath(thisFile)+}">{+getSourcePath(thisFile)+}</a></li> - </for> -</ul> - diff --git a/o3d/documentation/jsdoc-toolkit-templates/members.tmpl b/o3d/documentation/jsdoc-toolkit-templates/members.tmpl deleted file mode 100644 index e5f4ed6..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/members.tmpl +++ /dev/null @@ -1,65 +0,0 @@ -{! -thisClass = data; -!} - -<!-- ============================== header ================================= --> - <!-- begin static/header.html --> - {+include("static/header.html")+} - <!-- end static/header.html --> - -<div id="doxygen-ref"> -<!-- Genreated by jsdoctoolkit 2.1.0 --> -<div class="navigation" id="top"> -</div> - -<div class="contents"> -<h1>{+thisClass.alias+} Member List</h1> -This is the complete list of members for -<a class="el" href="{+getLinkToClassByAlias(thisClass.alias)+}">{+thisClass.alias+}</a>, including all inherited members. -<p/> -<table> - -<!-- ========== CONSTRUCTOR SUMMARY ============== --> -<if test="shouldWriteConstructor(data)"> -<tr class="memlist"><td><a class="el" href="{+getLinkToClassByAlias(thisClass.alias)+}#{+data.name+}">{+data.alias+}</a><if test="data.classType != 'Namespace '">{+ makeSignature(data.params) +}</if></td><td><a class="el" href="{+getLinkToClassByAlias(thisClass.memberOf)+}">{+thisClass.memberOf+}</a></td><td></td></tr> -</if> - -<!-- ========== METHOD SUMMARY =========== --> -<if test="thisClass.methods.length"> - {! var ownMethods = data.methods.sort(makeSortby("name")); !} - <if test="ownMethods.length"> - <for each="method" in="ownMethods"> - <if test="!method.isPrivate"> - <tr class="memlist"><td><a class="el" href="{+getLinkToClassByAlias(thisClass.alias)+}#{+method.name+}">{+getNonOverloadedName(method.name)+}</a>{+ makeSignature(method.params) +}</td><td><a class="el" href="{+getLinkToClassByAlias(method.memberOf)+}">{+method.memberOf+}</a></td><td></td></tr> - </if> - </for> - </if> -</if> - -<!-- =========== FIELD SUMMARY =========== --> -<if test="data.properties.length"> - {! var ownProperties = data.properties.sort(makeSortby("name")); !} - <if test="ownProperties.length"> - <for each="property" in="ownProperties"> - <if test="!property.isPrivate"> - <tr class="memlist"><td><a class="el" href="{+getLinkToClassByAlias(thisClass.alias)+}#{+property.name+}">{+property.name+}</a></td><td><a class="el" href="{+getLinkToClassByAlias(property.memberOf)+}">{+property.memberOf+}</a></td><td></td></tr> - </if> - </for> - </if> -</if> - -</table> - - -<!-- =========== END FIELD SUMMARY =========== --> - -</div><!-- end contents --> -</div><!-- end doxygen-ref --> - -<!-- ============================== footer ================================= --> - <!-- begin static/footer.html --> - {+include("static/footer.html")+} - <!-- end static/footer.html --> - - - diff --git a/o3d/documentation/jsdoc-toolkit-templates/namespaces.tmpl b/o3d/documentation/jsdoc-toolkit-templates/namespaces.tmpl deleted file mode 100644 index 13ccfe4..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/namespaces.tmpl +++ /dev/null @@ -1,26 +0,0 @@ -<!-- ============================== header ================================= --> -<!-- begin static/header.html --> -{+include("static/header.html")+} -<!-- end static/header.html --> - -<div id="doxygen-ref"> -<!-- Genreated by jsdoctoolkit 2.1.0 --> -<div class="navigation" id="top"> -</div> -<div class="contents"> -<h1>Module List</h1> -Here are the modules with brief descriptions: - -<table> - {! var allClasses = data.filter(function($){return $.isNamespace}).sort(makeSortby("alias")); !} - <for each="thisClass" in="allClasses"> - <tr><td class="indexkey"><a class="el" href="{+getLinkToClassByAlias(thisClass.alias)+}">{+thisClass.alias+}</a></td><td class="indexvalue"></td></tr> - </for> -</table> - -</div><!-- end contents --> -</div><!-- end doxygen-ref --> -<!-- ============================== footer ================================= --> -<!-- begin static/footer.html --> -{+include("static/footer.html")+} -<!-- end static/footer.html --> diff --git a/o3d/documentation/jsdoc-toolkit-templates/publish.js b/o3d/documentation/jsdoc-toolkit-templates/publish.js deleted file mode 100644 index 0518b6f..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/publish.js +++ /dev/null @@ -1,1255 +0,0 @@ -/* - * Copyright 2009, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -/** - * @fileoverview The jsdoctoolkit loads this file and calls publish() - */ - - -var g_symbolSet; // so we can look stuff up below. -var g_symbolArray; -var g_filePrefix; -var g_skipRE; -var g_validJSDOCTypes = { - 'boolean': true, - 'Event': true, - 'Element': true, - 'null': true, - 'number': true, - 'Number': true, - 'object': true, - 'Object': true, - '*': true, - '...': true, - 'RegExp': true, - 'string': true, - 'String': true, - 'XMLHttpRequest': true, - 'void': true, - 'undefined': true}; -var g_unknownTypes = { }; -var g_numErrors = 0; -var g_o3djsMode = false; -var g_outputMode; -var g_baseURL; -var g_topURL; -var g_templates = []; -var g_o3dPropertyRE = /^(\w+)\s+(\w+)\s+/; -var g_startContainerRE = /^(?:function\(|!function\(|[\(<{[])/; -var g_containerRE = /function\(|!function\(|[\(<{[]/; -var g_overloadRE = /xxxOVERLOADED\d+xxx/; -var g_overloadStr = 'xxxOVERLOADED'; -var g_firstOverloadStr = 'xxxOVERLOADED0xxx'; -var g_openCloseMap = { - 'function(': ')', - '!function(': ')', - '(': ')', - '<': '>', - '[': ']', - '{': '}'}; -var g_closeMap = { - ')': true, - '>': true, - ']': true, - '}': true}; -var g_symbolsWithoutOverload = {}; - -/** - * Called automatically by JsDoc Toolkit. - * @param {SymbolSet} symbolSet Set of all symbols in all files. - */ -function publish(symbolSet) { - try { - publishInternal(symbolSet); - } catch (e) { - generateError(e); - } - - if (g_numErrors > 0) { - print('Num Errors: ' + g_numErrors); - System.exit(1); - } -} - -/** - * Called by us to catch errors. - * @param {SymbolSet} symbolSet Set of all symbols in all files. - */ -function publishInternal(symbolSet) { - publish.conf = { // trailing slash expected for dirs - ext: '.ezt', - outDir: JSDOC.opt.d, - templatesDir: JSDOC.opt.t, - symbolsDir: '', - exportsFile: JSDOC.opt.D.exportsFile, - prefix: JSDOC.opt.D.prefix, - mode: JSDOC.opt.D.mode}; - publish.conf.srcDir = publish.conf.outDir + 'src/'; - publish.conf.htmlDir = JSDOC.opt.D.htmlOutDir; - g_baseURL = JSDOC.opt.D.baseURL; - g_topURL = JSDOC.opt.D.topURL; - g_outputMode = JSDOC.opt.D.mode; - - for (var key in publish.conf) { - print ("publish.conf." + key + ": " + publish.conf[key]) - } - - if (publish.conf.mode == 'o3djs') { - g_o3djsMode = true; - } - - // In o3djs mode, don't generate docs for these. - g_skipRE = new RegExp('^(o3d$|o3d\\.|Vectormath)'); - - // Symbols we should always skip. - var alwaysSkipRE = new RegExp('^(_global_|VectorMath|Aos)'); - - // is source output is suppressed, just display the links to the source file - if (JSDOC.opt.s && defined(Link) && Link.prototype._makeSrcLink) { - Link.prototype._makeSrcLink = function(srcFilePath) { - return '<' + srcFilePath + '>'; - } - } - - // create the folders and subfolders to hold the output - IO.mkPath((publish.conf.outDir).split('/')); - IO.mkPath((publish.conf.htmlDir).split('/')); - - // used to allow Link to check the details of things being linked to - Link.symbolSet = symbolSet; - Link.base = '../'; - - // used to allow other parts of this module to access database of symbols - // and the file prefix. - g_symbolSet = symbolSet; - g_filePrefix = publish.conf.prefix; - - // create the required templates - try { - var templatesDir = publish.conf.templatesDir; - var classTemplate = new JSDOC.JsPlate(templatesDir + 'class.tmpl'); - var exportsTemplate = new JSDOC.JsPlate(templatesDir + 'exports.tmpl'); - var membersTemplate = new JSDOC.JsPlate(templatesDir + 'members.tmpl'); - var classTreeTemplate = new JSDOC.JsPlate(templatesDir + 'classtree.tmpl'); - var fileListTemplate = new JSDOC.JsPlate(templatesDir + 'filelist.tmpl'); - var annotatedTemplate = new JSDOC.JsPlate(templatesDir + 'annotated.tmpl'); - var namespacesTemplate = new JSDOC.JsPlate(templatesDir + - 'namespaces.tmpl'); - var dotTemplate = new JSDOC.JsPlate(templatesDir + 'dot.tmpl'); - } catch(e) { - generateError('Couldn\'t create the required templates: ' + e); - System.exit(1); - } - - // some utility filters - function hasNoParent($) {return ($.memberOf == '')} - function isaFile($) {return ($.is('FILE'))} - function isaClass($) {return ($.is('CONSTRUCTOR') || $.isNamespace)} - - // get an array version of the symbolset, useful for filtering - var symbols = symbolSet.toArray(); - g_symbolArray = symbols; - - // create the hilited source code files - if (false) { - var files = JSDOC.opt.srcFiles; - for (var i = 0, l = files.length; i < l; i++) { - var file = files[i]; - makeSrcFile(file, publish.conf.srcDir); - } - } - - // Comment this lines in to see all symbol information. - //for (var ii = 0; ii < symbols.length; ++ii) { - // var symbol = symbols[ii]; - // print('------[' + symbol.name + ']-------------------------------------'); - // dumpObject(symbol, 5); - //} - - // get a list of all the classes in the symbolset - var classes = symbols.filter(isaClass).sort(makeSortby('alias')); - var filteredClasses = []; - var exports = ''; - - // create each of the class pages - for (var i = 0, l = classes.length; i < l; i++) { - var symbol = classes[i]; - g_unknownTypes = { }; - - symbol.events = symbol.getEvents(); // 1 order matters - symbol.methods = symbol.getMethods(); // 2 - - if ((g_o3djsMode && g_skipRE.test(symbol.alias)) || - alwaysSkipRE.test(symbol.alias)) { - print('Skipping docs for : ' + symbol.alias); - continue; - } - - print('Generating docs for: ' + symbol.alias); - - filteredClasses.push(symbol); - - // Comment these lines in to see what data is available to the templates. - //if (symbol.name == 'Canvas') { - // print('------[' + symbol.name + ']-----------------------------------'); - // dumpObject(symbol, 5); - //} - - // <a href='symbol.source'>symbol.filename</a> - symbol.source = symbol.srcFile; // This is used as a link to the source - symbol.filename = symbol.srcFile; // This is display as the link. - - var output = ''; - output = classTemplate.process(symbol); - - IO.saveFile(publish.conf.outDir, - (publish.conf.prefix + symbol.alias + - '_ref' + publish.conf.ext).toLowerCase(), - output); - IO.saveFile(publish.conf.htmlDir, - (publish.conf.prefix + symbol.alias + - '_ref.html').toLowerCase(), - output); - - var output = ''; - output = membersTemplate.process(symbol); - IO.saveFile(publish.conf.outDir, - (publish.conf.prefix + symbol.alias + - '_members' + publish.conf.ext).toLowerCase(), - output); - IO.saveFile(publish.conf.htmlDir, - (publish.conf.prefix + symbol.alias + - '_members.html').toLowerCase(), - output); - - if (publish.conf.exportsFile) { - exports += exportsTemplate.process(symbol); - } - } - - var classTree = classTreeTemplate.process(filteredClasses); - IO.saveFile(publish.conf.outDir, 'classtree.html', classTree); - IO.saveFile(publish.conf.htmlDir, 'classtree.html', classTree); - - var fileList = fileListTemplate.process(symbols); - IO.saveFile(publish.conf.outDir, 'filelist.html', fileList); - IO.saveFile(publish.conf.htmlDir, 'filelist.html', fileList); - - var annotated = annotatedTemplate.process(filteredClasses); - IO.saveFile(publish.conf.outDir, 'annotated' + publish.conf.ext, annotated); - IO.saveFile(publish.conf.htmlDir, 'annotated.html', annotated); - - var namespaces = namespacesTemplate.process(filteredClasses); - IO.saveFile(publish.conf.outDir, 'namespaces' + publish.conf.ext, namespaces); - IO.saveFile(publish.conf.htmlDir, 'namespaces.html', namespaces); - - var dot = dotTemplate.process(filteredClasses); - IO.saveFile(publish.conf.htmlDir, 'class_hierarchy.dot', dot); - - if (publish.conf.exportsFile) { - print("Writing exports: " + publish.conf.exportsFile); - var blankLineRE = /\n *\n/gm; - while (blankLineRE.test(exports)) { - exports = exports.replace(blankLineRE, '\n'); - } - var parts = publish.conf.exportsFile.replace('\\', '/'). - match(/(.*?)\/([^\/]+)$/); - IO.saveFile(parts[1], parts[2], exports); - } -} - -/** - * Gets just the first sentence (up to a full stop). - * Should not break on dotted variable names. - * @param {string} desc Description to extract summary from. - * @return {string} summary. - */ -function summarize(desc) { - if (typeof desc != 'undefined') - return desc.match(/([\w\W]+?\.)[^a-z0-9_$]/i) ? RegExp.$1 : desc; -} - -/** - * Makes a symbol sorter by some attribute. - * @param {string} attribute to sort by. - * @return {number} sorter result. - */ -function makeSortby(attribute) { - return function(a, b) { - if (a[attribute] != undefined && b[attribute] != undefined) { - a = a[attribute].toLowerCase(); - b = b[attribute].toLowerCase(); - if (a < b) return -1; - if (a > b) return 1; - return 0; - } - } -} - -/** - * Pull in the contents of an external file at the given path. - * @param {string} path Path of file relative to template directory. - * @return {string} contents of file. - */ -function include(path) { - var template = g_templates[path]; - if (!template) { - try { - template = new JSDOC.JsPlate(JSDOC.opt.t + path); - } catch (e) { - generateError('Could not include: ' + path + '\n' + e); - template = ''; - } - g_templates[path] = template; - } - var output = template.process({}); - return output; -} - -/** - * Turns a raw source file into a code-hilited page in the docs. - * @param {string} path Path to source. - * @param {string} srcDir path to place to store hilited page. - * @param {string} opt_name to name output file. - * - */ -function makeSrcFile(path, srcDir, opt_name) { - if (JSDOC.opt.s) return; - - if (!opt_name) { - opt_name = path.replace(/\.\.?[\\\/]/g, '').replace(/[\\\/]/g, '_'); - opt_name = opt_name.replace(/\:/g, '_'); - } - - var src = {path: path, name: opt_name, charset: IO.encoding, hilited: ''}; - - if (defined(JSDOC.PluginManager)) { - JSDOC.PluginManager.run('onPublishSrc', src); - } - - if (src.hilited) { - IO.saveFile(srcDir, opt_name + publish.conf.ext, src.hilited); - } -} - -/** - * Builds output for displaying function parameters. - * @param {Array} params Array of function params. - * @return {string} string in format '(param1, param2)'. - */ -function makeSignature(params) { - if (!params) return '()'; - var signature = '(' + - params.filter( - function($) { - return $.name.indexOf('.') == -1; // don't show config params in signature - } - ).map( - function($) { - return $.name; - } - ).join(', ') + ')'; - return signature; -} - -/** - * Find symbol {@link ...} strings in text and turn into html links. - * @param {string} str String to modify. - * @return {string} modifed string. - */ -function resolveLinks(str) { - str = str.replace(/\{@link ([^} ]+) ?\}/gi, - function(match, symbolName) { - return new Link().toSymbol(symbolName); - } - ); - - return str; -} - -/** - * Makes a link for a symbol. - * - * @param {string} symbolName Name of symbol - * @param {string} extra extra - * @param {string} opt_bookmark Optional bookmark. - */ -function makeSymbolLink(symbolName, extra, opt_bookmark) { - var prefix = g_filePrefix; - if (g_o3djsMode && g_skipRE.test(symbolName)) { - prefix = '../classo3d_1_1_'; - } - return (prefix + symbolName + extra + - '.html').toLowerCase() + - (opt_bookmark ? '#' + opt_bookmark : ''); -} - -/** - * Make link from symbol. - * @param {Object} symbol Symbol from class database. - * @param {string} opt_extra extra suffix to add before '.html'. - * @return {string} url to symbol. - */ -function getLinkToSymbol(symbol, opt_extra) { - opt_extra = opt_extra || '_ref'; - if (symbol.is('CONSTRUCTOR') || symbol.isNamespace) { - return makeSymbolLink(symbol.alias, opt_extra); - } else { - var parentSymbol = getSymbol(symbol.memberOf); - return makeSymbolLink(parentSymbol.alias, opt_extra, symbol.name); - } -} - -/** - * Given a class alias, returns a link to its reference page - * @param {string} classAlias Fully qualified name of class. - * @return {string} url to class. - */ -function getLinkToClassByAlias(classAlias) { - var symbol = getSymbol(classAlias); - if (!symbol) { - throw Error('no documentation for "' + classAlias + '"'); - } - return getLinkToSymbol(symbol); -} - -/** - * Given a class alias, returns a link to its member reference page - * @param {string} classAlias Fully qualified name of class. - * @return {string} url to class in members file. - */ -function getLinkToClassMembersByAlias(classAlias) { - var symbol = getSymbol(classAlias); - return getLinkToSymbol(symbol, '_members'); -} - -/** - * Given a class alias like o3djs.namespace.function returns an HTML string - * with a link to each part (o3djs, namespace, function) - * @param {string} classAlias Fully qualified alias of class. - * @param {string} opt_cssClassId css class Id to put in class="" instead links. - * @return {string} html with links to each class and parent. - */ -function getHierarchicalLinksToClassByAlias(classAlias, opt_cssClassId) { - var parts = classAlias.split('.'); - var name = ''; - var html = ''; - var delim = ''; - var classId = ''; - if (opt_cssClassId) { - classId = ' class="' + opt_cssClassId + '"'; - } - for (var pp = 0; pp < parts.length; ++pp) { - var part = parts[pp]; - name = name + delim + part; - link = getLinkToClassByAlias(name); - html = html + delim + '<a' + classId + - ' href="' + link + '">' + part + '</a>'; - delim = '.'; - } - return html; -} - -/** - * Dumps a javascript object. - * - * @param {Object} obj Object to dump. - * @param {number} depth Depth to dump (0 = forever). - * @param {string} opt_prefix Prefix to put before each line. - */ -function dumpObject(obj, depth, opt_prefix) { - opt_prefix = opt_prefix || ''; - --depth; - for (var prop in obj) { - if (typeof obj[prop] != 'function') { - dumpWithPrefix(prop + ' : ' + obj[prop], opt_prefix); - if (depth != 0) { - dumpObject(obj[prop], depth, opt_prefix + ' '); - } - } - } -} - -/** - * Dumps a string, putting a prefix before each line - * @param {string} str String to dump. - * @param {string} prefix Prefix to put before each line. - */ -function dumpWithPrefix(str, prefix) { - var parts = str.split('\n'); - for (var pp = 0; pp < parts.length; ++pp) { - print(prefix + parts[pp]); - } -} - -/** - * gets the type of a property. - * @param {!object} property Property object. - * @return {string} type of property. - */ -function getPropertyType(property) { - if (property.type.length > 0) { - return property.type; - } else { - var tag = property.comment.getTag('type'); - if (tag.length > 0) { - return tag[0].type; - } else { - return 'undefined'; - } - } -} - -/** - * Gets the parameters for a class. - * Parameters are an o3d specific thing. We have to look for tags that - * start with @o3dparameter - * @param {!Symbol} symbol - */ -function getParameters(symbol) { - var params = []; - if (symbol.inheritsFrom.length) { - params = getParameters(getSymbol(symbol.inheritsFrom[0])); - } - - var tags = symbol.comment.getTag('o3dparameter'); - for (var ii = 0; ii < tags.length; ++ii) { - var tag = tags[ii]; - var tagString = tag.toString(); - var parts = tagString.match(g_o3dPropertyRE); - if (!parts) { - generateError('Malformed o3dparameter specification for ' + symbol.alias + - ' : "' + tag + '"'); - } else { - var descString = tagString.substr(parts[0].length); - var param = { - name: parts[1], - type: 'o3d.' + parts[2], - desc: descString, - parent: symbol.alias, - }; - params.push(param); - } - } - return params; -} - -/** - * Generates an HTML class hierarchy. - * @param {!Array.<!Symbol>} classes Class to make hierarchy from. - * @return {string} HTML hierarchical list of classes. - */ -function getClassHierarchyHTML(classes) { - var classTree = {}; - - for (var cc = 0; cc < classes.length; ++cc) { - var thisClass = classes[cc]; - var stack = [thisClass]; - while (thisClass.inheritsFrom !== undefined && - thisClass.inheritsFrom.length > 0) { - var parentName = thisClass.inheritsFrom[0]; - thisClass = getSymbol(parentName); - stack.push(thisClass); - } - - var node = classTree; - for (var ii = stack.length - 1; ii >= 0; --ii) { - var thisClass = stack[ii]; - var className = thisClass.alias; - if (!node[className]) { - node[className] = { }; - } - node = node[className]; - } - } - - return addParts(classTree, ''); - - /** - * Recursively creates hierarchical list of classes. - * @param {!Object} node A hash of class names to derived classes. - * @param {string} prefix Prefix to put in front of each line. - */ - function addParts(node, prefix) { - var output = ''; - var names = []; - for (var name in node) { - names.push(name); - } - if (names.length > 0) { - output += prefix + '<ul>\n'; - names = names.sort(); - for (var kk = 0; kk < names.length; ++kk) { - var name = names[kk]; - var shortName = name; - var period = name.lastIndexOf('.'); - if (period >= 0) { - shortName = name.substr(period + 1); - } - output += prefix + '<li><a href="/apis/o3d/docs/reference/' + - getBaseURL() + - getLinkToClassByAlias(name) + - '">' + - hyphenateWord(shortName, 16, '-<br/>') + - '</a>'; - output += addParts(node[name], prefix + ' ') + '\n'; - output += prefix + '</li>\n'; - } - output += prefix + '</ul>\n'; - } - return output; - } -} - -/** - * Returns whether or not the symbol is deprecated. Apparently jsdoctoolkit is - * supposed to extract this info for us but it's not so we have to do it - * manually. - * @param {!Symbol} symbol The symbol to check. - * @return {boolean} True if the symbol is deprecated. - */ -function isDeprecated(symbol) { - var tags = symbol.comment.getTag('deprecated'); - return tags.length > 0; -} - -/** - * Converts [ to [[] for ezt files. - * Also converts '\n\n' to <br/></br> - * @param {string} str to sanitize. - * @return {string} Sanitized string. - */ -function sanitizeForEZT(str) { - str = str.replace(/<pre>/g, '<pre class="prettyprint">'); - return str.replace(/\[/g, '[[]').replace(/\n\n/g, '<br/><br/>'); -} - -/** - * Check if string starts with another string. - * @param {string} str String to check. - * @param {string} prefix Prefix to check for. - * @return {boolean} True if str starts with prefix. - */ -function startsWith(str, prefix) { - return str.substring(0, prefix.length) === prefix; -} - -/** - * Check if string ends with another string. - * @param {string} str String to check. - * @param {string} suffix Suffix to check for. - * @return {boolean} True if str ends with suffix. - */ -function endsWith(str, suffix) { - return str.substring(str.length - suffix.length) === suffix; -} - -/** - * Returns a string stripped of leading and trailing whitespace. - * @param {string} str String to strip. - * @return {string} stripped string. - */ -function stripWhitespace(str) { - return str.replace(/^\s+/, '').replace(/\s+$/, ''); -} - -/** - * Converts a camelCase name to underscore as in TypeOfFruit becomes - * type_of_fruit. - * @param {string} str CamelCase string. - * @return {string} underscorified str. - */ -function camelCaseToUnderscore(str) { - function toUnderscore(match) { - return '_' + match.toLowerCase(); - } - return str[0].toLowerCase() + - str.substring(1).replace(/[A-Z]/g, toUnderscore); -} - -/** - * Prints a warning about an unknown type only once. - * @param {string} place Use to print error message if type not found. - * @param {string} type Type specification. - */ -function reportUnknownType(place, type) { - if (!g_unknownTypes[type]) { - g_unknownTypes[type] = true; - generatePlaceError (place, 'reference to unknown type: "' + type + '"'); - } -} - -/** - * Gets index of closing character. - * @param {string} str string to search. - * @param {number} startIndex index to start searching at. Must be an opening - * character. - * @return {number} Index of closing character or (-1) if not found. - */ -function getIndexOfClosingCharacter(str, startIndex) { - var stack = []; - if (!g_openCloseMap[str[startIndex]]) { - throw 'startIndex does not point to opening character.'; - } - var endIndex = str.length; - while (startIndex < endIndex) { - var c = str[startIndex]; - var closing = g_openCloseMap[c]; - if (closing) { - stack.unshift(closing); - } else { - closing = g_closeMap[c]; - if (closing) { - var expect = stack.shift() - if (c != expect) { - return -1; - } - if (stack.length == 0) { - return startIndex; - } - } - } - ++startIndex; - } - return -1; -} - -/** - * Make's a name by concatenating strings. - * @param {...[string]} strings to concatenate. - * @return {string} Concatenated string. - */ -function makeName() { - var str = ''; - for (var ii = 0; ii < arguments.length; ++ii) { - if (str) { - str += '.'; - } - str += arguments[ii]; - } - return str; -} - -/** - * Generates an error msg. - * @param {string} msg. - */ -function generateError(msg) { - ++g_numErrors; - print('ERROR: ' + msg); -} - -/** - * Generates an error msg. - * @param {string} place Use to print error message. - * @param {string} msg. - */ -function generatePlaceError(place, msg) { - generateError(place + ': ' + msg); -} - -/** - * Converts a reference to a single JSDOC type specification to an html link. - * @param {string} place Use to print error message if type not found. - * @param {string} str to linkify. - * @return {string} linkified string. - */ -function linkifySingleType(place, type) { - if (!type) { - generatePlaceError(place, 'type is empty'); - return ''; - } - type = stripWhitespace(type); - var not = ''; - var equals = ''; - // Remove ! if it exists. - if (type[0] == '!') { - not = '!' - type = type.substring(1); - } - if (endsWith(type, '=')) { - equals = '='; - type = type.substring(0, type.length - 1); - } - - var link = type; - - // Check for array wrapper. - if (startsWith(type, 'Array.<')) { - var closingAngle = getIndexOfClosingCharacter(type, 6); - if (closingAngle < 0) { - generatePlaceError(place, 'Unmatched "<" in Array type : ' + type); - } else { - link = 'Array.<' + - linkifySingleType(place, type.substring(7, closingAngle)) + '>'; - } - } else if (startsWith(type, 'Object.<')) { - var closingAngle = getIndexOfClosingCharacter(type, 7); - if (closingAngle < 0) { - generatePlaceError(place, 'Unmatched "<" in Object type : ' + type); - } else { - var objectSpec = type.substring(8, closingAngle); - var elements = objectSpec.split(/\s*,\s*/); - if (elements.length != 2) { - generatePlaceError(place, 'An Object spec must have exactly 2 types'); - } - link = 'Object.<' + - linkifySingleType(place, elements[0]) + ', ' + - linkifySingleType(place, elements[1]) + '>'; - } - } else if (startsWith(type, 'function(')) { - var closingParen = getIndexOfClosingCharacter(type, 8); - if (closingParen < 0) { - generatePlaceError(place, 'Unmatched "(" in function type : ' + type); - } else { - var end = type.substring(closingParen + 1); - if (!startsWith(end, ': ')) { - generatePlaceError(place, - 'Malformed return specification on function. Must be' + - ' "function(args): type" including the space after the colon.'); - } else { - var output = ''; - var argsStr = type.substring(9, closingParen); - if (argsStr) { - // TODO(gman): This needs to split taking parens, brackets and angle - // brackets into account. - var args = argsStr.split(/ *, */); - for (var ii = 0; ii < args.length; ++ii) { - if (ii > 0) { - output += ', '; - } - output += linkifyTypeSpec(place, args[ii]); - } - } - link = 'function(' + output + '): ' + - linkifyTypeSpec(place, end.substring(2)); - } - } - } else if (startsWith(type, '{') && endsWith(type, '}')) { - // found a record. - var elements = type.substr(1, type.length - 2).split(/\s*,\s*/); - var output = '{'; - for (var ii = 0; ii < elements.length; ++ii) { - if (ii > 0) { - output += ', '; - } - var element = elements[ii]; - var colon = element.indexOf(': '); - if (colon < 0) { - generatePlaceError(place, - 'Malformed record specification. Format must be ' + - '{id1: type1, id2: type2, ...}.'); - output += element; - } else { - var name = element.substring(0, colon); - var subType = element.substring(colon + 2); - output += name + ': ' + linkifyTypeSpec(place, subType); - } - } - link = output + '}'; - } else { - var symbol = getSymbol(type); - if (symbol) { - link = '<a class="el" href="' + getLinkToSymbol(symbol) + '">' + - type + '</a>'; - } else { - // See if the symbol is a property or field. - var found = false; - var period = type.lastIndexOf('.'); - if (period >= 0 && type != '...') { - var subType = type.substring(0, period); - var member = type.substring(period + 1); - symbol = getSymbol(subType); - if (symbol) { - if (symbol.hasMember(member) || - symbol.hasMember(member + g_firstOverloadStr)) { - var field = type.substring(period + 1); - link = '<a class="el" href="' + getLinkToSymbol(symbol) + '#' + - field + '">' + type + '</a>'; - found = true; - } - } - } - - if (!found) { - if (type[0] == '?') { - type = type.substring(1); - } - if (!g_validJSDOCTypes[type]) { - reportUnknownType(place, type); - } - } - } - } - - return not + link + equals; -} - -/** - * Splits a string by containers. A string like "ab(cd,ef)gh" will - * be returned as ['ab', '(cd,ef)', 'gh'] - * @param {string} str String to split. - * @return {!Array.<string>} The split string parts. - */ -function splitByContainers(str) { - var parts = []; - for (;;) { - var match = str.match(g_containerRE); - if (!match) { - if (str.length > 0) { - parts.push(str); - } - return parts; - } - var startIndex = str.indexOf(match); - if (startIndex != 0) { - parts.push(str.substring(0, startIndex)); - } - var endIndex = getIndexOfClosingCharacter( - str, startIndex + match.toString().length - 1); - if (endIndex < 0) { - throw 'no closing character for "' + str[startIndex] + '" in "' + str + - '"'; - } - var piece = str.substring(startIndex, endIndex + 1); - parts.push(piece); - str = str.substring(endIndex + 1); - } -} - -/** - * Fix function specs. - * The jsdoctoolkit wrongly converts ',' to | as in 'function(a, b)' to - * 'function(a|b)' and '{id1: type1, id2: type2}' to '{id1: type1|id2: type2}' - * so we need to put those back here (or fix jsdoctoolkit, the proper solution). - * Worse, we have to distinguish between 'function(a|b)' and '(a|b)'. The former - * needs to become 'function(a, b)' while the later needs to stay the same. - * - * @param {string} str JSDOC type specification string . - * @param {boolean} opt_paren True if we are inside a paren. - * @return {string} str with '|' converted back to ', ' unless the specification - * starts with '(' and ends with ')'. That's not a very good check beacuse - * you could 'function((string|number)) and this would fail to do the right - * thing. - */ -function fixSpecCommas(str, opt_paren) { - var start = str.match(g_startContainerRE); - if (start) { - var startStr = start.toString(); - var closing = g_openCloseMap[startStr]; - if (closing) { - var lastChar = str[str.length - 1]; - if (lastChar == closing) { - var middle = str.substring(startStr.length, str.length - 1); - return startStr + - fixSpecCommas(middle, startStr === '(') + - lastChar; - } - } - } - - if (str.match(g_containerRE)) { - var parts = splitByContainers(str); - for (var ii = 0; ii < parts.length; ++ii) { - parts[ii] = fixSpecCommas(parts[ii], opt_paren); - } - return parts.join(''); - } else { - if (opt_paren) { - return str; - } - return str.replace(/\|/g, ', '); - } -} - -/** - * Converts a JSDOC type specification into html links. For example - * '(!o3djs.math.Vector3|!o3djs.math.Vector4)' would change to - * '(!<a href="??">o3djs.math.Vector3</a> - * |!<a href="??">o3djs.math.Vector4</a>)'. - * @param {string} place Use to print error message if type not found. - * @param {string} str to linkify. - * @return {string} linkified string. - */ -function linkifyTypeSpec(place, str) { - var output = ''; - if (str) { - try { - var fixed = fixSpecCommas(str); - } catch (e) { - generatePlaceError(place, e); - } - // TODO: needs to split outside of parens and angle brackets. - if (startsWith(fixed, '(') && endsWith(fixed, ')')) { - var types = fixed.substring(1, fixed.length - 1).split('|'); - output += '('; - for (var tt = 0; tt < types.length; ++tt) { - if (tt > 0) { - output += '|'; - } - output += linkifySingleType(place, types[tt]); - } - output += ')'; - } else { - output += linkifySingleType(place, fixed); - } - } else { - generatePlaceError(place, 'missing type specification (' + str + ')'); - } - return output; -} - -/** - * Same as linkifyTypeSpec but allows str to be undefined or ''. - * @param {string} place Use to print error message if type not found. - * @param {string} str to linkify. - * @return {string} linkified string. - */ -function linkifyTypeSpecForReturn(place, str) { - if (str) { - return linkifyTypeSpec(place, str); - } - return ''; -} - -/** - * Check if a symbol is an enum. - * @param {!Symbol} symbol Symbol to check. - * @return {boolean} true if symbol is an enum - */ -function isEnum(symbol) { - if (symbol.isStatic && !symbol.isNamespace) { - if (symbol.comment && symbol.comment.tagTexts) { - for (var ii = 0; ii < symbol.comment.tagTexts.length; ++ii) { - var tag = symbol.comment.tagTexts[ii]; - if (startsWith(tag.toString(), 'enum')) { - return true; - } - } - } - } - return false; -} - -/** - * Gets the public properties of a symbol. - * @param {!Symbol} symbol The symbol to get properties from. - * @return {!Array.<!Symbol>} The public properties of the symbol. - */ -function getPublicProperties(symbol) { - var publicProperties = []; - for (var ii = 0; ii < symbol.properties.length; ++ii) { - var property = symbol.properties[ii]; - if (!property.isPrivate && !property.isNamespace && !isEnum(property)) { - publicProperties.push(property); - } - } - return publicProperties; -} - -/** - * Gets the public types of a symbol. - * @param {!Symbol} symbol The symbol to get properties from. - * @return {!Array.<!Symbol>} The public types of the symbol. - */ -function getPublicTypes(symbol) { - var publicTypes = []; - for (var ii = 0; ii < symbol.properties.length; ++ii) { - var type = symbol.properties[ii]; - if (!type.isPrivate && !type.isNamespace && isEnum(type)) { - publicTypes.push(type); - } - } - for (var ii = 0; ii < g_symbolArray.length; ++ii) { - var type = g_symbolArray[ii]; - if (type.memberOf == symbol.alias && - !type.isPrivate && - type.is('CONSTRUCTOR')) { - publicTypes.push(type); - } - } - return publicTypes; -} - -/** - * Gets a symbol for a type. - * This is here mostly for debugging so you can insert a print before or after - * each call to g_symbolSet.getSymbol. - * @param {string} type fully qualified type. - * @return {Symbol} The symbol object for the type or null if not found. - */ -function getSymbol(type) { - return g_symbolSet.getSymbol(type); -} - -/** - * Gets the source path for a symbol starting from 'o3djs/' - * @param {!Symbol} symbol The symbol to get the source name for. - * @return {string} The name of the source file. - */ -function getSourcePath(symbol) { - var path = symbol.srcFile.replace(/\\/g, '/'); - var index = path.indexOf('/o3djs/'); - return path.substring(index + 1); -} - -/** - * Gets the name of the parent of a symbol. - * @param {!Symbol} symbol The symbol to get the parent of - * @return {string} The parent's name. - */ -function getParentName(symbol) { - var parent = getSymbol(symbol.memberOf); - return parent.isNamespace ? symbol.memberOf : parent.alias; -} - -/** - * Gets a qualified name. Used for members. For namespaces will return the fully - * qualified name. For objects will return just ObjectName.method - * @param {!Symbol} method The method or property to get a qualified name for. - * @return {string} The qualified name for the method or property. - */ -function getQualifiedName(method) { - return getParentName(method) + '.' + method.name; -} - -/** - * Removes the "xxxOVERLOADEDxxx" part of a name - * @param {string} name Name that may have a overloaded suffux. - * @return {string} The name without the overloaded suffix. - */ -function getNonOverloadedName(name) { - var index = name.indexOf(g_overloadStr); - if (index >= 0) { - return name.substring(0, index); - } - return name; -} - -/** - * Gets a Documentation name. For members of a namespace returns the fully - * qualified name. For members of a class returns ClassName.name - * @param {!Symbol} parent Symbol that we are making docs for. - * @param {!Symbol} child Method or property of parent to get doc name for. - * @return {string} Doc name for child. - */ -function getDocName(parent, child) { - if (parent.isNamespace) { - return child.memberOf + "." + getNonOverloadedName(child.name); - } - return parent.name + "." + getNonOverloadedName(child.name); -} - -/** - * Gets a symbol name for export. If the method or property is static returns - * "Namespace.Class.method". If not returns "Namespace.Class.prototype.method". - * @param {!Symbol} symbol Symbol to get name for. - * @return {string} Name of symbol. - */ -function getSymbolNameForExport(symbol) { - if (!symbol.memberOf) { - return symbol.name; - } - return symbol.memberOf + - ((symbol.isStatic || symbol.isNamespace) ? '.' : '.prototype.') + - symbol.name; -} - -/** - * Gets the base URL for links. - */ -function getBaseURL() { - return g_baseURL; -} - -/** - * Gets the top URL for links. - */ -function getTopURL() { - return g_topURL; -} - -/** - * Returns the output mode. - * @return {string} The output mode. - */ -function getOutputMode() { - return g_outputMode; -} - -/** - * Returns true if we should write constructor docs. - * @param {!Symbol} symbol The symbol that might have a constructor. - * @return {boolean} true if we should write a constructor. - */ -function shouldWriteConstructor(symbol) { - return g_outputMode != 'o3d' && - !symbol.isPrivate && - !symbol.isBuiltin() && - !symbol.isNamespace && - symbol.is('CONSTRUCTOR'); -} - -/** - * Splits a camelCase word into an array of word parts. - * @param {string} word camelCase word. - * @return {!Array.<string>} The word split into word parts. - */ -function splitCamelCase(word) { - var spacesAdded = word.replace(/([A-Z])/g, ' $1'); - return spacesAdded.split(' '); -} - -/** - * Breaks a word at max_length with hyphens. Assumes word is camelCase - * @param {string} word Word to break. - * @param {number} maxLength word will continue to be split until no part is - * this longer than this if possible. - * @param {string} string to use to join split parts. - * @return {string} The word split then joined with joinString. - */ -function hyphenateWord(word, maxLength, joinString) { - var words = splitCamelCase(word); - var hyphenated = ''; - var newWord = ''; - for (var ii = 0; ii < words.length; ++ii) { - var part = words[ii]; - var temp = newWord + part; - if (temp.length > maxLength) { - hyphenated += newWord + joinString; - newWord = ''; - } - newWord += part; - } - hyphenated += newWord; - return hyphenated; -} diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/footer.html b/o3d/documentation/jsdoc-toolkit-templates/static/footer.html deleted file mode 100644 index 031bf6d..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/footer.html +++ /dev/null @@ -1,10 +0,0 @@ -[## BOILERPLATE - DO NOT EDIT THIS BLOCK ##] -[#] </div><!-- end gc-pagecontent --> -[#] </div><!-- end gooey wrapper --> -[#] -[#] [include "/_common_page_footer.ezt"] -[#] -[#] </body> -[#]</html> -[## END OF BOILERPLATE ##] - diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/header.html b/o3d/documentation/jsdoc-toolkit-templates/static/header.html deleted file mode 100644 index e06b775..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/header.html +++ /dev/null @@ -1,30 +0,0 @@ -[include "/apis/o3d/_local_variables.ezt"] [# the _local_variables.ezt file should be at the root of your document hierarchy ] -[define section]docs[end] [# this should almost always be "docs," if the file lives in the "Docs" section (top nav). Otherwise, it's "home," "articles," "download," or "terms" ] -[define page_title]O3D API[end] [# this is the title for only this page ] - -[## BOILERPLATE - DO NOT EDIT THIS BLOCK - VERSION 1.66 ##] -[#]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -[#]<html> -[#] <head> -[#] [include "/apis/_common_head_elements.ezt"] -[#] <link href="/css/semantic_headers.css" rel="stylesheet" type="text/css" /> -[#] <link href="{+getTopURL()+}stylesheet.css" rel="stylesheet" type="text/css"> -[#] <link href="{+getTopURL()+}tabs.css" rel="stylesheet" type="text/css"> -[#] <link href="{+getTopURL()+}prettify.css" rel="stylesheet" type="text/css"> -[#] <script type="text/javascript" src="{+getTopURL()+}prettify.js"></script> -[#] </head> -[#] -[#] <body class="gc-documentation" onload="prettyPrint()"> -[#] -[#] [define content_section]#gc-pagecontent[end] -[#] [define navigation_section]#gc-toc[end] -[#] [include "/_common_page_header.ezt"] -[#] <div class="g-section g-tpl-170"> -[#] -[#] <div class="g-unit g-first" id="gc-toc"> -[#] [include toc_path] -[#] <a class="hidden" href="#gc-topnav-anchor">More [title] resource links</a> -[#] </div> -[#] -[#] <div class="g-unit" id="gc-pagecontent"> -[## END OF BOILERPLATE ##] diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/prettify.css b/o3d/documentation/jsdoc-toolkit-templates/static/prettify.css deleted file mode 100644 index 1b4954b..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/prettify.css +++ /dev/null @@ -1,34 +0,0 @@ -.str{ color: #008 } -.kwd{ color: #808 } -.com{ color: #800 } -.typ{ color: #606 } -.lit{ color: #066 } -.pun{ color: #660 } -.pln{ color: #060 } -.tag{ color: #008 } -.atn{ color: #606 } -.atv{ color: #080 } -.dec{ color: #606 } -.prettyprint{ - font-family: Fixed, monospace; - font-size: 95%; - margin: 4px 8px 4px 2px; - padding: 4px 6px; - border: 1px solid #CCC; - background-color: #f5f5f5; -} -.re.prettyprint{ -} -@media print { - .str{ color: #060 } - .kwd{ color: #006; font-weight: bold } - .com{ color: #600; font-style: italic } - .typ{ color: #404; font-weight: bold } - .lit{ color: #044 } - .pun{ color: #440 } - .pln{ color: #000 } - .tag{ color: #006;font-weight: bold } - .atn{ color: #404 } - .atv{ color: #060 } -} - diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/prettify.js b/o3d/documentation/jsdoc-toolkit-templates/static/prettify.js deleted file mode 100644 index 8fc4c93..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/prettify.js +++ /dev/null @@ -1,23 +0,0 @@ -function H(){var x=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);H=function(){return x};return x}(function(){function x(b){b=b.split(/ /g);var a={};for(var c=b.length;--c>=0;){var d=b[c];if(d)a[d]=null}return a}var y="break continue do else for if return while ",U=y+"auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile ",D=U+"catch class delete false import new operator private protected public this throw true try ", -I=D+"alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where ",J=D+"boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",V=J+"as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ", -K=D+"debugger eval export function get null set undefined var with Infinity NaN ",L="caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",M=y+"and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",N=y+"alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ", -O=y+"case done elif esac eval fi function in local set then until ",W=I+V+K+L+M+N+O;function X(b){return b>="a"&&b<="z"||b>="A"&&b<="Z"}function u(b,a,c,d){b.unshift(c,d||0);try{a.splice.apply(a,b)}finally{b.splice(0,2)}}var Y=(function(){var b=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue", -"delete","do","else","finally","instanceof","return","throw","try","typeof"],a="(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";for(var c=0;c<b.length;++c){var d=b[c];a+=X(d.charAt(0))?"|\\b"+d:"|"+d.replace(/([^=<>:&])/g,"\\$1")}a+="|^)\\s*$";return new RegExp(a)})(),P=/&/g,Q=/</g,R=/>/g,Z=/\"/g;function $(b){return b.replace(P,"&").replace(Q,"<").replace(R,">").replace(Z,""")}function E(b){return b.replace(P,"&").replace(Q,"<").replace(R,">")}var aa= -/</g,ba=/>/g,ca=/'/g,da=/"/g,ea=/&/g,fa=/ /g;function ga(b){var a=b.indexOf("&");if(a<0)return b;for(--a;(a=b.indexOf("&#",a+1))>=0;){var c=b.indexOf(";",a);if(c>=0){var d=b.substring(a+3,c),g=10;if(d&&d.charAt(0)==="x"){d=d.substring(1);g=16}var e=parseInt(d,g);if(!isNaN(e))b=b.substring(0,a)+String.fromCharCode(e)+b.substring(c+1)}}return b.replace(aa,"<").replace(ba,">").replace(ca,"'").replace(da,'"').replace(ea,"&").replace(fa," ")}function S(b){return"XMP"===b.tagName} -function z(b,a){switch(b.nodeType){case 1:var c=b.tagName.toLowerCase();a.push("<",c);for(var d=0;d<b.attributes.length;++d){var g=b.attributes[d];if(!g.specified)continue;a.push(" ");z(g,a)}a.push(">");for(var e=b.firstChild;e;e=e.nextSibling)z(e,a);if(b.firstChild||!/^(?:br|link|img)$/.test(c))a.push("</",c,">");break;case 2:a.push(b.name.toLowerCase(),'="',$(b.value),'"');break;case 3:case 4:a.push(E(b.nodeValue));break}}var F=null;function ha(b){if(null===F){var a=document.createElement("PRE"); -a.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));F=!/</.test(a.innerHTML)}if(F){var c=b.innerHTML;if(S(b))c=E(c);return c}var d=[];for(var g=b.firstChild;g;g=g.nextSibling)z(g,d);return d.join("")}function ia(b){var a=0;return function(c){var d=null,g=0;for(var e=0,h=c.length;e<h;++e){var f=c.charAt(e);switch(f){case "\t":if(!d)d=[];d.push(c.substring(g,e));var i=b-a%b;a+=i;for(;i>=0;i-=" ".length)d.push(" ".substring(0,i));g=e+1;break; -case "\n":a=0;break;default:++a}}if(!d)return c;d.push(c.substring(g));return d.join("")}}var ja=/(?:[^<]+|<!--[\s\S]*?--\>|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g,ka=/^<!--/,la=/^<\[CDATA\[/,ma=/^<br\b/i;function na(b){var a=b.match(ja),c=[],d=0,g=[];if(a)for(var e=0,h=a.length;e<h;++e){var f=a[e];if(f.length>1&&f.charAt(0)==="<"){if(ka.test(f))continue;if(la.test(f)){c.push(f.substring(9,f.length-3));d+=f.length-12}else if(ma.test(f)){c.push("\n");++d}else g.push(d,f)}else{var i=ga(f); -c.push(i);d+=i.length}}return{source:c.join(""),tags:g}}function v(b,a){var c={};(function(){var g=b.concat(a);for(var e=g.length;--e>=0;){var h=g[e],f=h[3];if(f)for(var i=f.length;--i>=0;)c[f.charAt(i)]=h}})();var d=a.length;return function(g,e){e=e||0;var h=[e,"pln"],f="",i=0,j=g;while(j.length){var o,m=null,k,l=c[j.charAt(0)];if(l){k=j.match(l[1]);m=k[0];o=l[0]}else{for(var n=0;n<d;++n){l=a[n];var p=l[2];if(p&&!p.test(f))continue;k=j.match(l[1]);if(k){m=k[0];o=l[0];break}}if(!m){o="pln";m=j.substring(0, -1)}}h.push(e+i,o);i+=m.length;j=j.substring(m.length);if(o!=="com"&&/\S/.test(m))f=m}return h}}var oa=v([],[["pln",/^[^<]+/,null],["dec",/^<!\w[^>]*(?:>|$)/,null],["com",/^<!--[\s\S]*?(?:--\>|$)/,null],["src",/^<\?[\s\S]*?(?:\?>|$)/,null],["src",/^<%[\s\S]*?(?:%>|$)/,null],["src",/^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,null],["tag",/^<\/?\w[^<>]*>/,null]]);function pa(b){var a=oa(b);for(var c=0;c<a.length;c+=2)if(a[c+1]==="src"){var d,g;d=a[c];g=c+2<a.length?a[c+2]:b.length;var e=b.substring(d, -g),h=e.match(/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/);if(h)a.splice(c,2,d,"tag",d+h[1].length,"src",d+h[1].length+(h[2]||"").length,"tag")}return a}var qa=v([["atv",/^\'[^\']*(?:\'|$)/,null,"'"],["atv",/^\"[^\"]*(?:\"|$)/,null,'"'],["pun",/^[<>\/=]+/,null,"<>/="]],[["tag",/^[\w:\-]+/,/^</],["atv",/^[\w\-]+/,/^=/],["atn",/^[\w:\-]+/,null],["pln",/^\s+/,null," \t\r\n"]]);function ra(b,a){for(var c=0;c<a.length;c+=2){var d=a[c+1];if(d==="tag"){var g,e;g=a[c];e=c+2<a.length?a[c+2]:b.length;var h=b.substring(g, -e),f=qa(h,g);u(f,a,c,2);c+=f.length-2}}return a}function r(b){var a=[],c=[];if(b.tripleQuotedStrings)a.push(["str",/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]);else if(b.multiLineStrings)a.push(["str",/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]);else a.push(["str",/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, -null,"\"'"]);c.push(["pln",/^(?:[^\'\"\`\/\#]+)/,null," \r\n"]);if(b.hashComments)a.push(["com",/^#[^\r\n]*/,null,"#"]);if(b.cStyleComments)c.push(["com",/^\/\/[^\r\n]*/,null]);if(b.regexLiterals)c.push(["str",/^\/(?:[^\\\*\/\[]|\\[\s\S]|\[(?:[^\]\\]|\\.)*(?:\]|$))+(?:\/|$)/,Y]);if(b.cStyleComments)c.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/,null]);var d=x(b.keywords);b=null;var g=v(a,c),e=v([],[["pln",/^\s+/,null," \r\n"],["pln",/^[a-z_$@][a-z_$@0-9]*/i,null],["lit",/^0x[a-f0-9]+[a-z]/i,null],["lit", -/^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+\-]?\d+)?[a-z]*/i,null,"123456789"],["pun",/^[^\s\w\.$@]+/,null]]);function h(f,i){for(var j=0;j<i.length;j+=2){var o=i[j+1];if(o==="pln"){var m,k,l,n;m=i[j];k=j+2<i.length?i[j+2]:f.length;l=f.substring(m,k);n=e(l,m);for(var p=0,t=n.length;p<t;p+=2){var w=n[p+1];if(w==="pln"){var A=n[p],B=p+2<t?n[p+2]:l.length,s=f.substring(A,B);if(s===".")n[p+1]="pun";else if(s in d)n[p+1]="kwd";else if(/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(s))n[p+1]=s.charAt(0)==="@"?"lit": -"typ"}}u(n,i,j,2);j+=n.length-2}}return i}return function(f){var i=g(f);i=h(f,i);return i}}var G=r({keywords:W,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function sa(b,a){for(var c=0;c<a.length;c+=2){var d=a[c+1];if(d==="src"){var g,e;g=a[c];e=c+2<a.length?a[c+2]:b.length;var h=G(b.substring(g,e));for(var f=0,i=h.length;f<i;f+=2)h[f]+=g;u(h,a,c,2);c+=h.length-2}}return a}function ta(b,a){var c=false;for(var d=0;d<a.length;d+=2){var g=a[d+1],e,h;if(g==="atn"){e= -a[d];h=d+2<a.length?a[d+2]:b.length;c=/^on|^style$/i.test(b.substring(e,h))}else if(g==="atv"){if(c){e=a[d];h=d+2<a.length?a[d+2]:b.length;var f=b.substring(e,h),i=f.length,j=i>=2&&/^[\"\']/.test(f)&&f.charAt(0)===f.charAt(i-1),o,m,k;if(j){m=e+1;k=h-1;o=f}else{m=e+1;k=h-1;o=f.substring(1,f.length-1)}var l=G(o);for(var n=0,p=l.length;n<p;n+=2)l[n]+=m;if(j){l.push(k,"atv");u(l,a,d+2,0)}else u(l,a,d,2)}c=false}}return a}function ua(b){var a=pa(b);a=ra(b,a);a=sa(b,a);a=ta(b,a);return a}function va(b, -a,c){var d=[],g=0,e=null,h=null,f=0,i=0,j=ia(8);function o(k){if(k>g){if(e&&e!==h){d.push("</span>");e=null}if(!e&&h){e=h;d.push('<span class="',e,'">')}var l=E(j(b.substring(g,k))).replace(/(\r\n?|\n| ) /g,"$1 ").replace(/\r\n?|\n/g,"<br />");d.push(l);g=k}}while(true){var m;m=f<a.length?(i<c.length?a[f]<=c[i]:true):false;if(m){o(a[f]);if(e){d.push("</span>");e=null}d.push(a[f+1]);f+=2}else if(i<c.length){o(c[i]);h=c[i+1];i+=2}else break}o(b.length);if(e)d.push("</span>");return d.join("")} -var C={};function q(b,a){for(var c=a.length;--c>=0;){var d=a[c];if(!C.hasOwnProperty(d))C[d]=b;else if("console"in window)console.log("cannot override language handler %s",d)}}q(G,["default-code"]);q(ua,["default-markup","html","htm","xhtml","xml","xsl"]);q(r({keywords:I,hashComments:true,cStyleComments:true}),["c","cc","cpp","cs","cxx","cyc"]);q(r({keywords:J,cStyleComments:true}),["java"]);q(r({keywords:O,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);q(r({keywords:M,hashComments:true, -multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);q(r({keywords:L,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);q(r({keywords:N,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);q(r({keywords:K,cStyleComments:true,regexLiterals:true}),["js"]);function T(b,a){try{var c=na(b),d=c.source,g=c.tags;if(!C.hasOwnProperty(a))a=/^\s*</.test(d)?"default-markup":"default-code";var e=C[a].call({},d);return va(d,g,e)}catch(h){if("console"in window){console.log(h); -console.trace()}return b}}function wa(b){var a=H(),c=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],d=[];for(var g=0;g<c.length;++g)for(var e=0;e<c[g].length;++e)d.push(c[g][e]);c=null;var h=0;function f(){var i=(new Date).getTime()+250;for(;h<d.length&&(new Date).getTime()<i;h++){var j=d[h];if(j.className&&j.className.indexOf("prettyprint")>=0){var o=j.className.match(/\blang-(\w+)\b/);if(o)o=o[1];var m=false;for(var k=j.parentNode;k;k= -k.parentNode)if((k.tagName==="pre"||k.tagName==="code"||k.tagName==="xmp")&&k.className&&k.className.indexOf("prettyprint")>=0){m=true;break}if(!m){var l=ha(j);l=l.replace(/(?:\r\n?|\n)$/,"");var n=T(l,o);if(!S(j))j.innerHTML=n;else{var p=document.createElement("PRE");for(var t=0;t<j.attributes.length;++t){var w=j.attributes[t];if(w.specified)p.setAttribute(w.name,w.value)}p.innerHTML=n;j.parentNode.replaceChild(p,j);p=j}if(a&&j.tagName==="PRE"){var A=j.getElementsByTagName("br");for(var B=A.length;--B>= -0;){var s=A[B];s.parentNode.replaceChild(document.createTextNode("\r\n"),s)}}}}}if(h<d.length)setTimeout(f,250);else if(b)b()}f()}window.PR_normalizedHtml=z;window.prettyPrintOne=T;window.prettyPrint=wa;window.PR={createSimpleLexer:v,registerLangHandler:q,sourceDecorator:r,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})(); diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/stylesheet.css b/o3d/documentation/jsdoc-toolkit-templates/static/stylesheet.css deleted file mode 100644 index 9ed8e38..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/stylesheet.css +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Based off the Doxygen generated template stylesheet and trimmed/edited to - * remove items that would conflict with codesite or other overlying - * stylesheets while maintaining the desired look and feel. - * - * The #doxygen-ref is an id tag which encompasses code generated by doxygen - * and allows override of standard html tags while not affecting the rest - * of the page such as sidebars. - */ - -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { - text-decoration: none; - background-color: #ddf; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #66c; - color: #fff; - border: 1px double #9295C2; -} -A.qindexHL:hover, -A.qindexHL:visited { - text-decoration: none; - background-color: #66c; - color: #fff; -} -A.el { - text-decoration: none; - font-weight: bold; -} -A.elRef { - font-weight: bold; -} -A.code:link, -A.code:visited { - text-decoration: none; - font-weight: normal; - color: #00F; -} -A.codeRef:link, -A.codeRef:visited { - font-weight: normal; - color: #00F; -} -A:hover { - text-decoration: none; - background-color: #f2f2ff; -} -DL.el { - margin-left: -1cm; -} -.fragment { - font-family: Fixed, monospace; - font-size: 95%; -} -PRE.fragment { - border: 1px solid #CCC; - background-color: #f5f5f5; - margin: 4px 8px 4px 2px - padding: 4px 6px; -} -DIV.ah { - background-color: black; - font-weight: bold; - color: #fff; - margin-bottom: 3px; - margin-top: 3px -} -TD.md { - background-color: #e1e1e4; - font-weight: bold; - border: none; -} -TD.mdPrefix { - background-color: #e1e1e4; - color: #606060; - font-size: 80%; - border: none; -} -TD.mdname1 { - background-color: #e1e1e4; - font-weight: bold; - color: #602020; - border: none; -} -.memitem { - padding: 4px; - background-color: #ffff; -} -.memname { - background-color: #e1e1e4; - white-space: nowrap; - font-weight: bold; -} -.memdoc{ - padding-left: 10px; -} -#doxygen-ref div.memproto td { - background-color: #e1e1e4; -} -.memproto { - background-color: #e1e1e4; - width: 100%; - border-width: 1px; - border-style: solid; - border-color: #e1e1f4; - font-weight: bold; - -moz-border-radius: 8px 8px 8px 8px; -} -.memproto .deprecated, -.memname .deprecated, -.summary .deprecated { - color: red; -} -.paramkey { - text-align: right; -} -.paramtype { - white-space: nowrap; -} -.paramname { - color: #602020; - font-style: italic; - white-space: nowrap; -} -DIV.groupHeader { - margin: 12px 16px 6px auto; - font-weight: bold; -} -DIV.groupText { - margin-left: 16px; - font-style: italic; - font-size: 90%; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { - text-align: center; -} -IMG.formulaInl { - vertical-align: middle; -} -SPAN.keyword, -SPAN.keywordflow { - color: #008000; -} -SPAN.keywordtyp { - color: #604020; -} -SPAN.comment { - color: #800000; -} -SPAN.preprocessor { - color: #806020; -} -SPAN.stringliteral { - color: #002080; -} -SPAN.charliteral { - color: #008080; -} -.mdTable { - background-color: #e1e1e4; - border: none; - padding: 0; -} -.mdRow { - padding: 8px 10px; - border: none; -} -.mdescLeft, -.mdescRight { - padding: 0 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border: 1px none #E0E0E0; - margin: 0; -} -.search { - color: #039; - font-weight: bold; -} -FORM.search { - margin: 0 auto; -} -INPUT.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -TD.tiny{ - font-size: 75%; -} -#doxygen-ref HR { - height: 1px; - border: none; - border-top: 1px solid black; -} -#doxygen-ref table, -#doxygen-ref td, -#doxygen-ref tr { - border:none; -} -#doxygen-ref .contents H1 { - text-align: center; - background-color: #ffffff; - border: 0; -} -#doxygen-ref H2 { - margin-left: 0; - margin-bottom: 5px; -} -#doxygen-ref CAPTION { - font-weight: bold; -} -#doxygen-ref .contents .summary { - line-height: 1em; -} -#doxygen-ref .contents .summary TD { -} -#doxygen-ref .contents .summary .type { - text-align: right; -} -.memdoc { - padding-left: 30px; -} -.memitem { - border-top:1px solid #E5ECF9; -} -.doxygen-global { - background-color: #ffcc66; -}
\ No newline at end of file diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/tab_b.gif b/o3d/documentation/jsdoc-toolkit-templates/static/tab_b.gif Binary files differdeleted file mode 100644 index 0d62348..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/tab_b.gif +++ /dev/null diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/tab_l.gif b/o3d/documentation/jsdoc-toolkit-templates/static/tab_l.gif Binary files differdeleted file mode 100644 index 9b1e633..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/tab_l.gif +++ /dev/null diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/tab_r.gif b/o3d/documentation/jsdoc-toolkit-templates/static/tab_r.gif Binary files differdeleted file mode 100644 index ce9dd9f..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/tab_r.gif +++ /dev/null diff --git a/o3d/documentation/jsdoc-toolkit-templates/static/tabs.css b/o3d/documentation/jsdoc-toolkit-templates/static/tabs.css deleted file mode 100644 index 16b1be0..0000000 --- a/o3d/documentation/jsdoc-toolkit-templates/static/tabs.css +++ /dev/null @@ -1,102 +0,0 @@ -/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ - -DIV.tabs -{ - float : left; - width : 100%; - background : url("tab_b.gif") repeat-x bottom; - margin-bottom : 4px; -} - -DIV.tabs UL -{ - margin : 0px; - padding-left : 10px; - list-style : none; -} - -DIV.tabs LI, DIV.tabs FORM -{ - display : inline; - margin : 0px; - padding : 0px; -} - -DIV.tabs FORM -{ - float : right; -} - -DIV.tabs A -{ - float : left; - background : url("tab_r.gif") no-repeat right top; - border-bottom : 1px solid #84B0C7; - font-size : 8px; - font-weight : bold; - text-decoration : none; -} - -DIV.tabs A:hover -{ - background-position: 100% -150px; -} - -DIV.tabs A:link, DIV.tabs A:visited, -DIV.tabs A:active, DIV.tabs A:hover -{ - color: #1A419D; -} - -DIV.tabs SPAN -{ - float : left; - display : block; - background : url("tab_l.gif") no-repeat left top; - padding : 5px 9px; - white-space : nowrap; -} - -DIV.tabs INPUT -{ - float : right; - display : inline; - font-size : 1em; -} - -DIV.tabs TD -{ - font-size : 8px; - font-weight : bold; - text-decoration : none; -} - - - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -DIV.tabs SPAN {float : none;} -/* End IE5-Mac hack */ - -DIV.tabs A:hover SPAN -{ - background-position: 0% -150px; -} - -DIV.tabs LI.current A -{ - background-position: 100% -150px; - border-width : 0px; -} - -DIV.tabs LI.current SPAN -{ - background-position: 0% -150px; - padding-bottom : 6px; -} - -DIV.navpath -{ - background : none; - border : none; - border-bottom : 1px solid #84B0C7; -} |