From ff1773710f2214ae4c42f85115b79ae70e3ff2da Mon Sep 17 00:00:00 2001 From: <vc2310@LAPTOP-FCB0H0KM.localdomain> Date: Fri, 9 Nov 2018 23:16:48 -0500 Subject: [PATCH] MIS --- BlankProjectTemplate/Doc/Design/MIS/Makefile | 18 + BlankProjectTemplate/Doc/Design/MIS/doxConfig | 2427 +++++++++++++++++ .../Doc/Design/MIS/html/Food_8py.html | 111 + .../Doc/Design/MIS/html/Snake_8py.html | 111 + .../Doc/Design/MIS/html/annotated.html | 109 + .../Doc/Design/MIS/html/arrowdown.png | Bin 0 -> 246 bytes .../Doc/Design/MIS/html/arrowright.png | Bin 0 -> 229 bytes .../Doc/Design/MIS/html/bc_s.png | Bin 0 -> 676 bytes .../Doc/Design/MIS/html/bdwn.png | Bin 0 -> 147 bytes .../MIS/html/classFood_1_1Food-members.html | 108 + .../Design/MIS/html/classFood_1_1Food.html | 257 ++ .../html/classInterface_1_1GUI-members.html | 107 + .../MIS/html/classInterface_1_1GUI.html | 262 ++ .../MIS/html/classSnake_1_1Snake-members.html | 110 + .../Design/MIS/html/classSnake_1_1Snake.html | 235 ++ .../Doc/Design/MIS/html/classes.html | 109 + .../classhighscore_1_1HighScore-members.html | 108 + .../MIS/html/classhighscore_1_1HighScore.html | 283 ++ .../Doc/Design/MIS/html/closed.png | Bin 0 -> 132 bytes .../Doc/Design/MIS/html/doc.png | Bin 0 -> 746 bytes .../Doc/Design/MIS/html/doxygen.css | 1475 ++++++++++ .../Doc/Design/MIS/html/doxygen.png | Bin 0 -> 3779 bytes .../Doc/Design/MIS/html/dynsections.js | 97 + .../Doc/Design/MIS/html/files.html | 102 + .../Doc/Design/MIS/html/folderclosed.png | Bin 0 -> 616 bytes .../Doc/Design/MIS/html/folderopen.png | Bin 0 -> 597 bytes .../Doc/Design/MIS/html/functions.html | 129 + .../Doc/Design/MIS/html/functions_func.html | 129 + .../Doc/Design/MIS/html/graph_legend.html | 119 + .../Doc/Design/MIS/html/graph_legend.md5 | 1 + .../Doc/Design/MIS/html/graph_legend.png | Bin 0 -> 18535 bytes .../Doc/Design/MIS/html/highscore_8py.html | 137 + .../Doc/Design/MIS/html/index.html | 90 + .../Doc/Design/MIS/html/jquery.js | 68 + .../Doc/Design/MIS/html/md_README.html | 91 + .../Doc/Design/MIS/html/nav_f.png | Bin 0 -> 153 bytes .../Doc/Design/MIS/html/nav_g.png | Bin 0 -> 95 bytes .../Doc/Design/MIS/html/nav_h.png | Bin 0 -> 98 bytes .../Doc/Design/MIS/html/open.png | Bin 0 -> 123 bytes .../Doc/Design/MIS/html/pages.html | 95 + .../Doc/Design/MIS/html/search/all_0.html | 26 + .../Doc/Design/MIS/html/search/all_0.js | 4 + .../Doc/Design/MIS/html/search/all_1.html | 26 + .../Doc/Design/MIS/html/search/all_1.js | 4 + .../Doc/Design/MIS/html/search/all_2.html | 26 + .../Doc/Design/MIS/html/search/all_2.js | 5 + .../Doc/Design/MIS/html/search/all_3.html | 26 + .../Doc/Design/MIS/html/search/all_3.js | 6 + .../Doc/Design/MIS/html/search/all_4.html | 26 + .../Doc/Design/MIS/html/search/all_4.js | 4 + .../Doc/Design/MIS/html/search/all_5.html | 26 + .../Doc/Design/MIS/html/search/all_5.js | 5 + .../Doc/Design/MIS/html/search/all_6.html | 26 + .../Doc/Design/MIS/html/search/all_6.js | 5 + .../Doc/Design/MIS/html/search/all_7.html | 26 + .../Doc/Design/MIS/html/search/all_7.js | 5 + .../Doc/Design/MIS/html/search/all_8.html | 26 + .../Doc/Design/MIS/html/search/all_8.js | 5 + .../Doc/Design/MIS/html/search/all_9.html | 26 + .../Doc/Design/MIS/html/search/all_9.js | 4 + .../Doc/Design/MIS/html/search/classes_0.html | 26 + .../Doc/Design/MIS/html/search/classes_0.js | 4 + .../Doc/Design/MIS/html/search/classes_1.html | 26 + .../Doc/Design/MIS/html/search/classes_1.js | 4 + .../Doc/Design/MIS/html/search/classes_2.html | 26 + .../Doc/Design/MIS/html/search/classes_2.js | 4 + .../Doc/Design/MIS/html/search/classes_3.html | 26 + .../Doc/Design/MIS/html/search/classes_3.js | 4 + .../Doc/Design/MIS/html/search/close.png | Bin 0 -> 273 bytes .../Doc/Design/MIS/html/search/files_0.html | 26 + .../Doc/Design/MIS/html/search/files_0.js | 4 + .../Doc/Design/MIS/html/search/files_1.html | 26 + .../Doc/Design/MIS/html/search/files_1.js | 4 + .../Doc/Design/MIS/html/search/files_2.html | 26 + .../Doc/Design/MIS/html/search/files_2.js | 4 + .../Design/MIS/html/search/functions_0.html | 26 + .../Doc/Design/MIS/html/search/functions_0.js | 4 + .../Design/MIS/html/search/functions_1.html | 26 + .../Doc/Design/MIS/html/search/functions_1.js | 4 + .../Design/MIS/html/search/functions_2.html | 26 + .../Doc/Design/MIS/html/search/functions_2.js | 5 + .../Design/MIS/html/search/functions_3.html | 26 + .../Doc/Design/MIS/html/search/functions_3.js | 4 + .../Design/MIS/html/search/functions_4.html | 26 + .../Doc/Design/MIS/html/search/functions_4.js | 4 + .../Design/MIS/html/search/functions_5.html | 26 + .../Doc/Design/MIS/html/search/functions_5.js | 5 + .../Design/MIS/html/search/functions_6.html | 26 + .../Doc/Design/MIS/html/search/functions_6.js | 4 + .../Doc/Design/MIS/html/search/mag_sel.png | Bin 0 -> 563 bytes .../Doc/Design/MIS/html/search/nomatches.html | 12 + .../Doc/Design/MIS/html/search/pages_0.html | 26 + .../Doc/Design/MIS/html/search/pages_0.js | 4 + .../Doc/Design/MIS/html/search/search.css | 271 ++ .../Doc/Design/MIS/html/search/search.js | 791 ++++++ .../Doc/Design/MIS/html/search/search_l.png | Bin 0 -> 604 bytes .../Doc/Design/MIS/html/search/search_m.png | Bin 0 -> 158 bytes .../Doc/Design/MIS/html/search/search_r.png | Bin 0 -> 612 bytes .../Doc/Design/MIS/html/search/searchdata.js | 27 + .../Doc/Design/MIS/html/splitbar.png | Bin 0 -> 314 bytes .../Doc/Design/MIS/html/sync_off.png | Bin 0 -> 853 bytes .../Doc/Design/MIS/html/sync_on.png | Bin 0 -> 845 bytes .../Doc/Design/MIS/html/tab_a.png | Bin 0 -> 142 bytes .../Doc/Design/MIS/html/tab_b.png | Bin 0 -> 169 bytes .../Doc/Design/MIS/html/tab_h.png | Bin 0 -> 177 bytes .../Doc/Design/MIS/html/tab_s.png | Bin 0 -> 184 bytes .../Doc/Design/MIS/html/tabs.css | 60 + .../Doc/Design/MIS/latex/Food_8py.tex | 23 + .../Doc/Design/MIS/latex/Makefile | 21 + .../Doc/Design/MIS/latex/Snake_8py.tex | 23 + .../Doc/Design/MIS/latex/annotated.tex | 7 + .../Design/MIS/latex/classFood_1_1Food.tex | 96 + .../MIS/latex/classInterface_1_1GUI.tex | 99 + .../Design/MIS/latex/classSnake_1_1Snake.tex | 87 + .../MIS/latex/classhighscore_1_1HighScore.tex | 112 + .../Doc/Design/MIS/latex/doxygen.sty | 477 ++++ .../Doc/Design/MIS/latex/files.tex | 6 + .../Doc/Design/MIS/latex/highscore_8py.tex | 43 + .../Doc/Design/MIS/latex/md_README.tex | 1 + .../Doc/Design/MIS/latex/refman.idx | 33 + .../Doc/Design/MIS/latex/refman.ilg | 6 + .../Doc/Design/MIS/latex/refman.ind | 77 + .../Doc/Design/MIS/latex/refman.pdf | Bin 0 -> 75347 bytes .../Doc/Design/MIS/latex/refman.tex | 167 ++ 124 files changed, 10086 insertions(+) create mode 100644 BlankProjectTemplate/Doc/Design/MIS/Makefile create mode 100644 BlankProjectTemplate/Doc/Design/MIS/doxConfig create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/annotated.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/arrowdown.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/arrowright.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/bc_s.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/bdwn.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classes.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/closed.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/doc.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/doxygen.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/files.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/folderclosed.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/folderopen.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/functions.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/index.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/jquery.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/md_README.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/nav_f.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/nav_g.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/nav_h.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/open.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/pages.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/close.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/mag_sel.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search.css create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search_l.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search_m.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search_r.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/splitbar.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/sync_off.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/sync_on.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_a.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_b.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_h.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_s.png create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tabs.css create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/Makefile create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/files.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.pdf create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex diff --git a/BlankProjectTemplate/Doc/Design/MIS/Makefile b/BlankProjectTemplate/Doc/Design/MIS/Makefile new file mode 100644 index 0000000..4482aaf --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/Makefile @@ -0,0 +1,18 @@ +PY = python3 +DOXY = doxygen +DOXYCFG = doxConfig + +RMDIR = rm -rf + +.PHONY: test doc clean + +test: + $(PY) ../../../src/* + +doc: + $(DOXY) $(DOXYCFG) + cd latex && $(MAKE) + +clean: + @- $(RMDIR) html + @- $(RMDIR) latex diff --git a/BlankProjectTemplate/Doc/Design/MIS/doxConfig b/BlankProjectTemplate/Doc/Design/MIS/doxConfig new file mode 100644 index 0000000..00b0c66 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/doxConfig @@ -0,0 +1,2427 @@ +# Doxyfile 1.8.11 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "Snake" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if <section_label> ... \endif and \cond <section_label> +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl, +# *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js. + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# <filter> <input-file> +# +# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse-libclang=ON option for CMake. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use <access key> + S +# (what the <access key> is depends on the OS and browser, but it is typically +# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down +# key> to jump into the search results window, the results can be navigated +# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel +# the search. The filter options can be selected when the cursor is inside the +# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys> +# to select a filter and <Enter> or <escape> to activate or cancel the filter +# option. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. There +# are two flavors of web server based searching depending on the EXTERNAL_SEARCH +# setting. When disabled, doxygen will generate a PHP script for searching and +# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +# and searching needs to be provided by external tools. See the section +# "External Indexing and Searching" for details. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain the +# search results. +# +# Doxygen ships with an example indexer (doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). +# +# See the section "External Indexing and Searching" for details. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will return the search results when EXTERNAL_SEARCH is enabled. +# +# Doxygen ships with an example indexer (doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Searching" for details. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. +# The default file is: searchdata.xml. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of +# to a relative location where the documentation can be found. The format is: +# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTRA_SEARCH_MAPPINGS = + +#--------------------------------------------------------------------------- +# Configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. +# The default value is: YES. + +GENERATE_LATEX = YES + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. +# +# Note that when enabling USE_PDFLATEX this option is only used for generating +# bitmaps for formulas in the HTML output, but not in the Makefile that is +# written to the output directory. +# The default file is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate +# index for LaTeX. +# The default file is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX +# documents. This may be useful for small projects and may help to save some +# trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used by the +# printer. +# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x +# 14 inches) and executive (7.25 x 10.5 inches). +# The default value is: a4. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +PAPER_TYPE = a4 + +# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names +# that should be included in the LaTeX output. The package can be specified just +# by its name or with the correct syntax as to be used with the LaTeX +# \usepackage command. To get the times font for instance you can specify : +# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} +# To use the option intlimits with the amsmath package you can specify: +# EXTRA_PACKAGES=[intlimits]{amsmath} +# If left blank no extra packages will be included. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the +# generated LaTeX document. The header should contain everything until the first +# chapter. If it is left blank doxygen will generate a standard header. See +# section "Doxygen usage" for information on how to let doxygen write the +# default header to a separate file. +# +# Note: Only use a user-defined header if you know what you are doing! The +# following commands have a special meaning inside the header: $title, +# $datetime, $date, $doxygenversion, $projectname, $projectnumber, +# $projectbrief, $projectlogo. Doxygen will replace $title with the empty +# string, for the replacement values of the other commands the user is referred +# to HTML_HEADER. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_HEADER = + +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the +# generated LaTeX document. The footer should contain everything after the last +# chapter. If it is left blank doxygen will generate a standard footer. See +# LATEX_HEADER for more information on how to generate a default footer and what +# special commands can be used inside the footer. +# +# Note: Only use a user-defined footer if you know what you are doing! +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_FOOTER = + +# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# LaTeX style sheets that are included after the standard style sheets created +# by doxygen. Using this option one can overrule certain style aspects. Doxygen +# will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_STYLESHEET = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the LATEX_OUTPUT output +# directory. Note that the files will be copied as-is; there are no commands or +# markers available. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_FILES = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is +# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will +# contain links (just like the HTML output) instead of page references. This +# makes the output suitable for online browsing using a PDF viewer. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate +# the PDF file directly from the LaTeX files. Set this option to YES, to get a +# higher quality PDF documentation. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode +# command to the generated LaTeX files. This will instruct LaTeX to keep running +# if errors occur, instead of asking the user for help. This option is also used +# when generating formulas in HTML. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_BATCHMODE = NO + +# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the +# index chapters (such as File Index, Compound Index, etc.) in the output. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_HIDE_INDICES = NO + +# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source +# code with syntax highlighting in the LaTeX output. +# +# Note that which sources are shown also depends on other settings such as +# SOURCE_BROWSER. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. See +# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# The default value is: plain. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_BIB_STYLE = plain + +# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_TIMESTAMP = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The +# RTF output is optimized for Word 97 and may not look too pretty with other RTF +# readers/editors. +# The default value is: NO. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: rtf. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF +# documents. This may be useful for small projects and may help to save some +# trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will +# contain hyperlink fields. The RTF file will contain links (just like the HTML +# output) instead of page references. This makes the output suitable for online +# browsing using Word or some other Word compatible readers that support those +# fields. +# +# Note: WordPad (write) and others do not support links. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's config +# file, i.e. a series of assignments. You only have to provide replacements, +# missing definitions are set to their default value. +# +# See also section "Doxygen usage" for information on how to generate the +# default style sheet that doxygen normally uses. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an RTF document. Syntax is +# similar to doxygen's config file. A template extensions file can be generated +# using doxygen -e rtf extensionFile. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_EXTENSIONS_FILE = + +# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code +# with syntax highlighting in the RTF output. +# +# Note that which sources are shown also depends on other settings such as +# SOURCE_BROWSER. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for +# classes and files. +# The default value is: NO. + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. A directory man3 will be created inside the directory specified by +# MAN_OUTPUT. +# The default directory is: man. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to the generated +# man pages. In case the manual section does not start with a number, the number +# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is +# optional. +# The default value is: .3. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_EXTENSION = .3 + +# The MAN_SUBDIR tag determines the name of the directory created within +# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by +# MAN_EXTENSION with the initial . removed. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_SUBDIR = + +# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it +# will generate one additional man file for each entity documented in the real +# man page(s). These additional files only source the real man page, but without +# them the man command would be unable to find the correct page. +# The default value is: NO. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that +# captures the structure of the code including all documentation. +# The default value is: NO. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: xml. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_OUTPUT = xml + +# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program +# listings (including syntax highlighting and cross-referencing information) to +# the XML output. Note that enabling this will significantly increase the size +# of the XML output. +# The default value is: YES. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files +# that can be used to generate PDF. +# The default value is: NO. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. +# The default directory is: docbook. +# This tag requires that the tag GENERATE_DOCBOOK is set to YES. + +DOCBOOK_OUTPUT = docbook + +# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the +# program listings (including syntax highlighting and cross-referencing +# information) to the DOCBOOK output. Note that enabling this will significantly +# increase the size of the DOCBOOK output. +# The default value is: NO. +# This tag requires that the tag GENERATE_DOCBOOK is set to YES. + +DOCBOOK_PROGRAMLISTING = NO + +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an +# AutoGen Definitions (see http://autogen.sf.net) file that captures the +# structure of the code including all documentation. Note that this feature is +# still experimental and incomplete at the moment. +# The default value is: NO. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module +# file that captures the structure of the code including all documentation. +# +# Note that this feature is still experimental and incomplete at the moment. +# The default value is: NO. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary +# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI +# output from the Perl module output. +# The default value is: NO. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely +# formatted so it can be parsed by a human reader. This is useful if you want to +# understand what is going on. On the other hand, if this tag is set to NO, the +# size of the Perl module output will be much smaller and Perl will parse it +# just the same. +# The default value is: YES. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file are +# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful +# so different doxyrules.make files included by the same Makefile don't +# overwrite each other's variables. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all +# C-preprocessor directives found in the sources and include files. +# The default value is: YES. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# in the source code. If set to NO, only conditional compilation will be +# performed. Macro expansion can be done in a controlled way by setting +# EXPAND_ONLY_PREDEF to YES. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then +# the macro expansion is limited to the macros specified with the PREDEFINED and +# EXPAND_AS_DEFINED tags. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES, the include files in the +# INCLUDE_PATH will be searched if a #include is found. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by the +# preprocessor. +# This tag requires that the tag SEARCH_INCLUDES is set to YES. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will be +# used. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that are +# defined before the preprocessor is started (similar to the -D option of e.g. +# gcc). The argument of the tag is a list of macros of the form: name or +# name=definition (no spaces). If the definition and the "=" are omitted, "=1" +# is assumed. To prevent a macro definition from being undefined via #undef or +# recursively expanded use the := operator instead of the = operator. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this +# tag can be used to specify a list of macro names that should be expanded. The +# macro definition that is found in the sources will be used. Use the PREDEFINED +# tag if you want to use a different macro definition that overrules the +# definition found in the source code. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will +# remove all references to function-like macros that are alone on a line, have +# an all uppercase name, and do not end with a semicolon. Such function macros +# are typically used for boiler-plate code, and will confuse the parser if not +# removed. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration options related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tag files. For each tag +# file the location of the external documentation should be added. The format of +# a tag file without this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where loc1 and loc2 can be relative or absolute paths or URLs. See the +# section "Linking to external documentation" for more information about the use +# of tag files. +# Note: Each tag file must have a unique name (where the name does NOT include +# the path). If a tag file is not located in the directory in which doxygen is +# run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create a +# tag file that is based on the input files it reads. See section "Linking to +# external documentation" for more information about the usage of tag files. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES, all external class will be listed in +# the class index. If set to NO, only the inherited external classes will be +# listed. +# The default value is: NO. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will be +# listed. +# The default value is: YES. + +EXTERNAL_GROUPS = YES + +# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in +# the related pages index. If set to NO, only the current project's pages will +# be listed. +# The default value is: YES. + +EXTERNAL_PAGES = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of 'which perl'). +# The default file (with absolute path) is: /usr/bin/perl. + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram +# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to +# NO turns the diagrams off. Note that this option also works with HAVE_DOT +# disabled, but it is recommended to install and use dot, since it yields more +# powerful graphs. +# The default value is: YES. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see: +# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# You can include diagrams made with dia in doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. + +DIA_PATH = + +# If set to YES the inheritance and collaboration graphs will hide inheritance +# and usage relations if the target is undocumented or is not a class. +# The default value is: YES. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz (see: +# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# Bell Labs. The other options in this section have no effect if this option is +# set to NO +# The default value is: YES. + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed +# to run in parallel. When set to 0 doxygen will base this on the number of +# processors available in the system. You can set it explicitly to a value +# larger than 0 to get control over the balance between CPU load and processing +# speed. +# Minimum value: 0, maximum value: 32, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_NUM_THREADS = 0 + +# When you want a differently looking font in the dot files that doxygen +# generates you can specify the font name using DOT_FONTNAME. You need to make +# sure dot is able to find the font, which can be done by putting it in a +# standard location or by setting the DOTFONTPATH environment variable or by +# setting DOT_FONTPATH to the directory containing the font. +# The default value is: Helvetica. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of +# dot graphs. +# Minimum value: 4, maximum value: 24, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the default font as specified with +# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set +# the path where dot can find it using this tag. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTPATH = + +# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for +# each documented class showing the direct and indirect inheritance relations. +# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a +# graph for each documented class showing the direct and indirect implementation +# dependencies (inheritance, containment, and class references variables) of the +# class with other documented classes. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for +# groups, showing the direct groups dependencies. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +UML_LOOK = NO + +# If the UML_LOOK tag is enabled, the fields and methods are shown inside the +# class node. If there are many fields or methods and many nodes the graph may +# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the +# number of items for each type to make the size more manageable. Set this to 0 +# for no limit. Note that the threshold may be exceeded by 50% before the limit +# is enforced. So when you set the threshold to 10, up to 15 fields may appear, +# but if the number exceeds 15, the total amount of fields shown is limited to +# 10. +# Minimum value: 0, maximum value: 100, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. + +UML_LIMIT_NUM_FIELDS = 10 + +# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and +# collaboration graphs will show the relations between templates and their +# instances. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +TEMPLATE_RELATIONS = NO + +# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to +# YES then doxygen will generate a graph for each documented file showing the +# direct and indirect include dependencies of the file with other documented +# files. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +INCLUDE_GRAPH = YES + +# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are +# set to YES then doxygen will generate a graph for each documented file showing +# the direct and indirect include dependencies of the file with other documented +# files. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH tag is set to YES then doxygen will generate a call +# dependency graph for every global function or class method. +# +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. Disabling a call graph can be +# accomplished by means of the command \hidecallgraph. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller +# dependency graph for every global function or class method. +# +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable caller graphs for selected +# functions only using the \callergraph command. Disabling a caller graph can be +# accomplished by means of the command \hidecallergraph. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical +# hierarchy of all classes instead of a textual one. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the +# dependencies a directory has on other directories in a graphical way. The +# dependency relations are determined by the #include relations between the +# files in the directories. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. For an explanation of the image formats see the section +# output formats in the documentation of the dot tool (Graphviz (see: +# http://www.graphviz.org/)). +# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order +# to make the SVG files visible in IE 9+ (other browsers do not have this +# requirement). +# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd, +# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo, +# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo, +# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +# png:gdiplus:gdiplus. +# The default value is: png. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_IMAGE_FORMAT = png + +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# +# Note that this requires a modern browser other than Internet Explorer. Tested +# and working are Firefox, Chrome, Safari, and Opera. +# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make +# the SVG files visible. Older versions of IE do not have SVG support. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +INTERACTIVE_SVG = NO + +# The DOT_PATH tag can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the \dotfile +# command). +# This tag requires that the tag HAVE_DOT is set to YES. + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = + +# The DIAFILE_DIRS tag can be used to specify one or more directories that +# contain dia files that are included in the documentation (see the \diafile +# command). + +DIAFILE_DIRS = + +# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +# path where java can find the plantuml.jar file. If left blank, it is assumed +# PlantUML is not used or called during a preprocessing step. Doxygen will +# generate a warning when it encounters a \startuml command in this case and +# will not generate output for the diagram. + +PLANTUML_JAR_PATH = + +# When using plantuml, the specified paths are searched for files specified by +# the !include statement in a plantuml block. + +PLANTUML_INCLUDE_PATH = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes +# that will be shown in the graph. If the number of nodes in a graph becomes +# larger than this value, doxygen will truncate the graph, which is visualized +# by representing a node as a red box. Note that doxygen if the number of direct +# children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that +# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. +# Minimum value: 0, maximum value: 10000, default value: 50. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs +# generated by dot. A depth value of 3 means that only nodes reachable from the +# root by following a path via at most 3 edges will be shown. Nodes that lay +# further from the root node will be omitted. Note that setting this option to 1 +# or 2 may greatly reduce the computation time needed for large code bases. Also +# note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. +# Minimum value: 0, maximum value: 1000, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not seem +# to support this out of the box. +# +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) support +# this, this feature is disabled by default. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page +# explaining the meaning of the various boxes and arrows in the dot generated +# graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# files that are used to generate the various graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_CLEANUP = YES diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html b/BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html new file mode 100644 index 0000000..fe75c38 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Food.py File Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">Food.py File Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>implements an abstract data type for a snake's food +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An Abstract Data type which represents a one-unit of food. <a href="classFood_1_1Food.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>implements an abstract data type for a snake's food </p> +<dl class="section author"><dt>Author</dt><dd>Usman Irfan </dd></dl> +<dl class="section date"><dt>Date</dt><dd>11/09/2018 </dd></dl> +</div></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html b/BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html new file mode 100644 index 0000000..6260412 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Snake.py File Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">Snake.py File Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>implements an abstract data type for a snake +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An Abstract Data type representing a snake character object. <a href="classSnake_1_1Snake.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>implements an abstract data type for a snake </p> +<dl class="section author"><dt>Author</dt><dd>Andy Hameed </dd></dl> +<dl class="section date"><dt>Date</dt><dd>11/09/2018 </dd></dl> +</div></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/annotated.html b/BlankProjectTemplate/Doc/Design/MIS/html/annotated.html new file mode 100644 index 0000000..7e1518f --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/annotated.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Class List</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">Class List</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory"> +<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><b>Food</b></td><td class="desc"></td></tr> +<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classFood_1_1Food.html" target="_self">Food</a></td><td class="desc">An Abstract Data type which represents a one-unit of food </td></tr> +<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span class="icona"><span class="icon">N</span></span><b>highscore</b></td><td class="desc"></td></tr> +<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classhighscore_1_1HighScore.html" target="_self">HighScore</a></td><td class="desc">A Class that will contain useful functions in order for the creation of highscore page </td></tr> +<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><span class="icona"><span class="icon">N</span></span><b>Interface</b></td><td class="desc"></td></tr> +<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classInterface_1_1GUI.html" target="_self">GUI</a></td><td class="desc">A Class that will contain useful functions in order for the creation of main interface </td></tr> +<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">▼</span><span class="icona"><span class="icon">N</span></span><b>Snake</b></td><td class="desc"></td></tr> +<tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSnake_1_1Snake.html" target="_self">Snake</a></td><td class="desc">An Abstract Data type representing a snake character object </td></tr> +</table> +</div><!-- directory --> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/arrowdown.png b/BlankProjectTemplate/Doc/Design/MIS/html/arrowdown.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22 GIT binary patch literal 246 zcmV<S015wzP)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD0002JNkl<ZcmeI* zAx;B97{&1)q=(=LT%h;h3{`DFU=Y+bY0?v5>kw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$<w7_^JU^7%7%0zJH4kA|nU6I?=t2?`YfNxzFd zLI<~*e?p<IJGcmIw6zLXu+2_Dc6pD@(bhEM-}eIron6S{S?uGdd`*1=UDVom9yVbN wee?!o*N50y`~~``KBRnn4>b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/arrowright.png b/BlankProjectTemplate/Doc/Design/MIS/html/arrowright.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ee22f937a07d1dbfc27c669d11f8ed13e2f152 GIT binary patch literal 229 zcmV<B02=>^P)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD00022Nkl<ZcmeI5 zJq`g;6h;q`*aoFUtJG`64iq|xMyXIs*n>R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrK<r3Bb=(0g6xxp!U32tWOu)WH##T0rK!7uo|*cw6RYWr9yxxq2N&i=_#5kSpmd| z3DT;|QpwOhR&)di$#aNpIVkD_gya#NrE7vMK**;p+$8f1VhPe)Xk`t*OK>gp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/bc_s.png b/BlankProjectTemplate/Doc/Design/MIS/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000O80015c1^@s65rAI}0007ONkl<ZcmeI5 z%WD%+6voe;xyj6=NhXt~4{e$zF*P<SZp4L@2Hd!iQY<tJD@e5{RU55hl&Talf{KWb zN*6A=C`Gqz5#NvcXzNOCOH(I9n<#?l<k5ws2omoMCgj%s3y1G=&gJ~>y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE<Gz)cj&*s5lRy$b&*W@2j<GZEpXZ$P|Z!4Q$_|`5gj> z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/bdwn.png b/BlankProjectTemplate/Doc/Design/MIS/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C<wUB513~7 zF-Lk{?g8$ijf`2F^ip|Vw7EpzIJxiU`6~>2wk~_T<sM_r%les%%^JdHy*A#$ew5wb vr&wL1c8#4j*F5jfGT)c(PZrEb5O3m+yDrVre6KeTXbXd<tDnm{r-UW|3$!!q literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html new file mode 100644 index 0000000..f339a3c --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Member List</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>Food</b></li><li class="navelem"><a class="el" href="classFood_1_1Food.html">Food</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Food.Food Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classFood_1_1Food.html">Food.Food</a>, including all inherited members.</p> +<table class="directory"> + <tr class="even"><td class="entry"><a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">__init__</a>(self, blockSize)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">draw_food</a>(self, location)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">redraw_food</a>(self, x, y, location, screenSize)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b> (defined in <a class="el" href="classFood_1_1Food.html">Food.Food</a>)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr> +</table></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html new file mode 100644 index 0000000..d4a2265 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html @@ -0,0 +1,257 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Food.Food Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>Food</b></li><li class="navelem"><a class="el" href="classFood_1_1Food.html">Food</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-attribs">Public Attributes</a> | +<a href="classFood_1_1Food-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">Food.Food Class Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>An Abstract Data type which represents a one-unit of food. + <a href="classFood_1_1Food.html#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:ae4c3146df2eab1cffad7a10bab5b721f"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">__init__</a> (self, blockSize)</td></tr> +<tr class="memdesc:ae4c3146df2eab1cffad7a10bab5b721f"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classFood_1_1Food.html" title="An Abstract Data type which represents a one-unit of food. ">Food</a> constructor. <a href="#ae4c3146df2eab1cffad7a10bab5b721f">More...</a><br /></td></tr> +<tr class="separator:ae4c3146df2eab1cffad7a10bab5b721f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aad94875bc7f2f6c990b826c9dc40092f"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">draw_food</a> (self, location)</td></tr> +<tr class="memdesc:aad94875bc7f2f6c990b826c9dc40092f"><td class="mdescLeft"> </td><td class="mdescRight">Draw method uses pygame to draw the food object on the window. <a href="#aad94875bc7f2f6c990b826c9dc40092f">More...</a><br /></td></tr> +<tr class="separator:aad94875bc7f2f6c990b826c9dc40092f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4a84b471eb86eaab7414ce1f28915fd6"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">redraw_food</a> (self, x, y, location, screenSize)</td></tr> +<tr class="memdesc:a4a84b471eb86eaab7414ce1f28915fd6"><td class="mdescLeft"> </td><td class="mdescRight">redraw_food method redraws the food on the screen randomly <a href="#a4a84b471eb86eaab7414ce1f28915fd6">More...</a><br /></td></tr> +<tr class="separator:a4a84b471eb86eaab7414ce1f28915fd6"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr class="memitem:a811a8754b4796d69534a0649520a5993"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a811a8754b4796d69534a0649520a5993"></a> + </td><td class="memItemRight" valign="bottom"><b>size</b></td></tr> +<tr class="separator:a811a8754b4796d69534a0649520a5993"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>An Abstract Data type which represents a one-unit of food. </p> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a class="anchor" id="ae4c3146df2eab1cffad7a10bab5b721f"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Food.Food.__init__ </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>self</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p><a class="el" href="classFood_1_1Food.html" title="An Abstract Data type which represents a one-unit of food. ">Food</a> constructor. </p> +<p>Initializes the size of the food, this needs to be the same as snake's block size </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">blockSize</td><td>the width and height of the square block representing the food </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a class="anchor" id="aad94875bc7f2f6c990b826c9dc40092f"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Food.Food.draw_food </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>self</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>location</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Draw method uses pygame to draw the food object on the window. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">location</td><td>A list which consists the x and y location of the food </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="a4a84b471eb86eaab7414ce1f28915fd6"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Food.Food.redraw_food </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>self</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>location</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>screenSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>redraw_food method redraws the food on the screen randomly </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">x</td><td>is the location of snake's x-axis head location </td></tr> + <tr><td class="paramname">y</td><td>is the location of snake's y-axis head location </td></tr> + <tr><td class="paramname">location</td><td>is a list that gives the location of present food </td></tr> + <tr><td class="paramname">screenSize</td><td>is the size of the screen </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="Food_8py.html">Food.py</a></li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html new file mode 100644 index 0000000..439a043 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Member List</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>Interface</b></li><li class="navelem"><a class="el" href="classInterface_1_1GUI.html">GUI</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Interface.GUI Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a>, including all inherited members.</p> +<table class="directory"> + <tr class="even"><td class="entry"><a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">button</a>(Surface, color, Rect, width)</td><td class="entry"><a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">runfile</a>(runfilename)</td><td class="entry"><a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">text</a>(text, fontStyle, fontSize, color, coord, surface)</td><td class="entry"><a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a></td><td class="entry"></td></tr> +</table></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html new file mode 100644 index 0000000..6ad1fed --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html @@ -0,0 +1,262 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Interface.GUI Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>Interface</b></li><li class="navelem"><a class="el" href="classInterface_1_1GUI.html">GUI</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="classInterface_1_1GUI-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">Interface.GUI Class Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>A Class that will contain useful functions in order for the creation of main interface. + <a href="classInterface_1_1GUI.html#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:aea50c45b0173d626777b9aee47a23591"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">runfile</a> (runfilename)</td></tr> +<tr class="memdesc:aea50c45b0173d626777b9aee47a23591"><td class="mdescLeft"> </td><td class="mdescRight">A function for running other files. <a href="#aea50c45b0173d626777b9aee47a23591">More...</a><br /></td></tr> +<tr class="separator:aea50c45b0173d626777b9aee47a23591"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6e96c109143b0d74c039338673435280"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">button</a> (Surface, color, Rect, width)</td></tr> +<tr class="memdesc:a6e96c109143b0d74c039338673435280"><td class="mdescLeft"> </td><td class="mdescRight">A method to create a button. <a href="#a6e96c109143b0d74c039338673435280">More...</a><br /></td></tr> +<tr class="separator:a6e96c109143b0d74c039338673435280"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1017c12e07fbe580fa27aa4c0c634b93"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">text</a> (text, fontStyle, fontSize, color, coord, surface)</td></tr> +<tr class="memdesc:a1017c12e07fbe580fa27aa4c0c634b93"><td class="mdescLeft"> </td><td class="mdescRight">A method to display text. <a href="#a1017c12e07fbe580fa27aa4c0c634b93">More...</a><br /></td></tr> +<tr class="separator:a1017c12e07fbe580fa27aa4c0c634b93"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>A Class that will contain useful functions in order for the creation of main interface. </p> +</div><h2 class="groupheader">Member Function Documentation</h2> +<a class="anchor" id="a6e96c109143b0d74c039338673435280"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Interface.GUI.button </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>Surface</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>color</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>Rect</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>width</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>A method to create a button. </p> +<p>This method will make a box on the interface </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">surface</td><td>The background (surface) the box should be made on </td></tr> + <tr><td class="paramname">color</td><td>The color of the button to be made </td></tr> + <tr><td class="paramname">Rect</td><td>The coordinate of the button with the length and width </td></tr> + <tr><td class="paramname">width</td><td>The width of the sides of button </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="aea50c45b0173d626777b9aee47a23591"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Interface.GUI.runfile </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>runfilename</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>A function for running other files. </p> +<p>Executes another python file when this is selected, Given that the file is in same folder. </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">runfilename</td><td>The name of the file to be executed </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="a1017c12e07fbe580fa27aa4c0c634b93"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Interface.GUI.text </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>text</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>fontStyle</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>fontSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>color</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>coord</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>surface</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>A method to display text. </p> +<p>This function will print the text on the interface </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">text</td><td>The text to be printed </td></tr> + <tr><td class="paramname">fontStyle</td><td>The font Style of the text to be displayed </td></tr> + <tr><td class="paramname">fontSize</td><td>The size of the text written </td></tr> + <tr><td class="paramname">color</td><td>The color of the text </td></tr> + <tr><td class="paramname">coord</td><td>The coordinate at which the text should start displaying </td></tr> + <tr><td class="paramname">surface</td><td>The background (surface) the text should be printed on </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li>Interface.py</li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html new file mode 100644 index 0000000..21e4a58 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Member List</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>Snake</b></li><li class="navelem"><a class="el" href="classSnake_1_1Snake.html">Snake</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Snake.Snake Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>, including all inherited members.</p> +<table class="directory"> + <tr class="even"><td class="entry"><a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">__init__</a>(self, blockSize, direct, speed, axis)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0"><td class="entry"><b>axis</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>direct</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">draw</a>(self, x, y)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0"><td class="entry"><b>speed</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr> +</table></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html new file mode 100644 index 0000000..f13087d --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html @@ -0,0 +1,235 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Snake.Snake Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>Snake</b></li><li class="navelem"><a class="el" href="classSnake_1_1Snake.html">Snake</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-attribs">Public Attributes</a> | +<a href="classSnake_1_1Snake-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">Snake.Snake Class Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>An Abstract Data type representing a snake character object. + <a href="classSnake_1_1Snake.html#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:aeb38fdae78144abf6a84c7ba35af536a"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">__init__</a> (self, blockSize, direct, speed, axis)</td></tr> +<tr class="memdesc:aeb38fdae78144abf6a84c7ba35af536a"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classSnake_1_1Snake.html" title="An Abstract Data type representing a snake character object. ">Snake</a> constructor. <a href="#aeb38fdae78144abf6a84c7ba35af536a">More...</a><br /></td></tr> +<tr class="separator:aeb38fdae78144abf6a84c7ba35af536a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad0507605e291c7ea3423021d4e718df3"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">draw</a> (self, x, y)</td></tr> +<tr class="memdesc:ad0507605e291c7ea3423021d4e718df3"><td class="mdescLeft"> </td><td class="mdescRight">Draw method uses pygame to draw the snake object. <a href="#ad0507605e291c7ea3423021d4e718df3">More...</a><br /></td></tr> +<tr class="separator:ad0507605e291c7ea3423021d4e718df3"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr class="memitem:a0b25a63b667813d471a04e3091304ad6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b25a63b667813d471a04e3091304ad6"></a> + </td><td class="memItemRight" valign="bottom"><b>speed</b></td></tr> +<tr class="separator:a0b25a63b667813d471a04e3091304ad6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:afb56639cdb67222e4e31ca4cfffebd2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb56639cdb67222e4e31ca4cfffebd2d"></a> + </td><td class="memItemRight" valign="bottom"><b>direct</b></td></tr> +<tr class="separator:afb56639cdb67222e4e31ca4cfffebd2d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a886db89c556bb8e85c462c821b56089a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a886db89c556bb8e85c462c821b56089a"></a> + </td><td class="memItemRight" valign="bottom"><b>size</b></td></tr> +<tr class="separator:a886db89c556bb8e85c462c821b56089a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3ed7ae05b60f642abc4184f349ef279a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ed7ae05b60f642abc4184f349ef279a"></a> + </td><td class="memItemRight" valign="bottom"><b>axis</b></td></tr> +<tr class="separator:a3ed7ae05b60f642abc4184f349ef279a"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>An Abstract Data type representing a snake character object. </p> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a class="anchor" id="aeb38fdae78144abf6a84c7ba35af536a"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Snake.Snake.__init__ </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>self</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>blockSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>direct</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>speed</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>axis</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p><a class="el" href="classSnake_1_1Snake.html" title="An Abstract Data type representing a snake character object. ">Snake</a> constructor. </p> +<p>Initializes a <a class="el" href="classSnake_1_1Snake.html" title="An Abstract Data type representing a snake character object. ">Snake</a> object with its initial attributes </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">blockSize</td><td>the width and height of the square block representing the snake </td></tr> + <tr><td class="paramname">direct</td><td>The direction of the snake's movement </td></tr> + <tr><td class="paramname">speed</td><td>The initial speed of the snake's movement </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a class="anchor" id="ad0507605e291c7ea3423021d4e718df3"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def Snake.Snake.draw </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>self</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>y</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Draw method uses pygame to draw the snake object. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">x</td><td>The x-coordinate where the block should be drawn </td></tr> + <tr><td class="paramname">y</td><td>The y-coordinate where the block should be drawn </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="Snake_8py.html">Snake.py</a></li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classes.html b/BlankProjectTemplate/Doc/Design/MIS/html/classes.html new file mode 100644 index 0000000..37eb1cb --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classes.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Class Index</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li class="current"><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">Class Index</div> </div> +</div><!--header--> +<div class="contents"> +<div class="qindex"><a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_S">S</a></div> +<table class="classindex"> +<tr><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  F  </div></td></tr></table> +</td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  G  </div></td></tr></table> +</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  H  </div></td></tr></table> +</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  S  </div></td></tr></table> +</td><td></td></tr> +<tr><td></td></tr> +<tr><td valign="top"><a class="el" href="classFood_1_1Food.html">Food</a> (Food)   </td><td valign="top"><a class="el" href="classInterface_1_1GUI.html">GUI</a> (Interface)   </td><td valign="top"><a class="el" href="classhighscore_1_1HighScore.html">HighScore</a> (highscore)   </td><td valign="top"><a class="el" href="classSnake_1_1Snake.html">Snake</a> (Snake)   </td><td></td></tr> +<tr><td></td><td></td><td></td><td></td><td></td></tr> +</table> +<div class="qindex"><a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_S">S</a></div> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html new file mode 100644 index 0000000..bdb2f16 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Member List</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>highscore</b></li><li class="navelem"><a class="el" href="classhighscore_1_1HighScore.html">HighScore</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">highscore.HighScore Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a>, including all inherited members.</p> +<table class="directory"> + <tr class="even"><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">button</a>(Surface, color, Rect, width)</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">findHighscore</a>()</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">runfile</a>(runfilename)</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">text</a>(text, fontStyle, fontSize, color, coord, surface)</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr> +</table></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html new file mode 100644 index 0000000..ad7ad89 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html @@ -0,0 +1,283 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: highscore.HighScore Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><b>highscore</b></li><li class="navelem"><a class="el" href="classhighscore_1_1HighScore.html">HighScore</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="classhighscore_1_1HighScore-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">highscore.HighScore Class Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>A Class that will contain useful functions in order for the creation of highscore page. + <a href="classhighscore_1_1HighScore.html#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:a790e2026c698c7a97f3302a17d324a72"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">runfile</a> (runfilename)</td></tr> +<tr class="memdesc:a790e2026c698c7a97f3302a17d324a72"><td class="mdescLeft"> </td><td class="mdescRight">A function for running other files. <a href="#a790e2026c698c7a97f3302a17d324a72">More...</a><br /></td></tr> +<tr class="separator:a790e2026c698c7a97f3302a17d324a72"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5fad87aae40bcfc2f5a1b2c5726bf650"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">text</a> (text, fontStyle, fontSize, color, coord, surface)</td></tr> +<tr class="memdesc:a5fad87aae40bcfc2f5a1b2c5726bf650"><td class="mdescLeft"> </td><td class="mdescRight">A method to display text. <a href="#a5fad87aae40bcfc2f5a1b2c5726bf650">More...</a><br /></td></tr> +<tr class="separator:a5fad87aae40bcfc2f5a1b2c5726bf650"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a857b76e0be22a3d5476690a253fdd604"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">button</a> (Surface, color, Rect, width)</td></tr> +<tr class="memdesc:a857b76e0be22a3d5476690a253fdd604"><td class="mdescLeft"> </td><td class="mdescRight">A method to create a button. <a href="#a857b76e0be22a3d5476690a253fdd604">More...</a><br /></td></tr> +<tr class="separator:a857b76e0be22a3d5476690a253fdd604"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9db9bf4036615d55829c96cd1d78ba88"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">findHighscore</a> ()</td></tr> +<tr class="memdesc:a9db9bf4036615d55829c96cd1d78ba88"><td class="mdescLeft"> </td><td class="mdescRight">Finds the highest score from the file. <a href="#a9db9bf4036615d55829c96cd1d78ba88">More...</a><br /></td></tr> +<tr class="separator:a9db9bf4036615d55829c96cd1d78ba88"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>A Class that will contain useful functions in order for the creation of highscore page. </p> +</div><h2 class="groupheader">Member Function Documentation</h2> +<a class="anchor" id="a857b76e0be22a3d5476690a253fdd604"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def highscore.HighScore.button </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>Surface</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>color</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>Rect</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>width</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>A method to create a button. </p> +<p>This method will make a box on the interface </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">surface</td><td>The background (surface) the box should be made on </td></tr> + <tr><td class="paramname">color</td><td>The color of the button to be made </td></tr> + <tr><td class="paramname">Rect</td><td>The coordinate of the button with the length and width </td></tr> + <tr><td class="paramname">width</td><td>The width of the sides of button </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="a9db9bf4036615d55829c96cd1d78ba88"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def highscore.HighScore.findHighscore </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Finds the highest score from the file. </p> +<p>This writes the input from the file in an array and find the max number from it </p> + +</div> +</div> +<a class="anchor" id="a790e2026c698c7a97f3302a17d324a72"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def highscore.HighScore.runfile </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>runfilename</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>A function for running other files. </p> +<p>Executes another python file when this is selected, Given that the file is in same folder. </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">runfilename</td><td>The name of the file to be executed </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="a5fad87aae40bcfc2f5a1b2c5726bf650"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def highscore.HighScore.text </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>text</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>fontStyle</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>fontSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>color</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>coord</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>surface</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>A method to display text. </p> +<p>This function will print the text on the interface </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">text</td><td>The text to be printed </td></tr> + <tr><td class="paramname">fontStyle</td><td>The font Style of the text to be displayed </td></tr> + <tr><td class="paramname">fontSize</td><td>The size of the text written </td></tr> + <tr><td class="paramname">color</td><td>The color of the text </td></tr> + <tr><td class="paramname">coord</td><td>The coordinate at which the text should start displaying </td></tr> + <tr><td class="paramname">surface</td><td>The background (surface) the text should be printed on </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="highscore_8py.html">highscore.py</a></li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/closed.png b/BlankProjectTemplate/Doc/Design/MIS/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8<G4C~~x2bkCl7 zlF9slZh~6z%aUT|WfKm3{P*dDAfv<6>{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/doc.png b/BlankProjectTemplate/Doc/Design/MIS/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV<G0u}v<P)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz00089Nkl<ZcmeI5 zO;1x>7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$))<VZ%w8AHp|fq%mP;4ffy zZ-fC6h(S;T@^On$pg;?)``rZ-=s7qr4DR5hE4!!NdDmX=TJJeiSGimUI5QXkXNfZ> zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!n<GayH9yHg8K} z>w*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXR<pt)Tx_l7FX`b+T&0J~3Ac zDisC2f48s?Pz6U1j(Y#7FGXj244=p1VQ-4TfmZrD8|c58q%jdB67*815?3si0IJ}q zK#I#XHom~r+!`&75xy*K>bTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41N<zz(9MkMF~u!W-n>Azrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3<FfbmLT1ma;4wB2Ka6K c|6iFu0IFBSu=gW%4*&oF07*qoM6N<$f>OR*Hvj+t literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css b/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css new file mode 100644 index 0000000..1425ec5 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css @@ -0,0 +1,1475 @@ +/* The standard CSS for doxygen 1.8.11 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.png b/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js b/BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l<level+1) { + i.removeClass('iconfopen iconfclosed').addClass('iconfopen'); + a.html('▼'); + $(this).show(); + } else if (l==level+1) { + i.removeClass('iconfclosed iconfopen').addClass('iconfclosed'); + a.html('►'); + $(this).show(); + } else { + $(this).hide(); + } + }); + updateStripes(); +} + +function toggleFolder(id) +{ + // the clicked row + var currentRow = $('#row_'+id); + + // all rows after the clicked row + var rows = currentRow.nextAll("tr"); + + var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub + + // only match elements AFTER this one (can't hide elements before) + var childRows = rows.filter(function() { return this.id.match(re); }); + + // first row is visible we are HIDING + if (childRows.filter(':first').is(':visible')===true) { + // replace down arrow by right arrow for current row + var currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + currentRowSpans.filter(".arrow").html('►'); + rows.filter("[id^=row_"+id+"]").hide(); // hide all children + } else { // we are SHOWING + // replace right arrow by down arrow for current row + var currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen"); + currentRowSpans.filter(".arrow").html('▼'); + // replace down arrows by right arrows for child rows + var childRowsSpans = childRows.find("span"); + childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + childRowsSpans.filter(".arrow").html('►'); + childRows.show(); //show all children + } + updateStripes(); +} + + +function toggleInherit(id) +{ + var rows = $('tr.inherit.'+id); + var img = $('tr.inherit_header.'+id+' img'); + var src = $(img).attr('src'); + if (rows.filter(':first').is(':visible')===true) { + rows.css('display','none'); + $(img).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + rows.css('display','table-row'); // using show() causes jump in firefox + $(img).attr('src',src.substring(0,src.length-10)+'open.png'); + } +} + diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/files.html b/BlankProjectTemplate/Doc/Design/MIS/html/files.html new file mode 100644 index 0000000..0f83b42 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/files.html @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: File List</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">File List</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory"> +<table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="Food_8py.html" target="_self">Food.py</a></td><td class="desc">Implements an abstract data type for a snake's food </td></tr> +<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="highscore_8py.html" target="_self">highscore.py</a></td><td class="desc">Implements the highscore interface </td></tr> +<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="Snake_8py.html" target="_self">Snake.py</a></td><td class="desc">Implements an abstract data type for a snake </td></tr> +</table> +</div><!-- directory --> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/folderclosed.png b/BlankProjectTemplate/Doc/Design/MIS/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006nNkl<ZcmeHQ zO;6N77=GINb=Z(>a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM<n!c> zlFX`g{k$X}yIe%$N)cn1LNu=q<K5OS7CNKPk1f&9-+dXiicCfAy8a*|m;2$mAHWmO zXHGi+kV1-pHt+rM<gA>9_CS)*<?(PP8<}W6a5(^^keLBRMb50K&dQM@pmn94ZU=xQ zQX)TlxfVQ_9);_LB~VUu;v|U_-?p*(;VWJ|=^7%ZGN6sBL~)dHv|OyK(wPKdmH>>A zsX_mM4<gjHpqc8Q=uo450T?4i;CdW;`z|<XAntIp>L@`(cSNQKMFc$RtYbx{79<Tw zWXi-A43v#7I@t_Ijx7TKV2n(H{k|uniNrjlLmWw}y*t^*R9a-QX?;6B==9%$de=Kk z*QYpi761&SjtX%clomR5cK>#j-J7hk*>*+ZZhM4Hw?<fJyv$}=71o`ou(^pUn-ky6 z->I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000<MNUMnLSTaR CZX#j; literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/folderopen.png b/BlankProjectTemplate/Doc/Design/MIS/html/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c7f676a3b3ef8c2c307d319dff3c6a604eb227 GIT binary patch literal 597 zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006UNkl<ZcmeHQ zKX21e5dS%8nlx#!9XpK>X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgY<a!3GSVHw98r3tc|WLmCr=#k@b07--d0B^h;_*7huEOe@B5HbiIMnQNV2X-w6 zOrIHW*Nh!-3RJ{NFA7|xb7mLqy*mtQR%uj&==!8@USn{@{Ji@c`@7F#U6jIrqNF?z zhGG8IoU)VO(*u}!lcNr&IgdJw?)fXgkFy?t@!%{)3!Y}PHt9|Ph>gTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/functions.html b/BlankProjectTemplate/Doc/Design/MIS/html/functions.html new file mode 100644 index 0000000..0bc7ccc --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/functions.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Class Members</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="contents"> +<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul> +<li>__init__() +: <a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">Food.Food</a> +, <a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">Snake.Snake</a> +</li> +<li>button() +: <a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">highscore.HighScore</a> +, <a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">Interface.GUI</a> +</li> +<li>draw() +: <a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">Snake.Snake</a> +</li> +<li>draw_food() +: <a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">Food.Food</a> +</li> +<li>findHighscore() +: <a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">highscore.HighScore</a> +</li> +<li>redraw_food() +: <a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">Food.Food</a> +</li> +<li>runfile() +: <a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">highscore.HighScore</a> +, <a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">Interface.GUI</a> +</li> +<li>text() +: <a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">highscore.HighScore</a> +, <a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">Interface.GUI</a> +</li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html b/BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html new file mode 100644 index 0000000..ecda0f7 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Class Members - Functions</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="contents"> + <ul> +<li>__init__() +: <a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">Food.Food</a> +, <a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">Snake.Snake</a> +</li> +<li>button() +: <a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">highscore.HighScore</a> +, <a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">Interface.GUI</a> +</li> +<li>draw() +: <a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">Snake.Snake</a> +</li> +<li>draw_food() +: <a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">Food.Food</a> +</li> +<li>findHighscore() +: <a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">highscore.HighScore</a> +</li> +<li>redraw_food() +: <a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">Food.Food</a> +</li> +<li>runfile() +: <a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">highscore.HighScore</a> +, <a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">Interface.GUI</a> +</li> +<li>text() +: <a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">highscore.HighScore</a> +, <a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">Interface.GUI</a> +</li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html new file mode 100644 index 0000000..a8ce92c --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Graph Legend</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">Graph Legend</div> </div> +</div><!--header--> +<div class="contents"> +<p>This page explains how to interpret the graphs that are generated by doxygen.</p> +<p>Consider the following example: </p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> /*! Invisible class because of truncation */</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> class Invisible { };</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /*! Truncated class, inheritance relation is hidden */</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> class Truncated : public Invisible { };</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /* Class not documented with doxygen comments */</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> class Undocumented { };</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /*! Class that is inherited using public inheritance */</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> class PublicBase : public Truncated { };</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /*! A template class */</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> template<class T> class Templ { };</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /*! Class that is inherited using protected inheritance */</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> class ProtectedBase { };</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /*! Class that is inherited using private inheritance */</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> class PrivateBase { };</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /*! Class that is used by the Inherited class */</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> class Used { };</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /*! Super class that inherits a number of other classes */</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> class Inherited : public PublicBase,</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  protected ProtectedBase,</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  private PrivateBase,</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  public Undocumented,</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  public Templ<int></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  private:</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  Used *m_usedClass;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> };</div></div><!-- fragment --><p> This will result in the following graph:</p> +<center><div class="image"> +<img src="graph_legend.png" /> +</div> +</center><p>The boxes in the above graph have the following meaning: </p> +<ul> +<li> +A filled gray box represents the struct or class for which the graph is generated. </li> +<li> +A box with a black border denotes a documented struct or class. </li> +<li> +A box with a gray border denotes an undocumented struct or class. </li> +<li> +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li> +</ul> +<p>The arrows have the following meaning: </p> +<ul> +<li> +A dark blue arrow is used to visualize a public inheritance relation between two classes. </li> +<li> +A dark green arrow is used for protected inheritance. </li> +<li> +A dark red arrow is used for private inheritance. </li> +<li> +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li> +<li> +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5 b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.png b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.png new file mode 100644 index 0000000000000000000000000000000000000000..37f264eaab188569820fd1b8761b533912cb628f GIT binary patch literal 18535 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 literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html b/BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html new file mode 100644 index 0000000..5a531a5 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: highscore.py File Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">highscore.py File Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>implements the highscore interface +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A Class that will contain useful functions in order for the creation of highscore page. <a href="classhighscore_1_1HighScore.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:a24956ded9e2477e6e67122f930ba18f2"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2">highscore.main</a> ()</td></tr> +<tr class="memdesc:a24956ded9e2477e6e67122f930ba18f2"><td class="mdescLeft"> </td><td class="mdescRight">Makes the highscore interface. <a href="highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2">More...</a><br /></td></tr> +<tr class="separator:a24956ded9e2477e6e67122f930ba18f2"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>implements the highscore interface </p> +<dl class="section author"><dt>Author</dt><dd>Vaibhav Chadha </dd></dl> +<dl class="section date"><dt>Date</dt><dd>11/09/2018 </dd></dl> +</div><h2 class="groupheader">Function Documentation</h2> +<a class="anchor" id="file_a24956ded9e2477e6e67122f930ba18f2"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def highscore.main </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Makes the highscore interface. </p> +<p>This will output the final interface using the class above which can be seen by executing this function. </p> + +</div> +</div> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/index.html b/BlankProjectTemplate/Doc/Design/MIS/html/index.html new file mode 100644 index 0000000..0631fd0 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/index.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Main Page</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li class="current"><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">Snake Documentation</div> </div> +</div><!--header--> +<div class="contents"> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/jquery.js b/BlankProjectTemplate/Doc/Design/MIS/html/jquery.js new file mode 100644 index 0000000..d52a1c7 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/jquery.js @@ -0,0 +1,68 @@ +/* + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/* + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/* + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/* + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/* + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/* + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);/* + PowerTip - v1.2.0 - 2013-04-03 + http://stevenbenner.github.com/jquery-powertip/ + Copyright (c) 2013 Steven Benner (http://stevenbenner.com/). + Released under MIT license. + https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt +*/ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}})); \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/md_README.html b/BlankProjectTemplate/Doc/Design/MIS/html/md_README.html new file mode 100644 index 0000000..a7dd9db --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/md_README.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Module Interface Specification</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Module Interface Specification </div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock"><p>Use doxygen (or equivalent) to document the interface for your modules. </p> +</div></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/nav_f.png b/BlankProjectTemplate/Doc/Design/MIS/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_<lqdB{jiFDSaaN3W^xbJMH7CDK7=Q3_$6tQ&<~Cp4L6ZEndC`8;cO zrss?`_g+2sGU&M|cu~La_w1Rnf~7w`e!jQgteDwDLg6kW!`DinT@0SCelF{r5}E+Y CM>z8U literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/nav_g.png b/BlankProjectTemplate/Doc/Design/MIS/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!K<?EJwDd;c`qumW{3c)I$ztaD0e0syCC7$E=v literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/nav_h.png b/BlankProjectTemplate/Doc/Design/MIS/html/nav_h.png new file mode 100644 index 0000000000000000000000000000000000000000..33389b101d9cd9b4c98ad286b5d9c46a6671f650 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2~3AUOE6t22D>F$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&v<Kx}xDV3h>FVdQ&MBb@0HFXL<NyEw literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/open.png b/BlankProjectTemplate/Doc/Design/MIS/html/open.png new file mode 100644 index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM<Rdl=8h W@EqZ{ytxBt8iS{+pUXO@geCxcDJg#d literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/pages.html b/BlankProjectTemplate/Doc/Design/MIS/html/pages.html new file mode 100644 index 0000000..0b8297b --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/pages.html @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<title>Snake: Related Pages</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Snake + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.11 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> +</div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">Related Pages</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory"> +<table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="md_README.html" target="_self">Module Interface Specification</a></td><td class="desc"></td></tr> +</table> +</div><!-- directory --> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.11 +</small></address> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html new file mode 100644 index 0000000..d54e0bd --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_0.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js new file mode 100644 index 0000000..eb08fc8 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5f_5finit_5f_5f',['__init__',['../classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f',1,'Food.Food.__init__()'],['../classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a',1,'Snake.Snake.__init__()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html new file mode 100644 index 0000000..8cc6a1d --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_1.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js new file mode 100644 index 0000000..26151ee --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['button',['button',['../classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604',1,'highscore.HighScore.button()'],['../classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280',1,'Interface.GUI.button()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html new file mode 100644 index 0000000..d15ac65 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_2.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js new file mode 100644 index 0000000..c856813 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['draw',['draw',['../classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3',1,'Snake::Snake']]], + ['draw_5ffood',['draw_food',['../classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f',1,'Food::Food']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html new file mode 100644 index 0000000..9f526c6 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_3.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js new file mode 100644 index 0000000..8b9899e --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['findhighscore',['findHighscore',['../classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88',1,'highscore::HighScore']]], + ['food',['Food',['../classFood_1_1Food.html',1,'Food']]], + ['food_2epy',['Food.py',['../Food_8py.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html new file mode 100644 index 0000000..7b814aa --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_4.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js new file mode 100644 index 0000000..ef3387e --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['gui',['GUI',['../classInterface_1_1GUI.html',1,'Interface']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html new file mode 100644 index 0000000..d8de556 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_5.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js new file mode 100644 index 0000000..aae01d7 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['highscore',['HighScore',['../classhighscore_1_1HighScore.html',1,'highscore']]], + ['highscore_2epy',['highscore.py',['../highscore_8py.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html new file mode 100644 index 0000000..9ba0cc2 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_6.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js new file mode 100644 index 0000000..66fe84d --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['main',['main',['../highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2',1,'highscore']]], + ['module_20interface_20specification',['Module Interface Specification',['../md_README.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html new file mode 100644 index 0000000..9384ec9 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_7.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js new file mode 100644 index 0000000..e97db7c --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['redraw_5ffood',['redraw_food',['../classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6',1,'Food::Food']]], + ['runfile',['runfile',['../classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72',1,'highscore.HighScore.runfile()'],['../classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591',1,'Interface.GUI.runfile()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html new file mode 100644 index 0000000..37566c5 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_8.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js new file mode 100644 index 0000000..7ed53f7 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['snake',['Snake',['../classSnake_1_1Snake.html',1,'Snake']]], + ['snake_2epy',['Snake.py',['../Snake_8py.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html new file mode 100644 index 0000000..c8c5102 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_9.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js new file mode 100644 index 0000000..7e967a9 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['text',['text',['../classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650',1,'highscore.HighScore.text()'],['../classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93',1,'Interface.GUI.text()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html new file mode 100644 index 0000000..025587a --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="classes_0.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js new file mode 100644 index 0000000..202f43d --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['food',['Food',['../classFood_1_1Food.html',1,'Food']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html new file mode 100644 index 0000000..86dc4ff --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="classes_1.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js new file mode 100644 index 0000000..ef3387e --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['gui',['GUI',['../classInterface_1_1GUI.html',1,'Interface']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html new file mode 100644 index 0000000..014caf8 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="classes_2.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js new file mode 100644 index 0000000..74c227f --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['highscore',['HighScore',['../classhighscore_1_1HighScore.html',1,'highscore']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html new file mode 100644 index 0000000..2e97201 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="classes_3.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js new file mode 100644 index 0000000..2c8ef52 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['snake',['Snake',['../classSnake_1_1Snake.html',1,'Snake']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/close.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)<h;3K|Lk000e1NJLTq000XB000XJ1^@s6sjPP<0002kNkl<Z7#Vd@ zy%I)14BQwM3KSF?L+drXf2Tud1~Vwo-gkQ=D&H2DpWDkOIl+T{-_5ct*tQMlc_NA; z#Bq!~&yl97kminQn#?$kxUNgzzBUX)lx2ycD8xIC<1djfsKP>4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html new file mode 100644 index 0000000..0b637cf --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="files_0.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js new file mode 100644 index 0000000..176cbb2 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['food_2epy',['Food.py',['../Food_8py.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html new file mode 100644 index 0000000..1094e74 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="files_1.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js new file mode 100644 index 0000000..223e392 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['highscore_2epy',['highscore.py',['../highscore_8py.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html new file mode 100644 index 0000000..a08dbd3 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="files_2.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js new file mode 100644 index 0000000..06a5aeb --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['snake_2epy',['Snake.py',['../Snake_8py.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html new file mode 100644 index 0000000..6bc52b6 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="functions_0.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js new file mode 100644 index 0000000..eb08fc8 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5f_5finit_5f_5f',['__init__',['../classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f',1,'Food.Food.__init__()'],['../classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a',1,'Snake.Snake.__init__()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html new file mode 100644 index 0000000..648831f --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="functions_1.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js new file mode 100644 index 0000000..26151ee --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['button',['button',['../classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604',1,'highscore.HighScore.button()'],['../classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280',1,'Interface.GUI.button()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html new file mode 100644 index 0000000..c93d089 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="functions_2.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js new file mode 100644 index 0000000..c856813 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['draw',['draw',['../classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3',1,'Snake::Snake']]], + ['draw_5ffood',['draw_food',['../classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f',1,'Food::Food']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html new file mode 100644 index 0000000..caa48ea --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="functions_3.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js new file mode 100644 index 0000000..b16ff02 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['findhighscore',['findHighscore',['../classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88',1,'highscore::HighScore']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html new file mode 100644 index 0000000..a9c64ad --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="functions_4.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js new file mode 100644 index 0000000..7c4c463 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main',['main',['../highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2',1,'highscore']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html new file mode 100644 index 0000000..9d135fa --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="functions_5.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js new file mode 100644 index 0000000..e97db7c --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['redraw_5ffood',['redraw_food',['../classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6',1,'Food::Food']]], + ['runfile',['runfile',['../classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72',1,'highscore.HighScore.runfile()'],['../classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591',1,'Interface.GUI.runfile()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html new file mode 100644 index 0000000..5fca897 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="functions_6.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js new file mode 100644 index 0000000..7e967a9 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['text',['text',['../classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650',1,'highscore.HighScore.text()'],['../classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93',1,'Interface.GUI.text()']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/mag_sel.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)<h;3K|Lk000e1NJLTq000yK000vR1^@s6kc=(000009a7bBm000XU z000XU0RWnu7ytkOAY({UO#lFGm;eBCjsO7QH~;{G)c^o`2LJ%dv;Y7zL;wIBc7!%6 zy#N3Kxk*GpRCwCtl)H)|K@^6++7>zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpy<UI4WZSj@D3{ArDit(M6QNK@DvH8-y~eg}>h(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|<p3Cu$C##x>$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html @@ -0,0 +1,12 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="NoMatches">No Matches</div> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html new file mode 100644 index 0000000..0db7267 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.11"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="pages_0.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html> diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js new file mode 100644 index 0000000..8bd5797 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['module_20interface_20specification',['Module Interface Specification',['../md_README.html',1,'']]] +]; diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search.css b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.css new file mode 100644 index 0000000..4d7612f --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i<search.length;i++) + { + var c = search.charAt(i); + var cn = c.charCodeAt(0); + if (c.match(/[a-z0-9\u0080-\uFFFF]/)) + { + result+=c; + } + else if (cn<16) + { + result+="_0"+cn.toString(16); + } + else + { + result+="_"+cn.toString(16); + } + } + return result; +} + +function getXPos(item) +{ + var x = 0; + if (item.offsetWidth) + { + while (item && item!=document.body) + { + x += item.offsetLeft; + item = item.offsetParent; + } + } + return x; +} + +function getYPos(item) +{ + var y = 0; + if (item.offsetWidth) + { + while (item && item!=document.body) + { + y += item.offsetTop; + item = item.offsetParent; + } + } + return y; +} + +/* A class handling everything associated with the search panel. + + Parameters: + name - The name of the global variable that will be + storing this instance. Is needed to be able to set timeouts. + resultPath - path to use for external files +*/ +function SearchBox(name, resultsPath, inFrame, label) +{ + if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } + + // ---------- Instance variables + this.name = name; + this.resultsPath = resultsPath; + this.keyTimeout = 0; + this.keyTimeoutLength = 500; + this.closeSelectionTimeout = 300; + this.lastSearchValue = ""; + this.lastResultsPage = ""; + this.hideTimeout = 0; + this.searchIndex = 0; + this.searchActive = false; + this.insideFrame = inFrame; + this.searchLabel = label; + + // ----------- DOM Elements + + this.DOMSearchField = function() + { return document.getElementById("MSearchField"); } + + this.DOMSearchSelect = function() + { return document.getElementById("MSearchSelect"); } + + this.DOMSearchSelectWindow = function() + { return document.getElementById("MSearchSelectWindow"); } + + this.DOMPopupSearchResults = function() + { return document.getElementById("MSearchResults"); } + + this.DOMPopupSearchResultsWindow = function() + { return document.getElementById("MSearchResultsWindow"); } + + this.DOMSearchClose = function() + { return document.getElementById("MSearchClose"); } + + this.DOMSearchBox = function() + { return document.getElementById("MSearchBox"); } + + // ------------ Event Handlers + + // Called when focus is added or removed from the search field. + this.OnSearchFieldFocus = function(isActive) + { + this.Activate(isActive); + } + + this.OnSearchSelectShow = function() + { + var searchSelectWindow = this.DOMSearchSelectWindow(); + var searchField = this.DOMSearchSelect(); + + if (this.insideFrame) + { + var left = getXPos(searchField); + var top = getYPos(searchField); + left += searchField.offsetWidth + 6; + top += searchField.offsetHeight; + + // show search selection popup + searchSelectWindow.style.display='block'; + left -= searchSelectWindow.offsetWidth; + searchSelectWindow.style.left = left + 'px'; + searchSelectWindow.style.top = top + 'px'; + } + else + { + var left = getXPos(searchField); + var top = getYPos(searchField); + top += searchField.offsetHeight; + + // show search selection popup + searchSelectWindow.style.display='block'; + searchSelectWindow.style.left = left + 'px'; + searchSelectWindow.style.top = top + 'px'; + } + + // stop selection hide timer + if (this.hideTimeout) + { + clearTimeout(this.hideTimeout); + this.hideTimeout=0; + } + return false; // to avoid "image drag" default event + } + + this.OnSearchSelectHide = function() + { + this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()", + this.closeSelectionTimeout); + } + + // Called when the content of the search field is changed. + this.OnSearchFieldChange = function(evt) + { + if (this.keyTimeout) // kill running timer + { + clearTimeout(this.keyTimeout); + this.keyTimeout = 0; + } + + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 || e.keyCode==13) + { + if (e.shiftKey==1) + { + this.OnSearchSelectShow(); + var win=this.DOMSearchSelectWindow(); + for (i=0;i<win.childNodes.length;i++) + { + var child = win.childNodes[i]; // get span within a + if (child.className=='SelectItem') + { + child.focus(); + return; + } + } + return; + } + else if (window.frames.MSearchResults.searchResults) + { + var elem = window.frames.MSearchResults.searchResults.NavNext(0); + if (elem) elem.focus(); + } + } + else if (e.keyCode==27) // Escape out of the search field + { + this.DOMSearchField().blur(); + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.lastSearchValue = ''; + this.Activate(false); + return; + } + + // strip whitespaces + var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); + + if (searchValue != this.lastSearchValue) // search value has changed + { + if (searchValue != "") // non-empty search + { + // set timer for search update + this.keyTimeout = setTimeout(this.name + '.Search()', + this.keyTimeoutLength); + } + else // empty search field + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.lastSearchValue = ''; + } + } + } + + this.SelectItemCount = function(id) + { + var count=0; + var win=this.DOMSearchSelectWindow(); + for (i=0;i<win.childNodes.length;i++) + { + var child = win.childNodes[i]; // get span within a + if (child.className=='SelectItem') + { + count++; + } + } + return count; + } + + this.SelectItemSet = function(id) + { + var i,j=0; + var win=this.DOMSearchSelectWindow(); + for (i=0;i<win.childNodes.length;i++) + { + var child = win.childNodes[i]; // get span within a + if (child.className=='SelectItem') + { + var node = child.firstChild; + if (j==id) + { + node.innerHTML='•'; + } + else + { + node.innerHTML=' '; + } + j++; + } + } + } + + // Called when an search filter selection is made. + // set item with index id as the active item + this.OnSelectItem = function(id) + { + this.searchIndex = id; + this.SelectItemSet(id); + var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); + if (searchValue!="" && this.searchActive) // something was found -> do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down + { + this.searchIndex++; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==38 && this.searchIndex>0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of <Search()>. + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e<searchData.length; e++) + { + var id = searchData[e][0]; + var srResult = document.createElement('div'); + srResult.setAttribute('id','SR_'+id); + setClassAttr(srResult,'SRResult'); + var srEntry = document.createElement('div'); + setClassAttr(srEntry,'SREntry'); + var srLink = document.createElement('a'); + srLink.setAttribute('id','Item'+e); + setKeyActions(srLink,'return searchResults.Nav(event,'+e+')'); + setClassAttr(srLink,'SRSymbol'); + srLink.innerHTML = searchData[e][1][0]; + srEntry.appendChild(srLink); + if (searchData[e][1].length==2) // single result + { + srLink.setAttribute('href',searchData[e][1][1][0]); + if (searchData[e][1][1][1]) + { + srLink.setAttribute('target','_parent'); + } + var srScope = document.createElement('span'); + setClassAttr(srScope,'SRScope'); + srScope.innerHTML = searchData[e][1][1][2]; + srEntry.appendChild(srScope); + } + else // multiple results + { + srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); + var srChildren = document.createElement('div'); + setClassAttr(srChildren,'SRChildren'); + for (var c=0; c<searchData[e][1].length-1; c++) + { + var srChild = document.createElement('a'); + srChild.setAttribute('id','Item'+e+'_c'+c); + setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')'); + setClassAttr(srChild,'SRScope'); + srChild.setAttribute('href',searchData[e][1][c+1][0]); + if (searchData[e][1][c+1][1]) + { + srChild.setAttribute('target','_parent'); + } + srChild.innerHTML = searchData[e][1][c+1][2]; + srChildren.appendChild(srChild); + } + srEntry.appendChild(srChildren); + } + srResult.appendChild(srEntry); + results.appendChild(srResult); + } +} + +function init_search() +{ + var results = document.getElementById("MSearchSelectWindow"); + for (var key in indexSectionLabels) + { + var link = document.createElement('a'); + link.setAttribute('class','SelectItem'); + link.setAttribute('onclick','searchBox.OnSelectItem('+key+')'); + link.href='javascript:void(0)'; + link.innerHTML='<span class="SelectionMark"> </span>'+indexSectionLabels[key]; + results.appendChild(link); + } + searchBox.OnSelectItem(0); +} + diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search_l.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/search_l.png new file mode 100644 index 0000000000000000000000000000000000000000..c872f4da4a01d0754f923e6c94fd8159c0621bd1 GIT binary patch literal 604 zcmV-i0;BzjP)<h;3K|Lk000e1NJLTq000yK000vR1^@s6kc=(000009a7bBm000XU z000XU0RWnu7ytkOAY({UO#lFGm;eBCjsO7QH~;{G)c^o`2LJ%dv;Y7zL;wIBc7!%6 zy#N3K;z>k7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&<Zo01f zZnN3kY`5D4=NybN{0l51>~_1%^SsPxG<xm2?uTqPdy~uML^_>@rfE<VB|c%N(_!=Z z{K<GczSVX8d8JYjrfDLTN<q^!2qC~2i$y2^V6|GMCzHviVzKzLTCF0V&%-bbNGZWN zM_juAAlmIVpH8Q*Ow)W(uh(H&7Ia;QloFRfEEWrsh~Cy}HQll-7={5M1TF>lJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIR<cCi@57?)-n-w_WS+O>eZzX(YN(_9fV;BBD$VXQIxNa<NVz1cK9FQiA3VZ za=HBOI1YT@KU%-vc5K2%qwy;Ug4^M6=qwfs1VI2Iy0{$vX9d1^p7(h$7>sAL8AT<X zQ%OWP91b`w^UiMrU@3(7=y{&o@Au!AN~OoqQ&d$IQp&#+3n3nihn*f;t(E{#C!#m1 qsx}S7C?=Chp=p}JIggdW?*RZc<<(x$?F{_@0000<MNUMnLSTX?9|#Tr literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search_m.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/search_m.png new file mode 100644 index 0000000000000000000000000000000000000000..b429a16ba641960da1e52e5da85dc80fd82635c8 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^Oh7Em0U}M~ynTTbOS+@4BLl;=8&~`zjDUQ}64!{5 z;QX|b^2DN42FH~Aq*MjZ+{E<Mpwz^a%EFVWHb6xNo-U3d6}OUf^!3vd5)y3c{#bPU z`teb@<JbTH_7jql7?`61bOfX$^6u_pUBbY`!?2W{-=^-N>vEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search_r.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000sI000vR1^@s6oswPh00009a7bBm000XU z000XU0RWnu7ytkOAY({UO#lFGm;eBCjsO7QH~;{G)c^o`2LJ%dv;Y7zL;wIBc7!%6 zy#N3K>PbXFRCwB?)W514K@<k?Z}y+E3TvfSi=>j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug<MCL=as0uy?dOi;gaE*#lqVq~f|L?cN~CFuD2lLHEHE4nh3mTS zYqi=<tJR7$#@Hzbj4>#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4<fQpkA+Q0A8%u>qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J<j<{$8qis?{G94 y;eY>8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000<MNUMnLSTZ*_y_g? literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js new file mode 100644 index 0000000..4c71477 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js @@ -0,0 +1,27 @@ +var indexSectionsWithContent = +{ + 0: "_bdfghmrst", + 1: "fghs", + 2: "fhs", + 3: "_bdfmrt", + 4: "m" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "pages" +}; + +var indexSectionLabels = +{ + 0: "All", + 1: "Classes", + 2: "Files", + 3: "Functions", + 4: "Pages" +}; + diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/splitbar.png b/BlankProjectTemplate/Doc/Design/MIS/html/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jW<lVxsx`Ym~nPnqw$O~`M84{XS6<Mm0<Zit<Tk``D^RashfFq{wG<# zZG2vRxL<$IhkFMSBd@N1`uRtp)t>rYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|E<fHWtM%;-WUJ&>EGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/sync_off.png b/BlankProjectTemplate/Doc/Design/MIS/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009VNkl<ZcmeI* zOK4PA7{KxW<S|JmGnqI|rb(KahDirA+8B+gVk8A)%pe9yF;+3L5iKZG7xuBS&@L(k z33MTXOIxMHjirbWgs8M;qhM?(_-v^nS(KzU#%Ih_`hB-^XYSm&39)2*I6vmhow@fr z=iKj{vvuv-e;!~uA+biR6pf-n<cdGVuox5<#BBg4c>oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO<q-Bsh$IuZaopT|9E z-75alp&U9s%(|8uI^NA(#AD;nc=%{ivdZX(QFJ7~-yf%_Adjk`W@NhjJTyZ8*;|!n z9=K#TJuZz+={YZ#>8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sT<tBHx6XfOFDx2(ijpMiR>xLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/sync_on.png b/BlankProjectTemplate/Doc/Design/MIS/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009NNkl<ZcmeI* zUr1D09KiAKIOC-Ar)j4&EoU~y1|7@QCTmeCsMH~fFw#|0OWK8m>Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I<ojWskx{8*sm){4kXJ+p2oO6HY zoL5W7@h*VL_(ZL!7GaSmtl}SWU-XD;q7T4~4ZuW>_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F<o_Z}1zllSWC8!Z+rkFN>={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$M<u9&-IHqnYs=DL+lbi3lG2ysF!p!_2H=p zj-g89hmThki^;JHknVE4V`@zS$(ZbTd?1=dsrXLRiJbUBq7weAmVjEk@rP>j4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_a.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_b.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn<f<Rf3mJ=+uzfrOMlc%s`x4TZtnrR|B~W{ zyZP0m7vvtXV80W5^J2vvp97)4WrPK1-P<H^B$Ll|TGvzm;+92|BpdT89$b1Qf7x5g UZ&RH}7SL`6Pgg&ebxsLQ0A}n&iU0rr literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_h.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..fd5cb705488e60fcf30f56fcc951dee74f3b095b GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QWc&qjv*C{Z}0jF9dr<AdpNI7 zaOs_6=O($9b?lc?Qk=SJVv5%FA{O^TY1^*qJ@<p}E}!uH_1eoPJ&tpVl={bg{Skd2 zp1FO|;|R90%G3WYZM5AU=A4%H?3qaQhHt%H9G|xYJ)ff*|MmI*zD3`*Z|LP?7d&26 cn!ZiLK0QM$CeyB_80ZEDPgg&ebxsLQ0C?O;!~g&Q literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_s.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7) zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$ z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tabs.css b/BlankProjectTemplate/Doc/Design/MIS/html/tabs.css new file mode 100644 index 0000000..9cf578f --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex new file mode 100644 index 0000000..6e49c86 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex @@ -0,0 +1,23 @@ +\hypertarget{Food_8py}{}\section{Food.\+py File Reference} +\label{Food_8py}\index{Food.\+py@{Food.\+py}} + + +implements an abstract data type for a snake\textquotesingle{}s food + + +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{classFood_1_1Food}{Food.\+Food} +\begin{DoxyCompactList}\small\item\em An Abstract Data type which represents a one-\/unit of food. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +implements an abstract data type for a snake\textquotesingle{}s food + +\begin{DoxyAuthor}{Author} +Usman Irfan +\end{DoxyAuthor} +\begin{DoxyDate}{Date} +11/09/2018 +\end{DoxyDate} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/Makefile b/BlankProjectTemplate/Doc/Design/MIS/latex/Makefile new file mode 100644 index 0000000..8cc3866 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/Makefile @@ -0,0 +1,21 @@ +all: refman.pdf + +pdf: refman.pdf + +refman.pdf: clean refman.tex + pdflatex refman + makeindex refman.idx + pdflatex refman + latex_count=8 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + pdflatex refman ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + makeindex refman.idx + pdflatex refman + + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex new file mode 100644 index 0000000..ce95ab2 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex @@ -0,0 +1,23 @@ +\hypertarget{Snake_8py}{}\section{Snake.\+py File Reference} +\label{Snake_8py}\index{Snake.\+py@{Snake.\+py}} + + +implements an abstract data type for a snake + + +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{classSnake_1_1Snake}{Snake.\+Snake} +\begin{DoxyCompactList}\small\item\em An Abstract Data type representing a snake character object. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +implements an abstract data type for a snake + +\begin{DoxyAuthor}{Author} +Andy Hameed +\end{DoxyAuthor} +\begin{DoxyDate}{Date} +11/09/2018 +\end{DoxyDate} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex new file mode 100644 index 0000000..d03a0cd --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex @@ -0,0 +1,7 @@ +\section{Class List} +Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\hyperlink{classFood_1_1Food}{Food.\+Food} \\*An Abstract Data type which represents a one-\/unit of food }{\pageref{classFood_1_1Food}}{} +\item\contentsline{section}{\hyperlink{classInterface_1_1GUI}{Interface.\+G\+UI} \\*A Class that will contain useful functions in order for the creation of main interface }{\pageref{classInterface_1_1GUI}}{} +\item\contentsline{section}{\hyperlink{classhighscore_1_1HighScore}{highscore.\+High\+Score} \\*A Class that will contain useful functions in order for the creation of highscore page }{\pageref{classhighscore_1_1HighScore}}{} +\item\contentsline{section}{\hyperlink{classSnake_1_1Snake}{Snake.\+Snake} \\*An Abstract Data type representing a snake character object }{\pageref{classSnake_1_1Snake}}{} +\end{DoxyCompactList} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex new file mode 100644 index 0000000..32dce15 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex @@ -0,0 +1,96 @@ +\hypertarget{classFood_1_1Food}{}\section{Food.\+Food Class Reference} +\label{classFood_1_1Food}\index{Food.\+Food@{Food.\+Food}} + + +An Abstract Data type which represents a one-\/unit of food. + + +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +def \hyperlink{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}{\+\_\+\+\_\+init\+\_\+\+\_\+} (self, block\+Size) +\begin{DoxyCompactList}\small\item\em \hyperlink{classFood_1_1Food}{Food} constructor. \end{DoxyCompactList}\item +def \hyperlink{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}{draw\+\_\+food} (self, location) +\begin{DoxyCompactList}\small\item\em Draw method uses pygame to draw the food object on the window. \end{DoxyCompactList}\item +def \hyperlink{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}{redraw\+\_\+food} (self, x, y, location, screen\+Size) +\begin{DoxyCompactList}\small\item\em redraw\+\_\+food method redraws the food on the screen randomly \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +{\bfseries size}\hypertarget{classFood_1_1Food_a811a8754b4796d69534a0649520a5993}{}\label{classFood_1_1Food_a811a8754b4796d69534a0649520a5993} + +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +An Abstract Data type which represents a one-\/unit of food. + +\subsection{Constructor \& Destructor Documentation} +\index{Food\+::\+Food@{Food\+::\+Food}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}} +\index{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Food\+::\+Food@{Food\+::\+Food}} +\subsubsection[{\texorpdfstring{\+\_\+\+\_\+init\+\_\+\+\_\+(self, block\+Size)}{__init__(self, blockSize)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+\_\+\+\_\+init\+\_\+\+\_\+ ( +\begin{DoxyParamCaption} +\item[{}]{self, } +\item[{}]{block\+Size} +\end{DoxyParamCaption} +)}\hypertarget{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}{}\label{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f} + + +\hyperlink{classFood_1_1Food}{Food} constructor. + +Initializes the size of the food, this needs to be the same as snake\textquotesingle{}s block size +\begin{DoxyParams}{Parameters} +{\em block\+Size} & the width and height of the square block representing the food \\ +\hline +\end{DoxyParams} + + +\subsection{Member Function Documentation} +\index{Food\+::\+Food@{Food\+::\+Food}!draw\+\_\+food@{draw\+\_\+food}} +\index{draw\+\_\+food@{draw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}} +\subsubsection[{\texorpdfstring{draw\+\_\+food(self, location)}{draw_food(self, location)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+draw\+\_\+food ( +\begin{DoxyParamCaption} +\item[{}]{self, } +\item[{}]{location} +\end{DoxyParamCaption} +)}\hypertarget{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}{}\label{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f} + + +Draw method uses pygame to draw the food object on the window. + + +\begin{DoxyParams}{Parameters} +{\em location} & A list which consists the x and y location of the food \\ +\hline +\end{DoxyParams} +\index{Food\+::\+Food@{Food\+::\+Food}!redraw\+\_\+food@{redraw\+\_\+food}} +\index{redraw\+\_\+food@{redraw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}} +\subsubsection[{\texorpdfstring{redraw\+\_\+food(self, x, y, location, screen\+Size)}{redraw_food(self, x, y, location, screenSize)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+redraw\+\_\+food ( +\begin{DoxyParamCaption} +\item[{}]{self, } +\item[{}]{x, } +\item[{}]{y, } +\item[{}]{location, } +\item[{}]{screen\+Size} +\end{DoxyParamCaption} +)}\hypertarget{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}{}\label{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6} + + +redraw\+\_\+food method redraws the food on the screen randomly + + +\begin{DoxyParams}{Parameters} +{\em x} & is the location of snake\textquotesingle{}s x-\/axis head location \\ +\hline +{\em y} & is the location of snake\textquotesingle{}s y-\/axis head location \\ +\hline +{\em location} & is a list that gives the location of present food \\ +\hline +{\em screen\+Size} & is the size of the screen \\ +\hline +\end{DoxyParams} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\hyperlink{Food_8py}{Food.\+py}\end{DoxyCompactItemize} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex new file mode 100644 index 0000000..281de84 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex @@ -0,0 +1,99 @@ +\hypertarget{classInterface_1_1GUI}{}\section{Interface.\+G\+UI Class Reference} +\label{classInterface_1_1GUI}\index{Interface.\+G\+UI@{Interface.\+G\+UI}} + + +A Class that will contain useful functions in order for the creation of main interface. + + +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +def \hyperlink{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}{runfile} (runfilename) +\begin{DoxyCompactList}\small\item\em A function for running other files. \end{DoxyCompactList}\item +def \hyperlink{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}{button} (Surface, color, Rect, width) +\begin{DoxyCompactList}\small\item\em A method to create a button. \end{DoxyCompactList}\item +def \hyperlink{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}{text} (text, font\+Style, font\+Size, color, coord, surface) +\begin{DoxyCompactList}\small\item\em A method to display text. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +A Class that will contain useful functions in order for the creation of main interface. + +\subsection{Member Function Documentation} +\index{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!button@{button}} +\index{button@{button}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}} +\subsubsection[{\texorpdfstring{button(\+Surface, color, Rect, width)}{button(Surface, color, Rect, width)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+button ( +\begin{DoxyParamCaption} +\item[{}]{Surface, } +\item[{}]{color, } +\item[{}]{Rect, } +\item[{}]{width} +\end{DoxyParamCaption} +)}\hypertarget{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}{}\label{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280} + + +A method to create a button. + +This method will make a box on the interface +\begin{DoxyParams}{Parameters} +{\em surface} & The background (surface) the box should be made on \\ +\hline +{\em color} & The color of the button to be made \\ +\hline +{\em Rect} & The coordinate of the button with the length and width \\ +\hline +{\em width} & The width of the sides of button \\ +\hline +\end{DoxyParams} +\index{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!runfile@{runfile}} +\index{runfile@{runfile}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}} +\subsubsection[{\texorpdfstring{runfile(runfilename)}{runfile(runfilename)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+runfile ( +\begin{DoxyParamCaption} +\item[{}]{runfilename} +\end{DoxyParamCaption} +)}\hypertarget{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}{}\label{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591} + + +A function for running other files. + +Executes another python file when this is selected, Given that the file is in same folder. +\begin{DoxyParams}{Parameters} +{\em runfilename} & The name of the file to be executed \\ +\hline +\end{DoxyParams} +\index{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!text@{text}} +\index{text@{text}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}} +\subsubsection[{\texorpdfstring{text(text, font\+Style, font\+Size, color, coord, surface)}{text(text, fontStyle, fontSize, color, coord, surface)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+text ( +\begin{DoxyParamCaption} +\item[{}]{text, } +\item[{}]{font\+Style, } +\item[{}]{font\+Size, } +\item[{}]{color, } +\item[{}]{coord, } +\item[{}]{surface} +\end{DoxyParamCaption} +)}\hypertarget{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}{}\label{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93} + + +A method to display text. + +This function will print the text on the interface +\begin{DoxyParams}{Parameters} +{\em text} & The text to be printed \\ +\hline +{\em font\+Style} & The font Style of the text to be displayed \\ +\hline +{\em font\+Size} & The size of the text written \\ +\hline +{\em color} & The color of the text \\ +\hline +{\em coord} & The coordinate at which the text should start displaying \\ +\hline +{\em surface} & The background (surface) the text should be printed on \\ +\hline +\end{DoxyParams} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +Interface.\+py\end{DoxyCompactItemize} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex new file mode 100644 index 0000000..ee11695 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex @@ -0,0 +1,87 @@ +\hypertarget{classSnake_1_1Snake}{}\section{Snake.\+Snake Class Reference} +\label{classSnake_1_1Snake}\index{Snake.\+Snake@{Snake.\+Snake}} + + +An Abstract Data type representing a snake character object. + + +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +def \hyperlink{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}{\+\_\+\+\_\+init\+\_\+\+\_\+} (self, block\+Size, direct, speed, axis) +\begin{DoxyCompactList}\small\item\em \hyperlink{classSnake_1_1Snake}{Snake} constructor. \end{DoxyCompactList}\item +def \hyperlink{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}{draw} (self, x, y) +\begin{DoxyCompactList}\small\item\em Draw method uses pygame to draw the snake object. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +{\bfseries speed}\hypertarget{classSnake_1_1Snake_a0b25a63b667813d471a04e3091304ad6}{}\label{classSnake_1_1Snake_a0b25a63b667813d471a04e3091304ad6} + +\item +{\bfseries direct}\hypertarget{classSnake_1_1Snake_afb56639cdb67222e4e31ca4cfffebd2d}{}\label{classSnake_1_1Snake_afb56639cdb67222e4e31ca4cfffebd2d} + +\item +{\bfseries size}\hypertarget{classSnake_1_1Snake_a886db89c556bb8e85c462c821b56089a}{}\label{classSnake_1_1Snake_a886db89c556bb8e85c462c821b56089a} + +\item +{\bfseries axis}\hypertarget{classSnake_1_1Snake_a3ed7ae05b60f642abc4184f349ef279a}{}\label{classSnake_1_1Snake_a3ed7ae05b60f642abc4184f349ef279a} + +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +An Abstract Data type representing a snake character object. + +\subsection{Constructor \& Destructor Documentation} +\index{Snake\+::\+Snake@{Snake\+::\+Snake}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}} +\index{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Snake\+::\+Snake@{Snake\+::\+Snake}} +\subsubsection[{\texorpdfstring{\+\_\+\+\_\+init\+\_\+\+\_\+(self, block\+Size, direct, speed, axis)}{__init__(self, blockSize, direct, speed, axis)}}]{\setlength{\rightskip}{0pt plus 5cm}def Snake.\+Snake.\+\_\+\+\_\+init\+\_\+\+\_\+ ( +\begin{DoxyParamCaption} +\item[{}]{self, } +\item[{}]{block\+Size, } +\item[{}]{direct, } +\item[{}]{speed, } +\item[{}]{axis} +\end{DoxyParamCaption} +)}\hypertarget{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}{}\label{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a} + + +\hyperlink{classSnake_1_1Snake}{Snake} constructor. + +Initializes a \hyperlink{classSnake_1_1Snake}{Snake} object with its initial attributes +\begin{DoxyParams}{Parameters} +{\em block\+Size} & the width and height of the square block representing the snake \\ +\hline +{\em direct} & The direction of the snake\textquotesingle{}s movement \\ +\hline +{\em speed} & The initial speed of the snake\textquotesingle{}s movement \\ +\hline +\end{DoxyParams} + + +\subsection{Member Function Documentation} +\index{Snake\+::\+Snake@{Snake\+::\+Snake}!draw@{draw}} +\index{draw@{draw}!Snake\+::\+Snake@{Snake\+::\+Snake}} +\subsubsection[{\texorpdfstring{draw(self, x, y)}{draw(self, x, y)}}]{\setlength{\rightskip}{0pt plus 5cm}def Snake.\+Snake.\+draw ( +\begin{DoxyParamCaption} +\item[{}]{self, } +\item[{}]{x, } +\item[{}]{y} +\end{DoxyParamCaption} +)}\hypertarget{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}{}\label{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3} + + +Draw method uses pygame to draw the snake object. + + +\begin{DoxyParams}{Parameters} +{\em x} & The x-\/coordinate where the block should be drawn \\ +\hline +{\em y} & The y-\/coordinate where the block should be drawn \\ +\hline +\end{DoxyParams} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\hyperlink{Snake_8py}{Snake.\+py}\end{DoxyCompactItemize} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex new file mode 100644 index 0000000..7c37e07 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex @@ -0,0 +1,112 @@ +\hypertarget{classhighscore_1_1HighScore}{}\section{highscore.\+High\+Score Class Reference} +\label{classhighscore_1_1HighScore}\index{highscore.\+High\+Score@{highscore.\+High\+Score}} + + +A Class that will contain useful functions in order for the creation of highscore page. + + +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +def \hyperlink{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}{runfile} (runfilename) +\begin{DoxyCompactList}\small\item\em A function for running other files. \end{DoxyCompactList}\item +def \hyperlink{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}{text} (text, font\+Style, font\+Size, color, coord, surface) +\begin{DoxyCompactList}\small\item\em A method to display text. \end{DoxyCompactList}\item +def \hyperlink{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}{button} (Surface, color, Rect, width) +\begin{DoxyCompactList}\small\item\em A method to create a button. \end{DoxyCompactList}\item +def \hyperlink{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}{find\+Highscore} () +\begin{DoxyCompactList}\small\item\em Finds the highest score from the file. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +A Class that will contain useful functions in order for the creation of highscore page. + +\subsection{Member Function Documentation} +\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!button@{button}} +\index{button@{button}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}} +\subsubsection[{\texorpdfstring{button(\+Surface, color, Rect, width)}{button(Surface, color, Rect, width)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+button ( +\begin{DoxyParamCaption} +\item[{}]{Surface, } +\item[{}]{color, } +\item[{}]{Rect, } +\item[{}]{width} +\end{DoxyParamCaption} +)}\hypertarget{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}{}\label{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604} + + +A method to create a button. + +This method will make a box on the interface +\begin{DoxyParams}{Parameters} +{\em surface} & The background (surface) the box should be made on \\ +\hline +{\em color} & The color of the button to be made \\ +\hline +{\em Rect} & The coordinate of the button with the length and width \\ +\hline +{\em width} & The width of the sides of button \\ +\hline +\end{DoxyParams} +\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!find\+Highscore@{find\+Highscore}} +\index{find\+Highscore@{find\+Highscore}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}} +\subsubsection[{\texorpdfstring{find\+Highscore()}{findHighscore()}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+find\+Highscore ( +\begin{DoxyParamCaption} +{} +\end{DoxyParamCaption} +)}\hypertarget{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}{}\label{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88} + + +Finds the highest score from the file. + +This writes the input from the file in an array and find the max number from it \index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!runfile@{runfile}} +\index{runfile@{runfile}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}} +\subsubsection[{\texorpdfstring{runfile(runfilename)}{runfile(runfilename)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+runfile ( +\begin{DoxyParamCaption} +\item[{}]{runfilename} +\end{DoxyParamCaption} +)}\hypertarget{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}{}\label{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72} + + +A function for running other files. + +Executes another python file when this is selected, Given that the file is in same folder. +\begin{DoxyParams}{Parameters} +{\em runfilename} & The name of the file to be executed \\ +\hline +\end{DoxyParams} +\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!text@{text}} +\index{text@{text}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}} +\subsubsection[{\texorpdfstring{text(text, font\+Style, font\+Size, color, coord, surface)}{text(text, fontStyle, fontSize, color, coord, surface)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+text ( +\begin{DoxyParamCaption} +\item[{}]{text, } +\item[{}]{font\+Style, } +\item[{}]{font\+Size, } +\item[{}]{color, } +\item[{}]{coord, } +\item[{}]{surface} +\end{DoxyParamCaption} +)}\hypertarget{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}{}\label{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650} + + +A method to display text. + +This function will print the text on the interface +\begin{DoxyParams}{Parameters} +{\em text} & The text to be printed \\ +\hline +{\em font\+Style} & The font Style of the text to be displayed \\ +\hline +{\em font\+Size} & The size of the text written \\ +\hline +{\em color} & The color of the text \\ +\hline +{\em coord} & The coordinate at which the text should start displaying \\ +\hline +{\em surface} & The background (surface) the text should be printed on \\ +\hline +\end{DoxyParams} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\hyperlink{highscore_8py}{highscore.\+py}\end{DoxyCompactItemize} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty b/BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty new file mode 100644 index 0000000..3f21871 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty @@ -0,0 +1,477 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} + +% Packages used by this style file +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{calc} +\RequirePackage{float} +\RequirePackage{ifthen} +\RequirePackage{verbatim} +\RequirePackage[table]{xcolor} +\RequirePackage{longtable} +\RequirePackage{tabu} +\RequirePackage{tabularx} +\RequirePackage{multirow} + +%---------- Internal commands used in this style file ---------------- + +\newcommand{\ensurespace}[1]{% + \begingroup% + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@% + \penalty -100\vskip\z@\@plus -\dimen@% + \vskip\dimen@% + \penalty 9999% + \vskip -\dimen@% + \vskip\z@skip% hide the previous |\vskip| from |\addvspace| + \endgroup% +} + +\newcommand{\DoxyLabelFont}{} +\newcommand{\entrylabel}[1]{% + {% + \parbox[b]{\labelwidth-4pt}{% + \makebox[0pt][l]{\DoxyLabelFont#1}% + \vspace{1.5\baselineskip}% + }% + }% +} + +\newenvironment{DoxyDesc}[1]{% + \ensurespace{4\baselineskip}% + \begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +\newsavebox{\xrefbox} +\newlength{\xreflength} +\newcommand{\xreflabel}[1]{% + \sbox{\xrefbox}{#1}% + \setlength{\xreflength}{\wd\xrefbox}% + \ifthenelse{\xreflength>\labelwidth}{% + \begin{minipage}{\textwidth}% + \setlength{\parindent}{0pt}% + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% + \end{minipage}% + }{% + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% + }% +} + +%---------- Commands used by doxygen LaTeX output generator ---------- + +% Used by <pre> ... </pre> +\newenvironment{DoxyPre}{% + \small% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @code ... @endcode +\newenvironment{DoxyCode}{% + \par% + \scriptsize% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @example, @include, @includelineno and @dontinclude +\newenvironment{DoxyCodeInclude}{% + \DoxyCode% +}{% + \endDoxyCode% +} + +% Used by @verbatim ... @endverbatim +\newenvironment{DoxyVerb}{% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @verbinclude +\newenvironment{DoxyVerbInclude}{% + \DoxyVerb% +}{% + \endDoxyVerb% +} + +% Used by numbered lists (using '-#' or <ol> ... </ol>) +\newenvironment{DoxyEnumerate}{% + \enumerate% +}{% + \endenumerate% +} + +% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>) +\newenvironment{DoxyItemize}{% + \itemize% +}{% + \enditemize% +} + +% Used by description lists (using <dl> ... </dl>) +\newenvironment{DoxyDescription}{% + \description% +}{% + \enddescription% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if caption is specified) +\newenvironment{DoxyImage}{% + \begin{figure}[H]% + \begin{center}% +}{% + \end{center}% + \end{figure}% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if no caption is specified) +\newenvironment{DoxyImageNoCaption}{% + \begin{center}% +}{% + \end{center}% +} + +% Used by @attention +\newenvironment{DoxyAttention}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @author and @authors +\newenvironment{DoxyAuthor}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @date +\newenvironment{DoxyDate}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @invariant +\newenvironment{DoxyInvariant}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @note +\newenvironment{DoxyNote}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @post +\newenvironment{DoxyPostcond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @pre +\newenvironment{DoxyPrecond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @copyright +\newenvironment{DoxyCopyright}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @remark +\newenvironment{DoxyRemark}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @return and @returns +\newenvironment{DoxyReturn}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @since +\newenvironment{DoxySince}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @see +\newenvironment{DoxySeeAlso}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @version +\newenvironment{DoxyVersion}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @warning +\newenvironment{DoxyWarning}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @internal +\newenvironment{DoxyInternal}[1]{% + \paragraph*{#1}% +}{% +} + +% Used by @par and @paragraph +\newenvironment{DoxyParagraph}[1]{% + \begin{list}{}{% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{-4pt}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +% Used by parameter lists +\newenvironment{DoxyParams}[2][]{% + \tabulinesep=1mm% + \par% + \ifthenelse{\equal{#1}{}}% + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description + {\ifthenelse{\equal{#1}{1}}% + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc + } + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for fields of simple structs +\newenvironment{DoxyFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for parameters within a detailed function description +\newenvironment{DoxyParamCaption}{% + \renewcommand{\item}[2][]{##1 {\em ##2}}% +}{% +} + +% Used by return value lists +\newenvironment{DoxyRetVals}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used by exception lists +\newenvironment{DoxyExceptions}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used by template parameter lists +\newenvironment{DoxyTemplParams}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for member lists +\newenvironment{DoxyCompactItemize}{% + \begin{itemize}% + \setlength{\itemsep}{-3pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% +}{% + \end{itemize}% +} + +% Used for member descriptions +\newenvironment{DoxyCompactList}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \renewcommand{\makelabel}{\hfill}% + }% +}{% + \end{list}% +} + +% Used for reference lists (@bug, @deprecated, @todo, etc.) +\newenvironment{DoxyRefList}{% + \begin{list}{}{% + \setlength{\labelwidth}{10pt}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}% + \renewcommand{\makelabel}{\xreflabel}% + }% +}{% + \end{list}% +} + +% Used by @bug, @deprecated, @todo, etc. +\newenvironment{DoxyRefDesc}[1]{% + \begin{list}{}{% + \renewcommand\makelabel[1]{\textbf{##1}}% + \settowidth\labelwidth{\makelabel{#1}}% + \setlength\leftmargin{\labelwidth+\labelsep}% + }% +}{% + \end{list}% +} + +% Used by parameter lists and simple sections +\newenvironment{Desc} +{\begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + } +}{% + \end{list}% +} + +% Used by tables +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% +\newenvironment{TabularC}[1]% +{\tabulinesep=1mm +\begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}% +{\end{longtabu}\par}% + +\newenvironment{TabularNC}[1]% +{\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}% +{\end{tabu}\par}% + +% Used for member group headers +\newenvironment{Indent}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + }% + \item[]\ignorespaces% +}{% + \unskip% + \end{list}% +} + +% Used when hyperlinks are turned off +\newcommand{\doxyref}[3]{% + \textbf{#1} (\textnormal{#2}\,\pageref{#3})% +} + +% Used to link to a table when hyperlinks are turned on +\newcommand{\doxytablelink}[2]{% + \ref{#1}% +} + +% Used to link to a table when hyperlinks are turned off +\newcommand{\doxytableref}[3]{% + \ref{#3}% +} + +% Used by @addindex +\newcommand{\lcurly}{\{} +\newcommand{\rcurly}{\}} + +% Colors used for syntax highlighting +\definecolor{comment}{rgb}{0.5,0.0,0.0} +\definecolor{keyword}{rgb}{0.0,0.5,0.0} +\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} +\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} +\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} +\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} +\definecolor{charliteral}{rgb}{0.0,0.5,0.5} +\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} +\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} +\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} +\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} + +% Color used for table heading +\newcommand{\tableheadbgcolor}{lightgray}% diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/files.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/files.tex new file mode 100644 index 0000000..9543cff --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/files.tex @@ -0,0 +1,6 @@ +\section{File List} +Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\hyperlink{Food_8py}{Food.\+py} \\*Implements an abstract data type for a snake\textquotesingle{}s food }{\pageref{Food_8py}}{} +\item\contentsline{section}{\hyperlink{highscore_8py}{highscore.\+py} \\*Implements the highscore interface }{\pageref{highscore_8py}}{} +\item\contentsline{section}{\hyperlink{Snake_8py}{Snake.\+py} \\*Implements an abstract data type for a snake }{\pageref{Snake_8py}}{} +\end{DoxyCompactList} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex new file mode 100644 index 0000000..d36f4bf --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex @@ -0,0 +1,43 @@ +\hypertarget{highscore_8py}{}\section{highscore.\+py File Reference} +\label{highscore_8py}\index{highscore.\+py@{highscore.\+py}} + + +implements the highscore interface + + +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{classhighscore_1_1HighScore}{highscore.\+High\+Score} +\begin{DoxyCompactList}\small\item\em A Class that will contain useful functions in order for the creation of highscore page. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Functions} +\begin{DoxyCompactItemize} +\item +def \hyperlink{highscore_8py_a24956ded9e2477e6e67122f930ba18f2}{highscore.\+main} () +\begin{DoxyCompactList}\small\item\em Makes the highscore interface. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +implements the highscore interface + +\begin{DoxyAuthor}{Author} +Vaibhav Chadha +\end{DoxyAuthor} +\begin{DoxyDate}{Date} +11/09/2018 +\end{DoxyDate} + + +\subsection{Function Documentation} +\index{highscore.\+py@{highscore.\+py}!main@{main}} +\index{main@{main}!highscore.\+py@{highscore.\+py}} +\subsubsection[{\texorpdfstring{main()}{main()}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+main ( +\begin{DoxyParamCaption} +{} +\end{DoxyParamCaption} +)}\hypertarget{highscore_8py_file_a24956ded9e2477e6e67122f930ba18f2}{}\label{highscore_8py_file_a24956ded9e2477e6e67122f930ba18f2} + + +Makes the highscore interface. + +This will output the final interface using the class above which can be seen by executing this function. \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex new file mode 100644 index 0000000..d31d831 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex @@ -0,0 +1 @@ +Use doxygen (or equivalent) to document the interface for your modules. \ No newline at end of file diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx new file mode 100644 index 0000000..49fb737 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx @@ -0,0 +1,33 @@ +\indexentry{Food.\+Food@{Food.\+Food}|hyperpage}{7} +\indexentry{Food\+::\+Food@{Food\+::\+Food}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}|hyperpage}{7} +\indexentry{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{7} +\indexentry{Food\+::\+Food@{Food\+::\+Food}!draw\+\_\+food@{draw\+\_\+food}|hyperpage}{8} +\indexentry{draw\+\_\+food@{draw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{8} +\indexentry{Food\+::\+Food@{Food\+::\+Food}!redraw\+\_\+food@{redraw\+\_\+food}|hyperpage}{8} +\indexentry{redraw\+\_\+food@{redraw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{8} +\indexentry{Interface.\+G\+UI@{Interface.\+G\+UI}|hyperpage}{8} +\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!button@{button}|hyperpage}{9} +\indexentry{button@{button}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9} +\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!runfile@{runfile}|hyperpage}{9} +\indexentry{runfile@{runfile}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9} +\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!text@{text}|hyperpage}{9} +\indexentry{text@{text}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9} +\indexentry{highscore.\+High\+Score@{highscore.\+High\+Score}|hyperpage}{10} +\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!button@{button}|hyperpage}{10} +\indexentry{button@{button}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10} +\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!find\+Highscore@{find\+Highscore}|hyperpage}{10} +\indexentry{find\+Highscore@{find\+Highscore}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10} +\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!runfile@{runfile}|hyperpage}{10} +\indexentry{runfile@{runfile}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10} +\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!text@{text}|hyperpage}{11} +\indexentry{text@{text}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{11} +\indexentry{Snake.\+Snake@{Snake.\+Snake}|hyperpage}{11} +\indexentry{Snake\+::\+Snake@{Snake\+::\+Snake}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}|hyperpage}{12} +\indexentry{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Snake\+::\+Snake@{Snake\+::\+Snake}|hyperpage}{12} +\indexentry{Snake\+::\+Snake@{Snake\+::\+Snake}!draw@{draw}|hyperpage}{12} +\indexentry{draw@{draw}!Snake\+::\+Snake@{Snake\+::\+Snake}|hyperpage}{12} +\indexentry{Food.\+py@{Food.\+py}|hyperpage}{13} +\indexentry{highscore.\+py@{highscore.\+py}|hyperpage}{13} +\indexentry{highscore.\+py@{highscore.\+py}!main@{main}|hyperpage}{14} +\indexentry{main@{main}!highscore.\+py@{highscore.\+py}|hyperpage}{14} +\indexentry{Snake.\+py@{Snake.\+py}|hyperpage}{14} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg new file mode 100644 index 0000000..3e54b19 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg @@ -0,0 +1,6 @@ +This is makeindex, version 2.15 [TeX Live 2015] (kpathsea + Thai support). +Scanning input file refman.idx....done (33 entries accepted, 0 rejected). +Sorting entries....done (176 comparisons). +Generating output file refman.ind....done (77 lines written, 0 warnings). +Output written in refman.ind. +Transcript written in refman.ilg. diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind new file mode 100644 index 0000000..4a805be --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind @@ -0,0 +1,77 @@ +\begin{theindex} + + \item {\+\_\+\+\_\+init\+\_\+\+\_\+} + \subitem {Food\+::\+Food}, \hyperpage{7} + \subitem {Snake\+::\+Snake}, \hyperpage{12} + + \indexspace + + \item {button} + \subitem {highscore\+::\+High\+Score}, \hyperpage{10} + \subitem {Interface\+::\+G\+UI}, \hyperpage{9} + + \indexspace + + \item {draw} + \subitem {Snake\+::\+Snake}, \hyperpage{12} + \item {draw\+\_\+food} + \subitem {Food\+::\+Food}, \hyperpage{8} + + \indexspace + + \item {find\+Highscore} + \subitem {highscore\+::\+High\+Score}, \hyperpage{10} + \item {Food.\+Food}, \hyperpage{7} + \item {Food.\+py}, \hyperpage{13} + \item {Food\+::\+Food} + \subitem {\+\_\+\+\_\+init\+\_\+\+\_\+}, \hyperpage{7} + \subitem {draw\+\_\+food}, \hyperpage{8} + \subitem {redraw\+\_\+food}, \hyperpage{8} + + \indexspace + + \item {highscore.\+High\+Score}, \hyperpage{10} + \item {highscore.\+py}, \hyperpage{13} + \subitem {main}, \hyperpage{14} + \item {highscore\+::\+High\+Score} + \subitem {button}, \hyperpage{10} + \subitem {find\+Highscore}, \hyperpage{10} + \subitem {runfile}, \hyperpage{10} + \subitem {text}, \hyperpage{11} + + \indexspace + + \item {Interface.\+G\+UI}, \hyperpage{8} + \item {Interface\+::\+G\+UI} + \subitem {button}, \hyperpage{9} + \subitem {runfile}, \hyperpage{9} + \subitem {text}, \hyperpage{9} + + \indexspace + + \item {main} + \subitem {highscore.\+py}, \hyperpage{14} + + \indexspace + + \item {redraw\+\_\+food} + \subitem {Food\+::\+Food}, \hyperpage{8} + \item {runfile} + \subitem {highscore\+::\+High\+Score}, \hyperpage{10} + \subitem {Interface\+::\+G\+UI}, \hyperpage{9} + + \indexspace + + \item {Snake.\+py}, \hyperpage{14} + \item {Snake.\+Snake}, \hyperpage{11} + \item {Snake\+::\+Snake} + \subitem {\+\_\+\+\_\+init\+\_\+\+\_\+}, \hyperpage{12} + \subitem {draw}, \hyperpage{12} + + \indexspace + + \item {text} + \subitem {highscore\+::\+High\+Score}, \hyperpage{11} + \subitem {Interface\+::\+G\+UI}, \hyperpage{9} + +\end{theindex} diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.pdf b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7690de2f8fdb93b71fbdb991cc37666527bad7bc GIT binary patch literal 75347 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 literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex new file mode 100644 index 0000000..f458fdc --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex @@ -0,0 +1,167 @@ +\documentclass[twoside]{book} + +% Packages required by doxygen +\usepackage{fixltx2e} +\usepackage{calc} +\usepackage{doxygen} +\usepackage[export]{adjustbox} % also loads graphicx +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage{makeidx} +\usepackage{multicol} +\usepackage{multirow} +\PassOptionsToPackage{warn}{textcomp} +\usepackage{textcomp} +\usepackage[nointegrals]{wasysym} +\usepackage[table]{xcolor} + +% Font selection +\usepackage[T1]{fontenc} +\usepackage[scaled=.90]{helvet} +\usepackage{courier} +\usepackage{amssymb} +\usepackage{sectsty} +\renewcommand{\familydefault}{\sfdefault} +\allsectionsfont{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\renewcommand{\DoxyLabelFont}{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} + +% Page & text layout +\usepackage{geometry} +\geometry{% + a4paper,% + top=2.5cm,% + bottom=2.5cm,% + left=2.5cm,% + right=2.5cm% +} +\tolerance=750 +\hfuzz=15pt +\hbadness=750 +\setlength{\emergencystretch}{15pt} +\setlength{\parindent}{0cm} +\setlength{\parskip}{3ex plus 2ex minus 2ex} +\makeatletter +\renewcommand{\paragraph}{% + \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@parafont% + }% +} +\renewcommand{\subparagraph}{% + \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@subparafont% + }% +} +\makeatother + +% Headers & footers +\usepackage{fancyhdr} +\pagestyle{fancyplain} +\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} +\fancyhead[CE]{\fancyplain{}{}} +\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} +\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} +\fancyhead[CO]{\fancyplain{}{}} +\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} +\fancyfoot[LE]{\fancyplain{}{}} +\fancyfoot[CE]{\fancyplain{}{}} +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} +\fancyfoot[CO]{\fancyplain{}{}} +\fancyfoot[RO]{\fancyplain{}{}} +\renewcommand{\footrulewidth}{0.4pt} +\renewcommand{\chaptermark}[1]{% + \markboth{#1}{}% +} +\renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}% +} + +% Indices & bibliography +\usepackage{natbib} +\usepackage[titles]{tocloft} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{5} +\makeindex + +% Hyperlinks (required, but should be loaded last) +\usepackage{ifpdf} +\ifpdf + \usepackage[pdftex,pagebackref=true]{hyperref} +\else + \usepackage[ps2pdf,pagebackref=true]{hyperref} +\fi +\hypersetup{% + colorlinks=true,% + linkcolor=blue,% + citecolor=blue,% + unicode% +} + +% Custom commands +\newcommand{\clearemptydoublepage}{% + \newpage{\pagestyle{empty}\cleardoublepage}% +} + +\usepackage{caption} +\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} + +%===== C O N T E N T S ===== + +\begin{document} + +% Titlepage & ToC +\hypersetup{pageanchor=false, + bookmarksnumbered=true, + pdfencoding=unicode + } +\pagenumbering{roman} +\begin{titlepage} +\vspace*{7cm} +\begin{center}% +{\Large Snake }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.8.11}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\hypersetup{pageanchor=true} + +%--- Begin generated contents --- +\chapter{Module Interface Specification} +\label{md_README} +\hypertarget{md_README}{} +\input{md_README} +\chapter{Class Index} +\input{annotated} +\chapter{File Index} +\input{files} +\chapter{Class Documentation} +\input{classFood_1_1Food} +\input{classInterface_1_1GUI} +\input{classhighscore_1_1HighScore} +\input{classSnake_1_1Snake} +\chapter{File Documentation} +\input{Food_8py} +\input{highscore_8py} +\input{Snake_8py} +%--- End generated contents --- + +% Index +\backmatter +\newpage +\phantomsection +\clearemptydoublepage +\addcontentsline{toc}{chapter}{Index} +\printindex + +\end{document} -- GitLab