From e4ae146716b639a6a1aa8df86b0e248b7bb88491 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 24 Sep 2021 12:50:07 +0900 Subject: [PATCH] updated doc --- docs/Doxyfile | 358 ++++++---- docs/doxygen-awesome-css | 2 +- docs/html/annotated.html | 23 +- docs/html/classes.html | 67 +- docs/html/classtvg_1_1Canvas-members.html | 17 +- docs/html/classtvg_1_1Canvas.html | 88 +-- .../classtvg_1_1Canvas__inherit__graph.map | 5 +- .../classtvg_1_1Canvas__inherit__graph.md5 | 2 +- .../classtvg_1_1Canvas__inherit__graph.png | Bin 4474 -> 4173 bytes docs/html/classtvg_1_1Fill-members.html | 15 +- docs/html/classtvg_1_1Fill.html | 176 ++--- .../html/classtvg_1_1Fill__inherit__graph.map | 5 +- .../html/classtvg_1_1Fill__inherit__graph.md5 | 2 +- .../html/classtvg_1_1Fill__inherit__graph.png | Bin 3709 -> 3314 bytes docs/html/classtvg_1_1GlCanvas-members.html | 17 +- docs/html/classtvg_1_1GlCanvas.html | 41 +- .../classtvg_1_1GlCanvas__inherit__graph.map | 3 +- .../classtvg_1_1GlCanvas__inherit__graph.md5 | 2 +- .../classtvg_1_1GlCanvas__inherit__graph.png | Bin 2882 -> 2624 bytes .../html/classtvg_1_1Initializer-members.html | 15 +- docs/html/classtvg_1_1Initializer.html | 51 +- .../classtvg_1_1LinearGradient-members.html | 15 +- docs/html/classtvg_1_1LinearGradient.html | 162 +++-- ...stvg_1_1LinearGradient__inherit__graph.map | 3 +- ...stvg_1_1LinearGradient__inherit__graph.md5 | 2 +- ...stvg_1_1LinearGradient__inherit__graph.png | Bin 1989 -> 1810 bytes docs/html/classtvg_1_1Paint-members.html | 38 +- docs/html/classtvg_1_1Paint.html | 346 +++++---- .../classtvg_1_1Paint__inherit__graph.map | 7 +- .../classtvg_1_1Paint__inherit__graph.md5 | 2 +- .../classtvg_1_1Paint__inherit__graph.png | Bin 4609 -> 4512 bytes docs/html/classtvg_1_1Picture-members.html | 41 +- docs/html/classtvg_1_1Picture.html | 252 +++---- .../classtvg_1_1Picture__inherit__graph.map | 3 +- .../classtvg_1_1Picture__inherit__graph.md5 | 2 +- .../classtvg_1_1Picture__inherit__graph.png | Bin 1762 -> 1620 bytes .../classtvg_1_1RadialGradient-members.html | 15 +- docs/html/classtvg_1_1RadialGradient.html | 146 ++-- ...stvg_1_1RadialGradient__inherit__graph.map | 3 +- ...stvg_1_1RadialGradient__inherit__graph.md5 | 2 +- ...stvg_1_1RadialGradient__inherit__graph.png | Bin 2259 -> 1905 bytes docs/html/classtvg_1_1Saver-members.html | 17 +- docs/html/classtvg_1_1Saver.html | 71 +- docs/html/classtvg_1_1Scene-members.html | 46 +- docs/html/classtvg_1_1Scene.html | 55 +- .../classtvg_1_1Scene__inherit__graph.map | 3 +- .../classtvg_1_1Scene__inherit__graph.md5 | 2 +- .../classtvg_1_1Scene__inherit__graph.png | Bin 1798 -> 1666 bytes docs/html/classtvg_1_1Shape-members.html | 90 +-- docs/html/classtvg_1_1Shape.html | 673 +++++++++--------- .../classtvg_1_1Shape__inherit__graph.map | 3 +- .../classtvg_1_1Shape__inherit__graph.md5 | 2 +- .../classtvg_1_1Shape__inherit__graph.png | Bin 1935 -> 1828 bytes docs/html/classtvg_1_1SwCanvas-members.html | 17 +- docs/html/classtvg_1_1SwCanvas.html | 62 +- .../classtvg_1_1SwCanvas__inherit__graph.map | 3 +- .../classtvg_1_1SwCanvas__inherit__graph.md5 | 2 +- .../classtvg_1_1SwCanvas__inherit__graph.png | Bin 2769 -> 2508 bytes .../dir_bfccd401955b95cf8c75461437045ac0.html | 15 +- docs/html/doxygen-awesome.css | 4 + docs/html/doxygen.css | 303 ++++++-- docs/html/dynsections.js | 27 +- docs/html/functions.html | 24 +- docs/html/functions_enum.html | 15 +- docs/html/functions_eval.html | 15 +- docs/html/functions_func.html | 24 +- docs/html/functions_vars.html | 15 +- docs/html/graph_legend.html | 56 +- docs/html/graph_legend.md5 | 2 +- docs/html/graph_legend.png | Bin 19465 -> 19431 bytes docs/html/group__ThorVG.html | 55 +- docs/html/hierarchy.html | 23 +- docs/html/index.html | 27 +- docs/html/inherit_graph_0.map | 6 +- docs/html/inherit_graph_0.md5 | 2 +- docs/html/inherit_graph_0.png | Bin 3370 -> 3428 bytes docs/html/inherit_graph_1.map | 6 +- docs/html/inherit_graph_1.md5 | 2 +- docs/html/inherit_graph_1.png | Bin 2941 -> 3645 bytes docs/html/inherit_graph_2.map | 2 +- docs/html/inherit_graph_2.md5 | 2 +- docs/html/inherit_graph_2.png | Bin 1144 -> 1078 bytes docs/html/inherit_graph_3.map | 2 +- docs/html/inherit_graph_3.md5 | 2 +- docs/html/inherit_graph_3.png | Bin 834 -> 798 bytes docs/html/inherit_graph_4.map | 2 +- docs/html/inherit_graph_4.md5 | 2 +- docs/html/inherit_graph_4.png | Bin 856 -> 815 bytes docs/html/inherit_graph_5.map | 8 +- docs/html/inherit_graph_5.md5 | 2 +- docs/html/inherit_graph_5.png | Bin 5438 -> 5029 bytes docs/html/inherit_graph_6.map | 2 +- docs/html/inherit_graph_6.md5 | 2 +- docs/html/inherit_graph_6.png | Bin 739 -> 599 bytes docs/html/inherit_graph_7.map | 2 +- docs/html/inherit_graph_7.md5 | 2 +- docs/html/inherit_graph_7.png | Bin 1007 -> 845 bytes docs/html/inherits.html | 61 +- docs/html/jquery.js | 94 +-- docs/html/menu.js | 26 +- docs/html/menudata.js | 22 + docs/html/modules.html | 15 +- docs/html/search/all_0.html | 8 +- docs/html/search/all_0.js | 16 +- docs/html/search/all_1.html | 8 +- docs/html/search/all_1.js | 8 +- docs/html/search/all_10.html | 8 +- docs/html/search/all_10.js | 4 +- docs/html/search/all_11.html | 8 +- docs/html/search/all_11.js | 2 +- docs/html/search/all_12.html | 8 +- docs/html/search/all_12.js | 2 +- docs/html/search/all_2.html | 8 +- docs/html/search/all_2.js | 22 +- docs/html/search/all_3.html | 8 +- docs/html/search/all_3.js | 8 +- docs/html/search/all_4.html | 8 +- docs/html/search/all_4.js | 2 +- docs/html/search/all_5.html | 8 +- docs/html/search/all_5.js | 10 +- docs/html/search/all_6.html | 8 +- docs/html/search/all_6.js | 8 +- docs/html/search/all_7.html | 8 +- docs/html/search/all_7.js | 12 +- docs/html/search/all_8.html | 8 +- docs/html/search/all_8.js | 8 +- docs/html/search/all_9.html | 8 +- docs/html/search/all_9.js | 12 +- docs/html/search/all_a.html | 8 +- docs/html/search/all_a.js | 4 +- docs/html/search/all_b.html | 8 +- docs/html/search/all_b.js | 4 +- docs/html/search/all_c.html | 8 +- docs/html/search/all_c.js | 16 +- docs/html/search/all_d.html | 8 +- docs/html/search/all_d.js | 20 +- docs/html/search/all_e.html | 8 +- docs/html/search/all_e.js | 40 +- docs/html/search/all_f.html | 8 +- docs/html/search/all_f.js | 12 +- docs/html/search/classes_0.html | 8 +- docs/html/search/classes_0.js | 4 +- docs/html/search/classes_1.html | 8 +- docs/html/search/classes_1.js | 2 +- docs/html/search/classes_2.html | 8 +- docs/html/search/classes_2.js | 2 +- docs/html/search/classes_3.html | 8 +- docs/html/search/classes_3.js | 2 +- docs/html/search/classes_4.html | 8 +- docs/html/search/classes_4.js | 2 +- docs/html/search/classes_5.html | 8 +- docs/html/search/classes_5.js | 2 +- docs/html/search/classes_6.html | 8 +- docs/html/search/classes_6.js | 6 +- docs/html/search/classes_7.html | 8 +- docs/html/search/classes_7.js | 2 +- docs/html/search/classes_8.html | 8 +- docs/html/search/classes_8.js | 8 +- docs/html/search/enums_0.html | 8 +- docs/html/search/enums_0.js | 6 +- docs/html/search/enums_1.html | 8 +- docs/html/search/enums_1.js | 4 +- docs/html/search/enums_2.html | 8 +- docs/html/search/enums_2.js | 2 +- docs/html/search/enums_3.html | 8 +- docs/html/search/enums_3.js | 2 +- docs/html/search/enums_4.html | 8 +- docs/html/search/enums_4.js | 2 +- docs/html/search/enums_5.html | 8 +- docs/html/search/enums_5.js | 4 +- docs/html/search/enumvalues_0.html | 8 +- docs/html/search/enumvalues_0.js | 6 +- docs/html/search/enumvalues_1.html | 8 +- docs/html/search/enumvalues_1.js | 4 +- docs/html/search/enumvalues_2.html | 8 +- docs/html/search/enumvalues_2.js | 6 +- docs/html/search/enumvalues_3.html | 8 +- docs/html/search/enumvalues_3.js | 2 +- docs/html/search/enumvalues_4.html | 8 +- docs/html/search/enumvalues_4.js | 2 +- docs/html/search/enumvalues_5.html | 8 +- docs/html/search/enumvalues_5.js | 2 +- docs/html/search/enumvalues_6.html | 8 +- docs/html/search/enumvalues_6.js | 2 +- docs/html/search/enumvalues_7.html | 8 +- docs/html/search/enumvalues_7.js | 8 +- docs/html/search/enumvalues_8.html | 8 +- docs/html/search/enumvalues_8.js | 2 +- docs/html/search/enumvalues_9.html | 8 +- docs/html/search/enumvalues_9.js | 6 +- docs/html/search/enumvalues_a.html | 8 +- docs/html/search/enumvalues_a.js | 4 +- docs/html/search/enumvalues_b.html | 8 +- docs/html/search/enumvalues_b.js | 2 +- docs/html/search/enumvalues_c.html | 8 +- docs/html/search/enumvalues_c.js | 6 +- docs/html/search/enumvalues_d.html | 8 +- docs/html/search/enumvalues_d.js | 8 +- docs/html/search/enumvalues_e.html | 8 +- docs/html/search/enumvalues_e.js | 2 +- docs/html/search/enumvalues_f.html | 8 +- docs/html/search/enumvalues_f.js | 2 +- docs/html/search/functions_0.html | 8 +- docs/html/search/functions_0.js | 8 +- docs/html/search/functions_1.html | 8 +- docs/html/search/functions_1.js | 2 +- docs/html/search/functions_2.html | 8 +- docs/html/search/functions_2.js | 10 +- docs/html/search/functions_3.html | 8 +- docs/html/search/functions_3.js | 6 +- docs/html/search/functions_4.html | 8 +- docs/html/search/functions_4.js | 6 +- docs/html/search/functions_5.html | 8 +- docs/html/search/functions_5.js | 2 +- docs/html/search/functions_6.html | 8 +- docs/html/search/functions_6.js | 2 +- docs/html/search/functions_7.html | 8 +- docs/html/search/functions_7.js | 6 +- docs/html/search/functions_8.html | 8 +- docs/html/search/functions_8.js | 4 +- docs/html/search/functions_9.html | 8 +- docs/html/search/functions_9.js | 2 +- docs/html/search/functions_a.html | 8 +- docs/html/search/functions_a.js | 7 +- docs/html/search/functions_b.html | 8 +- docs/html/search/functions_b.js | 8 +- docs/html/search/functions_c.html | 8 +- docs/html/search/functions_c.js | 24 +- docs/html/search/functions_d.html | 8 +- docs/html/search/functions_d.js | 8 +- docs/html/search/functions_e.html | 8 +- docs/html/search/functions_e.js | 2 +- docs/html/search/functions_f.html | 8 +- docs/html/search/functions_f.js | 2 +- docs/html/search/groups_0.html | 8 +- docs/html/search/groups_0.js | 2 +- docs/html/search/mag_sel.png | Bin 563 -> 465 bytes docs/html/search/nomatches.html | 2 +- docs/html/search/pages_0.html | 8 +- docs/html/search/pages_0.js | 2 +- docs/html/search/search.js | 25 +- docs/html/search/search_l.png | Bin 604 -> 567 bytes docs/html/search/search_r.png | Bin 612 -> 553 bytes docs/html/search/variables_0.html | 8 +- docs/html/search/variables_0.js | 2 +- docs/html/search/variables_1.html | 8 +- docs/html/search/variables_1.js | 2 +- docs/html/search/variables_2.html | 8 +- docs/html/search/variables_2.js | 2 +- docs/html/search/variables_3.html | 8 +- docs/html/search/variables_3.js | 2 +- docs/html/search/variables_4.html | 8 +- docs/html/search/variables_4.js | 2 +- ...tructtvg_1_1Fill_1_1ColorStop-members.html | 15 +- docs/html/structtvg_1_1Fill_1_1ColorStop.html | 15 +- docs/html/structtvg_1_1Matrix-members.html | 18 +- docs/html/structtvg_1_1Matrix.html | 15 +- docs/html/structtvg_1_1Point-members.html | 18 +- docs/html/structtvg_1_1Point.html | 15 +- docs/html/tabs.css | 2 +- docs/html/thorvg_8h_source.html | 568 +++++++++++++-- 261 files changed, 3431 insertions(+), 2126 deletions(-) diff --git a/docs/Doxyfile b/docs/Doxyfile index c37c584b..b8c5ea57 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.8.13 +# Doxyfile 1.8.17 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -17,11 +17,11 @@ # 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. +# This tag specifies the encoding used for all characters in the configuration +# 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 +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 @@ -38,13 +38,13 @@ PROJECT_NAME = ThorVG # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = v0.4 +PROJECT_NUMBER = v0.5 # 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 = +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 @@ -58,7 +58,7 @@ PROJECT_LOGO = /home/hermet/Projects/thorvg/res/small_logo.svg # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = +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 @@ -93,6 +93,14 @@ ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English +# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all generated output in the proper direction. +# Possible values are: None, LTR, RTL and Context. +# The default value is: None. + +OUTPUT_TEXT_DIRECTION = None + # 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. @@ -162,7 +170,7 @@ FULL_PATH_NAMES = YES # 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 = +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 @@ -171,7 +179,7 @@ STRIP_FROM_PATH = # specify the list of include paths that are normally passed to the compiler # using the -I flag. -STRIP_FROM_INC_PATH = +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 @@ -189,6 +197,16 @@ SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO +# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# such as +# /*************** +# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +# Javadoc-style will behave just like regular comments and it will not be +# interpreted by doxygen. +# The default value is: NO. + +JAVADOC_BANNER = 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 @@ -236,15 +254,20 @@ TAB_SIZE = 4 # 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. +# newlines (in the resulting output). You can put ^^ in the value part of an +# alias to insert a newline as if a physical newline was in the original file. +# When you need a literal { or } or , in the value part of an alias you have to +# escape them by means of a backslash (\), this can lead to conflicts with the +# commands \{ and \} for these it is advised to use the version @{ and @} or use +# a double escape (\\{ and \\}) -ALIASES = +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 = +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 @@ -274,28 +297,37 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = 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. +# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, +# 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, tcl. 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 = +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. +# documentation. See https://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. @@ -307,7 +339,7 @@ MARKDOWN_SUPPORT = YES # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 0. +# Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 0 @@ -337,7 +369,7 @@ BUILTIN_STL_SUPPORT = 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 +# https://www.riverbankcomputing.com/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. @@ -443,6 +475,12 @@ EXTRACT_ALL = NO EXTRACT_PRIVATE = NO +# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +# methods of a class will be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIV_VIRTUAL = 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. @@ -497,8 +535,8 @@ HIDE_UNDOC_MEMBERS = YES HIDE_UNDOC_CLASSES = YES # 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. +# declarations. If set to NO, these declarations will be included in the +# documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO @@ -521,7 +559,7 @@ INTERNAL_DOCS = NO # 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. +# (including Cygwin) ands Mac users are advised to set this option to NO. # The default value is: system dependent. CASE_SENSE_NAMES = YES @@ -648,7 +686,7 @@ GENERATE_DEPRECATEDLIST= NO # sections, marked by \if ... \endif and \cond # ... \endcond blocks. -ENABLED_SECTIONS = +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 @@ -690,7 +728,7 @@ SHOW_NAMESPACES = NO # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. -FILE_VERSION_FILTER = +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 @@ -703,17 +741,17 @@ FILE_VERSION_FILTER = # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. -LAYOUT_FILE = +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. +# to be installed. See also https://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 = +CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages @@ -753,7 +791,8 @@ 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. +# parameter documentation, but not about the absence of documentation. If +# EXTRACT_ALL is set to YES then this flag will automatically be disabled. # The default value is: NO. WARN_NO_PARAMDOC = NO @@ -778,7 +817,7 @@ WARN_FORMAT = "$file:$line: $text" # messages should be written. If left blank the output is written to standard # error (stderr). -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files @@ -796,7 +835,7 @@ INPUT = ../inc \ # 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 +# documentation (see: https://www.gnu.org/software/libiconv/) for the list of # possible encodings. # The default value is: UTF-8. @@ -813,8 +852,10 @@ INPUT_ENCODING = UTF-8 # 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, *.f95, *.f03, *.f08, -# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. +# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), +# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen +# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f, *.for, *.tcl, *.vhd, +# *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.c \ *.cc \ @@ -874,7 +915,7 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = +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 @@ -890,7 +931,7 @@ EXCLUDE_SYMLINKS = NO # 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 = +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 @@ -901,13 +942,13 @@ EXCLUDE_PATTERNS = # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* -EXCLUDE_SYMBOLS = +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 = +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 @@ -927,7 +968,7 @@ EXAMPLE_RECURSIVE = NO # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = +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 @@ -948,7 +989,7 @@ IMAGE_PATH = # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. -INPUT_FILTER = +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 @@ -961,7 +1002,7 @@ INPUT_FILTER = # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. -FILTER_PATTERNS = +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 @@ -976,7 +1017,7 @@ FILTER_SOURCE_FILES = NO # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. -FILTER_SOURCE_PATTERNS = +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 @@ -1012,7 +1053,7 @@ INLINE_SOURCES = NO 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. +# entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO @@ -1044,12 +1085,12 @@ 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 +# (see https://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 +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # @@ -1077,7 +1118,7 @@ VERBATIM_HEADERS = YES # 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. +# generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO @@ -1088,7 +1129,17 @@ CLANG_ASSISTED_PARSING = NO # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. -CLANG_OPTIONS = +CLANG_OPTIONS = + +# If clang assisted parsing is enabled you can provide the clang parser with the +# path to the compilation database (see: +# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files +# were built. This is equivalent to specifying the "-p" option to a clang tool, +# such as clang-check. These options will then be passed to the parser. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse_libclang=ON option for CMake. + +CLANG_DATABASE_PATH = #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index @@ -1114,7 +1165,7 @@ COLS_IN_ALPHA_INDEX = 5 # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output @@ -1158,7 +1209,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +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 @@ -1168,7 +1219,7 @@ HTML_HEADER = # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FOOTER = +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 @@ -1180,7 +1231,7 @@ HTML_FOOTER = # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = +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 @@ -1203,12 +1254,12 @@ HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css # 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 = +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 +# https://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. @@ -1244,6 +1295,17 @@ HTML_COLORSTYLE_GAMMA = 80 HTML_TIMESTAMP = NO +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via JavaScript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have JavaScript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = YES + # 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. @@ -1267,13 +1329,13 @@ 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 +# environment (see: https://developer.apple.com/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. +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1312,7 +1374,7 @@ 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 +# (see: https://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 @@ -1332,7 +1394,7 @@ GENERATE_HTMLHELP = NO # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_FILE = +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, @@ -1340,7 +1402,7 @@ CHM_FILE = # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -HHC_LOCATION = +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). @@ -1353,7 +1415,7 @@ GENERATE_CHI = NO # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_INDEX_ENCODING = +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 @@ -1384,11 +1446,11 @@ GENERATE_QHP = NO # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. -QCH_FILE = +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). +# (see: https://doc.qt.io/archives/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. @@ -1396,7 +1458,7 @@ 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 (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- # folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1405,33 +1467,33 @@ 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 (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_NAME = +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 (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_ATTRS = +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). +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_SECT_FILTER_ATTRS = +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 = +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 @@ -1514,7 +1576,7 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# Use the FORMULA_TRANSPARENT 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. # @@ -1525,8 +1587,14 @@ FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES +# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands +# to create new LaTeX commands to be used in formulas as building blocks. See +# the section "Including formulas" for details. + +FORMULA_MACROFILE = + # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering +# https://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 @@ -1553,8 +1621,8 @@ MATHJAX_FORMAT = HTML-CSS # 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. +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest @@ -1564,7 +1632,7 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_EXTENSIONS = +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 @@ -1572,7 +1640,7 @@ MATHJAX_EXTENSIONS = # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_CODEFILE = +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 @@ -1596,7 +1664,7 @@ MATHJAX_CODEFILE = 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 +# 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 @@ -1615,7 +1683,7 @@ SERVER_BASED_SEARCH = NO # # 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/). +# Xapian (see: https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1628,11 +1696,11 @@ EXTERNAL_SEARCH = NO # # 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 +# Xapian (see: https://xapian.org/). See the section "External Indexing and # Searching" for details. # This tag requires that the tag SEARCHENGINE is set to YES. -SEARCHENGINE_URL = +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 @@ -1648,7 +1716,7 @@ SEARCHDATA_FILE = searchdata.xml # projects and redirect the results back to the right project. # This tag requires that the tag SEARCHENGINE is set to YES. -EXTERNAL_SEARCH_ID = +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 @@ -1658,7 +1726,7 @@ EXTERNAL_SEARCH_ID = # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... # This tag requires that the tag SEARCHENGINE is set to YES. -EXTRA_SEARCH_MAPPINGS = +EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # Configuration options related to the LaTeX output @@ -1680,21 +1748,35 @@ 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. +# Note that when not enabling USE_PDFLATEX the default is latex when enabling +# USE_PDFLATEX the default is pdflatex and when in the later case latex is +# chosen this is overwritten by pdflatex. For specific output languages the +# default can have been set differently, this depends on the implementation of +# the output language. # 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. +# Note: This tag is used in the Makefile / make.bat. +# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +# (.tex). # The default file is: makeindex. # This tag requires that the tag GENERATE_LATEX is set to YES. MAKEINDEX_CMD_NAME = makeindex +# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +# generate index for LaTeX. In case there is no backslash (\) as first character +# it will be automatically added in the LaTeX code. +# Note: This tag is used in the generated output file (.tex). +# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +# The default value is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_MAKEINDEX_CMD = 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. @@ -1722,7 +1804,7 @@ PAPER_TYPE = a4 # If left blank no extra packages will be included. # This tag requires that the tag GENERATE_LATEX is set to YES. -EXTRA_PACKAGES = +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 @@ -1738,7 +1820,7 @@ EXTRA_PACKAGES = # to HTML_HEADER. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_HEADER = +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 @@ -1749,7 +1831,7 @@ LATEX_HEADER = # 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 = +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 @@ -1760,7 +1842,7 @@ LATEX_FOOTER = # list). # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_STYLESHEET = +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 @@ -1768,7 +1850,7 @@ LATEX_EXTRA_STYLESHEET = # markers available. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_FILES = +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 @@ -1815,7 +1897,7 @@ 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. +# https://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. @@ -1829,6 +1911,14 @@ LATEX_BIB_STYLE = plain LATEX_TIMESTAMP = NO +# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +# path from which the emoji images will be read. If a relative path is entered, +# it will be relative to the LATEX_OUTPUT directory. If left blank the +# LATEX_OUTPUT directory will be used. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EMOJI_DIRECTORY = + #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1868,22 +1958,22 @@ COMPACT_RTF = NO 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. +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# configuration 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 = +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. +# similar to doxygen's configuration 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 = +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. @@ -1928,7 +2018,7 @@ MAN_EXTENSION = .3 # MAN_EXTENSION with the initial . removed. # This tag requires that the tag GENERATE_MAN is set to YES. -MAN_SUBDIR = +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 @@ -1966,6 +2056,13 @@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# namespace members in file scope as well, matching the HTML output. +# The default value is: NO. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_NS_MEMB_FILE_SCOPE = NO + #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- @@ -1998,9 +2095,9 @@ DOCBOOK_PROGRAMLISTING = NO #--------------------------------------------------------------------------- # 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. +# AutoGen Definitions (see http://autogen.sourceforge.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 @@ -2041,7 +2138,7 @@ PERLMOD_PRETTY = YES # overwrite each other's variables. # This tag requires that the tag GENERATE_PERLMOD is set to YES. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor @@ -2082,7 +2179,7 @@ SEARCH_INCLUDES = YES # preprocessor. # This tag requires that the tag SEARCH_INCLUDES is set to YES. -INCLUDE_PATH = +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 @@ -2090,7 +2187,7 @@ INCLUDE_PATH = # used. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -INCLUDE_FILE_PATTERNS = +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. @@ -2110,7 +2207,7 @@ PREDEFINED = "__attribute__ ((visibility (\"default\")))" \ # definition found in the source code. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_AS_DEFINED = +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 @@ -2139,13 +2236,13 @@ SKIP_FUNCTION_MACROS = YES # 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 = +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 = +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 @@ -2168,12 +2265,6 @@ EXTERNAL_GROUPS = 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 #--------------------------------------------------------------------------- @@ -2187,21 +2278,12 @@ PERL_PATH = /usr/bin/perl CLASS_DIAGRAMS = NO -# 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 = +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. @@ -2250,7 +2332,7 @@ DOT_FONTSIZE = 10 # the path where dot can find it using this tag. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTPATH = +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. @@ -2396,26 +2478,26 @@ INTERACTIVE_SVG = NO # 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 = +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 = +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 = +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 = +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 @@ -2423,17 +2505,17 @@ DIAFILE_DIRS = # generate a warning when it encounters a \startuml command in this case and # will not generate output for the diagram. -PLANTUML_JAR_PATH = +PLANTUML_JAR_PATH = # When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a # configuration file for plantuml. -PLANTUML_CFG_FILE = +PLANTUML_CFG_FILE = # When using plantuml, the specified paths are searched for files specified by # the !include statement in a plantuml block. -PLANTUML_INCLUDE_PATH = +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 diff --git a/docs/doxygen-awesome-css b/docs/doxygen-awesome-css index 92eda0ef..a8bc4f25 160000 --- a/docs/doxygen-awesome-css +++ b/docs/doxygen-awesome-css @@ -1 +1 @@ -Subproject commit 92eda0ef8ed04faac2b6545e6589d3276708f682 +Subproject commit a8bc4f25800f1a03be296f56bb6a4e61cbeb91a9 diff --git a/docs/html/annotated.html b/docs/html/annotated.html index 6c746d3c..f0f40097 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -1,9 +1,9 @@ - + - + ThorVG: Class List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -69,16 +72,16 @@ $(function() {
[detail level 123]
- + - + - + - + @@ -90,7 +93,7 @@ $(function() { diff --git a/docs/html/classes.html b/docs/html/classes.html index 0f9bd678..210e5534 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -1,9 +1,9 @@ - + - +ThorVG: Class Index @@ -24,7 +24,7 @@ @@ -32,18 +32,21 @@
 Ntvg
 CCanvasAn abstract class for drawing graphical elements
 CFillAn abstract class representing the gradient fill of the Shape object
 CFillAn abstract class representing the gradient fill of the Shape object
 CColorStopA data structure storing the information about the color and its relative position inside the gradient bounds
 CGlCanvasA class for the rendering graphic elements with a GL raster engine
 CInitializerA class that enables initialization and termination of the TVG engines
 CLinearGradientA class representing the linear gradient fill of the Shape object
 CLinearGradientA class representing the linear gradient fill of the Shape object
 CMatrixA data structure representing a three-dimensional matrix
 CPaintAn abstract class for managing graphical elements
 CPictureA class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas
 CPictureA class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas
 CPointA data structure representing a point in two-dimensional space
 CRadialGradientA class representing the radial gradient fill of the Shape object
 CRadialGradientA class representing the radial gradient fill of the Shape object
 CSaverA class for exporting a paint object into a specified file, from which to recover the paint data later
 CSceneA class to composite children paints
 CShapeA class representing two-dimensional figures and their properties
ThorVG -  v0.4 +  v0.5
- + +/* @license-end */ @@ -68,23 +71,47 @@ $(function() {
c | f | g | i | l | m | p | r | s
+ + + + + + - - + + + + + + + + + + + + + - - + + + + + + + + + + + - + +
  c  
-
  g  
-
  m  
-
Point (tvg)   Scene (tvg)   
  g  
+
  m  
+
Point (tvg)   Scene (tvg)   
  r  
-
Shape (tvg)   
Canvas (tvg)   GlCanvas (tvg)   Matrix (tvg)   SwCanvas (tvg)   
Fill::ColorStop (tvg)   
  i  
-
  p  
-
RadialGradient (tvg)   
Shape (tvg)   
Canvas (tvg)   GlCanvas (tvg)   Matrix (tvg)   SwCanvas (tvg)   
Fill::ColorStop (tvg)   
  i  
+
  p  
+
RadialGradient (tvg)   
  f  
-
  s  
-
Initializer (tvg)   Paint (tvg)   
Fill (tvg)   
  l  
-
Picture (tvg)   Saver (tvg)   
  s  
+
Initializer (tvg)   Paint (tvg)   
Fill (tvg)   
  l  
+
Picture (tvg)   Saver (tvg)   
LinearGradient (tvg)   
LinearGradient (tvg)   
c | f | g | i | l | m | p | r | s
@@ -93,7 +120,7 @@ $(function() { diff --git a/docs/html/classtvg_1_1Canvas-members.html b/docs/html/classtvg_1_1Canvas-members.html index a668faaf..7d453c01 100644 --- a/docs/html/classtvg_1_1Canvas-members.html +++ b/docs/html/classtvg_1_1Canvas-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
push(std::unique_ptr< Paint > paint) noexceptCanvasvirtual reserve(uint32_t n) noexceptCanvas sync() noexceptCanvasvirtual - update(Paint *paint) noexceptCanvasvirtual + update(Paint *paint=nullptr) noexceptCanvasvirtual
diff --git a/docs/html/classtvg_1_1Canvas.html b/docs/html/classtvg_1_1Canvas.html index d60ff069..0c521fc8 100644 --- a/docs/html/classtvg_1_1Canvas.html +++ b/docs/html/classtvg_1_1Canvas.html @@ -1,9 +1,9 @@ - + - + ThorVG: Canvas @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
Inheritance graph
- - + + +
[legend]
- + - + - + - - - + + + - + - +

Public Member Functions

Result reserve (uint32_t n) noexcept
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 
virtual Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Canvas using Paint objects. More...
 Passes drawing elements to the Canvas using Paint objects. More...
 
virtual Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
virtual Result update (Paint *paint) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result update (Paint *paint=nullptr) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result draw () noexcept
 Request the canvas to draw the Paint objects. More...
 Request the canvas to draw the Paint objects. More...
 
virtual Result sync () noexcept
 Guarantees that drawing task is finished. More...
 Guarantees that drawing task is finished. More...
 

Detailed Description

An abstract class for drawing graphical elements.

-

A canvas is an entity responsible for drawing the target. It sets up the drawing engine and the buffer, which can be drawn on the screen. It also manages given Paint objects.

-
Note
A Canvas behavior depends on the raster engine though the final content of the buffer is expected to be identical.
-
Warning
The Paint objects belonging to one Canvas can't be shared among multiple Canvases.
+

A canvas is an entity responsible for drawing the target. It sets up the drawing engine and the buffer, which can be drawn on the screen. It also manages given Paint objects.

+
Note
A Canvas behavior depends on the raster engine though the final content of the buffer is expected to be identical.
+
Warning
The Paint objects belonging to one Canvas can't be shared among multiple Canvases.

Member Function Documentation

◆ clear()

@@ -143,7 +147,7 @@ Public Member Functions -
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
Warning
If you don't free the paints they become dangled. They are supposed to be reused, otherwise you are responsible for their lives. Thus please use the free argument only when you know how it works, otherwise it's not recommended.
@@ -171,10 +175,10 @@ Public Member Functions
-

Request the canvas to draw the Paint objects.

-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
Note
Drawing can be asynchronous if the assigned thread number is greater than zero. To guarantee the drawing is done, call sync() afterwards.
-
See also
Canvas::sync()
+

Request the canvas to draw the Paint objects.

+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
+
Note
Drawing can be asynchronous if the assigned thread number is greater than zero. To guarantee the drawing is done, call sync() afterwards.
+
See also
Canvas::sync()
@@ -202,24 +206,24 @@ Public Member Functions
-

Passes drawing elements to the Canvas using Paint objects.

-

Only pushed paints in the canvas will be drawing targets. They are retained by the canvas until you call Canvas::clear(). If you know the number of the pushed objects in the advance, please call Canvas::reserve().

+

Passes drawing elements to the Canvas using Paint objects.

+

Only pushed paints in the canvas will be drawing targets. They are retained by the canvas until you call Canvas::clear(). If you know the number of the pushed objects in the advance, please call Canvas::reserve().

Parameters
- +
[in]paintA Paint object to be drawn.
[in]paintA Paint object to be drawn.
Return values
- + - +
Result::SuccessWhen succeed.
Result::SuccessWhen succeed.
Result::MemoryCorruptionIn case a nullptr is passed as the argument.
Result::InsufficientConditionAn internal error.
Result::InsufficientConditionAn internal error.
Note
The rendering order of the paints is the same as the order as they were pushed into the canvas. Consider sorting the paints before pushing them if you intend to use layering.
-
See also
Canvas::reserve()
+
See also
Canvas::reserve()
Canvas::clear()
@@ -249,15 +253,15 @@ Public Member Functions
-

Sets the size of the container, where all the paints pushed into the Canvas are stored.

-

If the number of objects pushed into the Canvas is known in advance, calling the function prevents multiple memory reallocation, thus improving the performance.

+

Sets the size of the container, where all the paints pushed into the Canvas are stored.

+

If the number of objects pushed into the Canvas is known in advance, calling the function prevents multiple memory reallocation, thus improving the performance.

Parameters
[in]nThe number of objects for which the memory is to be reserved.
-
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
@@ -285,14 +289,14 @@ Public Member Functions

Guarantees that drawing task is finished.

-

The Canvas rendering can be performed asynchronously. To make sure that rendering is finished, the sync() must be called after the draw() regardless of threading.

-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
See also
Canvas::draw()
+

The Canvas rendering can be performed asynchronously. To make sure that rendering is finished, the sync() must be called after the draw() regardless of threading.

+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
+
See also
Canvas::draw()
- -

◆ update()

+ +

◆ update()

@@ -304,7 +308,7 @@ Public Member Functions virtual Result update ( Paint *  - paint) + paint = nullptr) @@ -316,14 +320,14 @@ Public Member Functions

Request the canvas to update the paint objects.

-

If a nullptr is passed all paint objects retained by the Canvas are updated, otherwise only the paint to which the given paint points.

+

If a nullptr is passed all paint objects retained by the Canvas are updated, otherwise only the paint to which the given paint points.

Parameters
- +
[in]paintA pointer to the Paint object or nullptr.
[in]paintA pointer to the Paint object or nullptr.
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
Note
The Update behavior can be asynchronous if the assigned thread number is greater than zero.
@@ -333,7 +337,7 @@ Public Member Functions diff --git a/docs/html/classtvg_1_1Canvas__inherit__graph.map b/docs/html/classtvg_1_1Canvas__inherit__graph.map index 8296b9eb..91751181 100644 --- a/docs/html/classtvg_1_1Canvas__inherit__graph.map +++ b/docs/html/classtvg_1_1Canvas__inherit__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/html/classtvg_1_1Canvas__inherit__graph.md5 b/docs/html/classtvg_1_1Canvas__inherit__graph.md5 index 756c58c5..aa052609 100644 --- a/docs/html/classtvg_1_1Canvas__inherit__graph.md5 +++ b/docs/html/classtvg_1_1Canvas__inherit__graph.md5 @@ -1 +1 @@ -7ca5ffe5a1fd6f28884ce9125e1c168d \ No newline at end of file +9b6abf74b34548ace156dffed0d996a8 \ No newline at end of file diff --git a/docs/html/classtvg_1_1Canvas__inherit__graph.png b/docs/html/classtvg_1_1Canvas__inherit__graph.png index dacc15848e9c2187ab469c31d643a77811ea0de7..57f76df34881c7110ef676dc2ff3bcd5db93810f 100644 GIT binary patch literal 4173 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 literal 4474 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ӶL5n(1HjwSu(!|6B8jaS`(HSn#**`e=9<*O@ z;AQF<-Z9UWdkv(B+vC-R4GlqnUY+_$DlNdSC!J9sHh}aD4X0Xfyn?#5)zWp(b1U(pL@c>2~h6T)YO)1U0V?=Oxye}_uab$ zpx)lzZC0AsDp{44UXG4_Yk2-Vx3MK4Ez#zaxOeX#=3QM~wfT}eSZBSQI<6P${Wm87 zSRhd-<=}&&`uf1Di_;Gc{(##NxR(I|F<|S4m(e)8-ZTldAw2-20^Qc&pS878VPRo+ z@7|S=sHS9<@|L;7%F23D0eG-KQ<<8SR8&k1R%HsPzTBUQGUVmsTLZFBQ`0+&!IGk) z0|Ns)A$JM6D9Fj}t4xQgf5FlL^Z?DGOcd_!>*S2W@5T_jbtt|2?_y&gg%;>!Dun>y ze5J%uJm)PV$s)wXMF8oX-({kB;^2_yYr)H*U8DjpCjO|sY4kDsh`U0T_J3`p|9yq< zf07#Uo=6u#lZrcGY##?kMhbqo0I*w=@XcLdgQtD^l+Zfd-W?em8=G^szOay&BvaoG vI2?~R#N4bDVZZl-sBH?kK={9#^)*p5YjiyIq4xxEnF7*KeG09B*hc&pju4zF diff --git a/docs/html/classtvg_1_1Fill-members.html b/docs/html/classtvg_1_1Fill-members.html index 4426268a..d2c10e07 100644 --- a/docs/html/classtvg_1_1Fill-members.html +++ b/docs/html/classtvg_1_1Fill-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@
- + +/* @license-end */ - + +/* @license-end */
-

An abstract class representing the gradient fill of the Shape object. +

An abstract class representing the gradient fill of the Shape object. More...

Inheritance diagram for Fill:
Inheritance graph
- - + + +
[legend]
@@ -95,27 +99,62 @@ Classes - + - + - + - + - +

Public Member Functions

Result colorStops (const ColorStop *colorStops, uint32_t cnt) noexcept
 Sets the parameters of the colors of the gradient and their position. More...
 Sets the parameters of the colors of the gradient and their position. More...
 
Result spread (FillSpread s) noexcept
 Sets the FillSpread value, which specifies how to fill the area outside the gradient bounds. More...
 Sets the FillSpread value, which specifies how to fill the area outside the gradient bounds. More...
 
uint32_t colorStops (const ColorStop **colorStops) const noexcept
 Gets the parameters of the colors of the gradient, their position and number. More...
 Gets the parameters of the colors of the gradient, their position and number. More...
 
FillSpread spread () const noexcept
 Gets the FillSpread value of the fill. More...
 Gets the FillSpread value of the fill. More...
 
Fillduplicate () const noexcept
 Creates a copy of the Fill object. More...
 Creates a copy of the Fill object. More...
 

Detailed Description

-

An abstract class representing the gradient fill of the Shape object.

-

It contains the information about the gradient colors and their arrangement inside the gradient bounds. The gradients bounds are defined in the LinearGradient or RadialGradient class, depending on the type of the gradient to be used. It specifies the gradient behavior in case the area defined by the gradient bounds is smaller than the area to be filled.

+

An abstract class representing the gradient fill of the Shape object.

+

It contains the information about the gradient colors and their arrangement inside the gradient bounds. The gradients bounds are defined in the LinearGradient or RadialGradient class, depending on the type of the gradient to be used. It specifies the gradient behavior in case the area defined by the gradient bounds is smaller than the area to be filled.

Member Function Documentation

+ +

◆ colorStops() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
uint32_t colorStops (const ColorStop ** colorStops) const
+
+noexcept
+
+ +

Gets the parameters of the colors of the gradient, their position and number.

+
Parameters
+ + +
[in]colorStopsA pointer to the memory location, where the array of the gradient's ColorStop is stored.
+
+
+
Returns
The number of colors used in the gradient. This value corresponds to the length of the colorStops array.
+ +
+
-

◆ colorStops() [1/2]

+

◆ colorStops() [2/2]

@@ -156,42 +195,7 @@ Public Member Functions -
Returns
Result::Success when succeed.
- -
-
- -

◆ colorStops() [2/2]

- -
-
- - - - - -
- - - - - - - - -
uint32_t colorStops (const ColorStop ** colorStops) const
-
-noexcept
-
- -

Gets the parameters of the colors of the gradient, their position and number.

-
Parameters
- - -
[in]colorStopsA pointer to the memory location, where the array of the gradient's ColorStop is stored.
-
-
-
Returns
The number of colors used in the gradient. This value corresponds to the length of the colorStops array.
+
Returns
Result::Success when succeed.
@@ -218,14 +222,42 @@ Public Member Functions
-

Creates a copy of the Fill object.

-

Return a newly created Fill object with the properties copied from the original.

-
Returns
A copied Fill object when succeed, nullptr otherwise.
+

Creates a copy of the Fill object.

+

Return a newly created Fill object with the properties copied from the original.

+
Returns
A copied Fill object when succeed, nullptr otherwise.
+ +
+
+ +

◆ spread() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
FillSpread spread () const
+
+noexcept
+
+ +

Gets the FillSpread value of the fill.

+
Returns
The FillSpread value of this Fill.
-

◆ spread() [1/2]

+

◆ spread() [2/2]

@@ -255,35 +287,7 @@ Public Member Functions -
Returns
Result::Success when succeed.
- -
-
- -

◆ spread() [2/2]

- -
-
- - - - - -
- - - - - - - -
FillSpread spread () const
-
-noexcept
-
- -

Gets the FillSpread value of the fill.

-
Returns
The FillSpread value of this Fill.
+
Returns
Result::Success when succeed.
@@ -292,7 +296,7 @@ Public Member Functions diff --git a/docs/html/classtvg_1_1Fill__inherit__graph.map b/docs/html/classtvg_1_1Fill__inherit__graph.map index 7b866852..33b8f36a 100644 --- a/docs/html/classtvg_1_1Fill__inherit__graph.map +++ b/docs/html/classtvg_1_1Fill__inherit__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/html/classtvg_1_1Fill__inherit__graph.md5 b/docs/html/classtvg_1_1Fill__inherit__graph.md5 index 1f9e6880..e5f60f96 100644 --- a/docs/html/classtvg_1_1Fill__inherit__graph.md5 +++ b/docs/html/classtvg_1_1Fill__inherit__graph.md5 @@ -1 +1 @@ -fd2a57ea603e8ca10be22c493abc57e8 \ No newline at end of file +0191203cbac80d7ac1fa002bba5b8938 \ No newline at end of file diff --git a/docs/html/classtvg_1_1Fill__inherit__graph.png b/docs/html/classtvg_1_1Fill__inherit__graph.png index 6b80be10c46c5a793c3f16be35b00d40b66ddee8..33ea0e85a59290568809779d06c3ceb3183de0c7 100644 GIT binary patch literal 3314 zcmZ8k2{aU57awDr7!C2aZ=n%UgKQ-UAzPS{Y}v;ivJ}~O8GFT8E6IN>Q&NO#CSx~b z%}#|G`!jF;xj2B~x9+)3tL72xO zWzir(HNjLjX3tO$BgMn^mGmrEm<|-3xgSB>0IL$d;D|c~Xkz@S<^W+vz(P`c2m=5m z&B+h&h{gl77@1fAg3x#N(Qes>Wpe3j%gY65bf+@|FBs^;QxZjMsIT9BDg!sZ9uyc@ zyU03!8icAbC>v-^ z0~P?se`8EkzA}UNP_d9_#zZSGUy)lFdkMA1| zyMuW*eeYQgw*$F!YHF%#5|Sp#89tSuV3zQ$tIPLy3p0T*6%oN=pBxkfZiNlaoMg;I z;VO^+)|J3uu_~{lw3vY|67Jts)~6nm#y?JkYaaYcl9%WYOxzCH@oMjSmcXCbQ$Q|$ z_A#jcl{NU;sbV0|#ZE1KWLSB1EbvXk{>75-@XFz{XW#Phy;b>4-q>K|;9!f-G%SnU zY!w(A>yC|c&)A1S7ES?O_s6Mgcq2=sXY^(qx_f(CLH1(ZR#P0 zoSf0^I%?^U!%R(#*x4Xa!Ocu+xh`^?{3OiqUPE9{)5DU+$SR8({g z+77}u_2 z^)@6ZXtF)P?y5Y0A_nm&?BEQN^(M#-dC{^`{|z$%Cfq*cb@VOnthYDA>x3Je{7CWm zkku!~#&)kM8h>RZA$to2`S+yT+U>uFr#Bt)6k|PgL93%&qGGtr%^MA1Ab~%=kGlHH z(=+CZQchM)3qLtLRO5pu9F~~2f;KSHZeB)ZbOdnnC%U=G+rGowQ=(wn9^;n}pItcd zdCf&2M7%MnjZ#eOAP{7r$e1j>IYkgSCoySQNHubN^l!V5UJPgfQAk-Cv%vazvKBt- zaMe-q66ocJ57E=p-$qBXV`B961fSN5!%*g!p~c0mK(bA`sL5ol^py+VGMg1AE44oq z6ewv|f{cmbtgKi6-1*gqdiSS4zp9Wet6sflH|cOz2~1$%M#u)+j4M3cEnLU>ofBeb zUoI>fq+4S%ty`TBFJ2UwpXcj*{sua~GG^P{{N&(JEdK={JsJLp;&74h}Yv z6qUVjb!J4>BUX@wMYKpQz)e@uH8H^d*MON?I+;W>xrnp7^PE#yqhR%cp4a`aLVsBv zHM0+kt<&)ux^e#wM(;$%XugsfG`%j~b=V=U>V@Xo#)u7%74#t4*7HQg3bw{W=2FT_hC zgvf`*5Me-|67T-LgNVkX`zJJ2Nr`)IO}v8QN{Mm!zB^|AZ{EFIBS6lb>9nJRb11rq zgTU94AS3G&yFFO@tV%0fTZp_16Iy|ZDKRlSdp%@j?=W42OL1(EM$~Xc62)N$vhvqT za;<9Jx}U@|U9a?k%NbYo1w#t}l{kv6ppB^Ol`7P|4GdBIer%QqbL;FiOgMfT{dn)uB_tGvHD zP&9Ga)2~Nc4%XJv+1b4AZt^ZoyrpqOdcBw0`mW;O@ay(X)ScaFcBdv@?ik_%z{QUQSzokpKssJ~M!dx~vKGsr`^1mb>LERKi*#C#JJ_>~en>+rX5;BpC z=YI8%tyz60p=PNMBd@44a7NpNZUl@G*`}-wrf|#JPvRzWG{)pgU zWw`yR1noSz(t*>cd0Y}hG`;)%>*XF{B+T0q7E*pd6{%F$h_C$Y;N|ZvTC-mwxnY$i zEq4@LPN8~jOeiTaSS&V8NVT!4$=2Gsp|LSBKHlz=e@s>}2WF;(3LnK?~nPJUc9~YOvgYCuX>FHFyOKt7#WD@DUeQtv!_S46@x`VyF z4p+sTG;cJeETZfLGm;mKEgegCx_k3xLVbOGb#?V!x%)moQsb7g!>nTA8%LDySJl*{ zq@=cYcXI*-1Oyfr7Cij?#6(4>r>0D(a2p$09yTs*we+{vwMYu7rxa1vplDf=A$ra5 z)~$e`pzZB#xr-N}-9M^IDol&Mr+T?qWEn^q+b@oki}h4Q9`9HQ2?=fK>!|dfhwEWo z7$^yz_KT`_9Gjb)dDw17MMd4aH{G1To^}A&^X6ouJWZ zSEQpWOe@G`?g)?%Gl_P5NJlQZ9;LaTdA7jgsf^@EP4vE^y<;S8-`zRX(J?yQlCrhc z7xb=$$A#O%D(Aw41DV)-zq=AS=bkk047<(9njW@&J6uoio$ zR9B~R{W>m3`gS%%;C+f7TJeDhd)}p0eBQPR&OmA)JOPfO?RswHG8Stt*Kskts96~>;ZAS(M6xGy5`}#Nq1r0wyz+mJ2%bmTw*xK5_sm5Rg zt~fW>%G^AwsA!6Q@bcxMi3wX zD(K~4XC(!IzqXKRYe_mnFR`M4XA#!cn0-~A*~R8_fU3BEi}wFW-hYa2z>6F0zR#1n zkMIT;9lpx(rlObFpxrISAXH^#rS;V9euplx>V9ByZUw zhQTP?YnvHcXefT;|NP(o^Z%XibMJkgyPWSi_k7N|=Omax4bHKPumb>qb4G?>3;K9S zZ@z4d^uD$1aGXA{!i){TfRod&xT8D+0N_$G0^ha@E}#^Knpxhz)IT!BwCu)Mp|>;- zx9PUG(yVnRGU`;-THI#hvMp{0Cf{?Y*Syzcou%nk8fjad^o8vz?2cbxX`xM9^{p!W z^}99p+^^KxKy0k(sbsMRPZJ48P!ELq=jrjiVQr0-eE&`j8tHq7M)wj*gAwpZPtqO$ zNCG+sJp(->F|aeB&&V=IAs8_Ce0>$f{|E>O@Q&Tk_;6YI?M0#3p(5?ju~H*A0d8Q> zA9d!ubLU;A8fx1GQBm^Bin==~Gb<~6yH5~K0RHuS3RukjUrY&&0<_<}zc8C!LEYaFo%P&1-1@1(o`?|6Qop(i8vi|975F zT;8nJnwXf#i;+lc?{r$A)*cnU+}pDd;CSEgW^s*6h^HQ#p5iQoF$c9Y79ic4^e(sV z?JR2-I=Cxcfffku@3;jbkufHOax~vRUMhMDZzXpoaj4~p&Grn~V+!2IXM(U_9mW^m z2P`W3CMP$C_9F&tIU7Cv{%qa6)J6Ix8(+WH&=LmV$J%E3Map)x()v}tRXe9bSXi1vkg63_i}E$YoNur?6Ddsc^xB{uZfvX!TaT^ffOo#6Ox8s#%+KHY zk|mwqjq}&tq=qLP$LBddprEOa{M-u2SMrvkwxqz@QoJ4>Cyfa6b=q!=n-Z>PgKq!4 zWrdJB$>lZffx-Tk_Ro9cf9$hhoz{nFf%+=b4MG#n_ke@g@}!%%c#_ z-jb3q&QUmG6(mAwG8IgYmA6|6|HmXUoass;04*lW`}xOtT`SXEm~!|neH=CAVm}*O z4lmgyrM2rqBTZ`gz)PKCo4PJ(hO3v^Q1`KB~l~9 z$U^}kE*_yeYkyIAO)`@UCUp0$%NZ`_m6iUkgSndc_{F9s3hR2>VA4NSt}4GR=Y))J zS0?Lr`AuKzJf$u-jf^Tbw6%RM{&RRF<{JpP`qz_*IzuTgwwsN<^PSCV&u({qu&xX?xDq%lxtw?+0_m3!jWe?4z<-Yvf?o9z-hK8f9Tj8@Jz^Aaj#1`En z@+R1ec0o`O|K3A=4nLWi6D&ZGD|kkVdxM2+&Byi6l7Py}z2m6J=tb)A=g$e9Ax&51 zDOX4BO_=JB%-CX>=)f5q8iE!jsSQ8t?q9j_J?uhO;U9nKa92D5#wfJNCvw)JQcmaC zDir_YOD0%gAQGX0l#>1XeM5uS=A1DXSItEA3a@;B1p~e-?bWLnnVF{S9O@ccGrU+g zp=NKp>CsXAlU+}>nc031nNd`dAe(z*M%uQ%lM^jXa=xgj7VOpCH`noeAbTVsS(`S4 z+}ga1WG2_f3}kO&${(KW3=}U9tZ-vlZm5W46#}XA^Y2`G8!$4zw&T$BkdwlLnc9}* z{&|MQ?X&AU-9Ez1ZsK z>$5N7e4y*;b%B{VY;nmolsbEN(L`%uY4k1O!w0z=b!%Hk=T)8MoLqkYh5kL5x9q#) z8sNFsOTypa#rCxV@RHGAe-wM~{_~AOiEM8VMn$(fIVq=HN*)}zri)tgC}|SnaSn>+ zp6)nW7|QQ@eUk@%%1G{^j>pMyQ)T7Jt%zf_QTrs8Z^r}zM_@$~kDkcXe#)C&=x!8A-Ug`#(=y>bir3@w+mDANf^-j^Qh_1CS znU5{Yp;Go-X=amDDZ_?E16fg9yqdABsOHl2Hb%-_)aA;qnje{KtOt zJ?~%WLCs4NG*c9_!-? zIGmrGo2nL?j~5#wB&S!CBV*nLyK^gcLByPC} znp*P7`9#w#7bUcz1#ytoow3-ZxHowQdXQ1_x*a7*LQ(o)9&-<*0_-wb#_SgYb) zTXy!O&kQ=Y-vL(KVGKzrE#;q|pUYP(?DQ{BLCC|;Nb{z>x<{AE*Gxb#sOsI0k>55! zSXt(RyocQ7F4A8)bX_C5q@!Ie$eF6$*43ECoO?o@O!sW+1DuAkN-LUS8J5^iFZ`@&k>fYMdk@aEs_d(>T zH`y4gH40_#;GkcD+!MpW&(Gi4**TCUj}JYl9X_{S{GR>_(laE@0|esBz<|U5P<2%m z#`JYUk$^xV4cGz$0)CJgM;t7%aMZUq8nK6VB81f9kw_q9^)Dv$!J^H~&C}xI;$mWAs;j+hY_i@JUR3unDb(B}U>)w) zIYFRM8;Y!|YT(g6B~Mi~KYd_1?z|X1*=ufUYHDc-va`$0gJRQF`a+*P5swxH0{4{6 zSYtlB=H=$vIdmPGr*pweXuQ^cD*&tJCZ7b}|1&5a4FZAM@OXa|iW^i|Sct;il9x{& zSXNU}*`kG+nvRr~Nlxg+LIr-R2^zd2yZ7`plL z3?W8HUgY5T`1oLsB9pijZ-UOBpWjkbQ|VhI3O~8V3*UCl<%(J&d8+KWYlx=oaJ<3e z@g*f7Ie{}QEYdPES=reh9v;;;Hk~bj8-%j*^6E=%VYGMd5G(|euZFFvx@TvptY7}u z8e{>&=qI&^{#BkC;ff{2K{jm`e*=-Zl8l9S1(w1Ie8-nw){ zLj%{^+KR5!0?cC$6oUlnAJ>FqS=X=rH?WMgKp)J*zZuS|Cwvt;kBe(Ix&KI)g3 zl{fZ?jj$i!d z&0un1YE)t(dmpeWL|jr*zf0>0ppHl)5_1QZd8K2RgP%NE^OBUxi68A5-La!$QMt7j#T99+(e*lECFG2tS diff --git a/docs/html/classtvg_1_1GlCanvas-members.html b/docs/html/classtvg_1_1GlCanvas-members.html index 5dd79039..e1b75166 100644 --- a/docs/html/classtvg_1_1GlCanvas-members.html +++ b/docs/html/classtvg_1_1GlCanvas-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@
- + +/* @license-end */
reserve(uint32_t n) noexceptCanvas sync() noexceptCanvasvirtual target(uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h) noexceptGlCanvas - update(Paint *paint) noexceptCanvasvirtual + update(Paint *paint=nullptr) noexceptCanvasvirtual
diff --git a/docs/html/classtvg_1_1GlCanvas.html b/docs/html/classtvg_1_1GlCanvas.html index 2fb0bfed..78f79928 100644 --- a/docs/html/classtvg_1_1GlCanvas.html +++ b/docs/html/classtvg_1_1GlCanvas.html @@ -1,9 +1,9 @@ - + - + ThorVG: GlCanvas @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
Inheritance graph
- + +
[legend]
- + - + - + - - - + + + - + @@ -113,12 +117,13 @@ Public Member Functions - +

Public Member Functions

Result target (uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h) noexcept
 Sets the target buffer for the rasterization. More...
 Sets the target buffer for the rasterization. More...
 
- Public Member Functions inherited from Canvas
Result reserve (uint32_t n) noexcept
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 
virtual Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Canvas using Paint objects. More...
 Passes drawing elements to the Canvas using Paint objects. More...
 
virtual Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
virtual Result update (Paint *paint) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result update (Paint *paint=nullptr) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result draw () noexcept
 Request the canvas to draw the Paint objects. More...
 Request the canvas to draw the Paint objects. More...
 
virtual Result sync () noexcept
 Guarantees that drawing task is finished. More...

Static Public Member Functions

static std::unique_ptr< GlCanvasgen () noexcept
 Creates a new GlCanvas object. More...
 Creates a new GlCanvas object. More...
 

Detailed Description

A class for the rendering graphic elements with a GL raster engine.

Warning
Please do not use it. This class is not fully supported yet.
+

@BETA_API

Member Function Documentation

◆ gen()

@@ -143,8 +148,9 @@ Static Public Member Functions
-

Creates a new GlCanvas object.

-
Returns
A new GlCanvas object.
+

Creates a new GlCanvas object.

+
Returns
A new GlCanvas object.
+

@BETA_API

@@ -196,6 +202,7 @@ Static Public Member Functions

Sets the target buffer for the rasterization.

Warning
Please do not use it, this API is not official one. It could be modified in the next version.
+

@BETA_API

@@ -204,7 +211,7 @@ Static Public Member Functions diff --git a/docs/html/classtvg_1_1GlCanvas__inherit__graph.map b/docs/html/classtvg_1_1GlCanvas__inherit__graph.map index 9db41164..4f1669d9 100644 --- a/docs/html/classtvg_1_1GlCanvas__inherit__graph.map +++ b/docs/html/classtvg_1_1GlCanvas__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classtvg_1_1GlCanvas__inherit__graph.md5 b/docs/html/classtvg_1_1GlCanvas__inherit__graph.md5 index f81d2a22..ad316f90 100644 --- a/docs/html/classtvg_1_1GlCanvas__inherit__graph.md5 +++ b/docs/html/classtvg_1_1GlCanvas__inherit__graph.md5 @@ -1 +1 @@ -856cf077ff89960ec7c4f4776895046e \ No newline at end of file +0c8d5ae7fe91720ae0ceeec156eb3f5f \ No newline at end of file diff --git a/docs/html/classtvg_1_1GlCanvas__inherit__graph.png b/docs/html/classtvg_1_1GlCanvas__inherit__graph.png index f4bffccb3c9b268cd42ff93f3ba826f38d81052b..fb57d4f46f5bae9583dba9ea50d92a2d98432c99 100644 GIT binary patch literal 2624 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 J*?{m)`UfrZ`-%Vn literal 2882 zcmbtWc{r478-E>ZMA3{b!i*%z-c)0Y7)!EFc9m_kjNM_R(2$)W6_Ra`!XUfDSVy)T zY3w6HS+d78gW`KT=eo|hzVF}fdf)ecuIqW8`+lDH_uS9#cgLEW8t`(9asvRsYhN*{-Kvk> z^~ZJ8;!4$`pfyG)_Gg8r0*?|T;?C7#YBC+DNV8|2wL@-&tgOE)UkIJ#AH%w4@NvU- z^CA-i4jX((@q6*3UVTxksW~jYXu-FYbA2jkf$?+9Yi_D#jUIe|Du=N!m2-r#&&JRH zumdj_TMlQ2;rlRLY5hkPGNmk)9|f&WJer@!cy|i;H0`Z58k(5A2n@E+Y;0%{IeYdj zG2#!A*JWiWGc&>~B=H^s(AfE$`l`5Cz+v?zTvpaFKwJx>8u?E=6E_B(K0_b9(e;4w zk+aY;HZqcJXlST{d8?&;xw0RldLm>+Sr)>LMx%3UYM>$_BDmF>QJ?Ka3-7R|8&bO^ zIkvT)w5WmtX^4=J`iI%s*_&#jZ|;sN$UFTpM3Z9jUSA)-cJ10&_3hLvf1vVpjErLE z$Za=U^9fpU6%|Ua&~gw#LF6|)9-lk9%r7B9*x2xaKp+5MUFLYG#(q`yJOUAQ(SQCz zQhLusDT&kxCurc`zc;5)D4+TiTeg|CjhA4CSFYq&S6AOoYYA8qV99;>@S#y3FCX7y z6PbMa@+fs@YvFZiX#$Yk<3>CvtD}A$F6qG{s1I2=xd1wYk!o55e`@^YR#9155)2OS z@v1YMnBUk?>iOa~(GsRDl8BN!eOfBR1Oq|A`r`Vu)nAH#Q3D2pP!PFQaJdF1oe8s^4{jvTAI(OQ_#%z5>+AC)6*08 zW3$Wojjd#AkI&lVMfn@eVzIHY%-MKF$6f;z>NlX^LrGBv=>BVDczC$NR{m9axq+!E zA7C;uzcOAmI5ZSFGGYxPU-0rJkwo%DS@~GRT;!wh!S(dKn>IN}_BFjHA5dRjt@fGG zg~3F{#S6icLi&B?;^!a7B7VE%F_3){=C`}I%P>e1%S%remQz$L0yDrMqi3Spo-{Nz zW~ir!moyI!z6fHdlG#t4Qh0Y$cyqTdMO-~lQbB=ld4zO1G*k=I|C~LdEu0*}AeNQ! z0ZJ+=zm*JgzeaO|mSoKX2#bn7uly-=9mj&H5)n=0aHz%l7MKmsZw+V@W@lZbPo0{Z z?Tk-0luqvZl09|bgR=5GV;c)2W@n$Uufp(t^dHbHK+D}8BHCQ?k9ZRD^Y4hP}o6$b$FzK4VXJUjgH&;IkP z6*R@^Waf7oRamTg_X5n9?a9jX=Osc+c4sjILhatKo&;>_ZMLgdJtVp2lB&OcMM$8e zv%^!IY#5o;y-ir&NkKN^q z2?X^%K{j3YFJ@YC#u_YAjkVu}*f<-fc4S~Lki!vcYw=n!fAv>>JH^#b@mI`{A9L4W z*!;NueZ1=6(|~rO!WtnV}D|3)%%W`Xn%ov52NYxG9XispU(>3&13ToPk+8s9l)K*&O8xRxs(1E#s9qx z+=@^$Dxbfzv-3jmH)$;5xQnZ6N@iw!v_z;d@SaACfA`MhKI3Ch5|WjbbqwUG2^!5A zk*VxGrQwFbxNOdLW^?zIZx{~L+REb=vVx96AZ#S-_yO$$F&;traC_3*3{?-AQdJF& zgr+8qZa00%$A!`@!GiRcin_aE8?mF@(mc}{x#9DtcrU@j6I^>7S%F6fC z(?_yQ7oLPZir_qg4D5!Y<)9`q$BK)KHz>!5GQ?eK5kqOgU+Z}4A0_Ige?iyzTqO7`~lR`|}L zekqZr<(IKHu4Cko^WV0%EbQ&$^75p9@eC#QSdt2fL;{({w))m!f#(DkajV9@)UiPT z3WeI%d5H(EO~wum4jvz7Yh~?-k>rwuB@k{nd9UxDnsExTY_jA`-&MBtYY;nm@?^St zkOG98eXVKB6iCZCmyecX0nS*Lww|q<#6NigxeqctNPW64F0fxg|NPTbW22SzLg0$9 zrInTV0MU08gTq~r7C5vLsNUY*UJ6&l45Pm>s^la^y%`ds$(JFSK6{QLvqb!-;a()n`!@qSeHO8EG!f} z_4V`s03T6aR-11wyRl6*`vpKuTwMDR?H`|TdPKC`?=+09tuQwakA;<0#N}u{DFi|= zBO}AMqE(e=<(}KS>rFW20A$vcdsbGdG^Cj(eJFC-=e(L)t5@CSJaf>xf+7G4cZWyL zgQ&XcP+DP=p30_-qlj_y!F~wk?OSA2RnLUj@#7tfi?UN8>zcxcIY7bEC0V<=xw#p0 zQrqB_RaI4ke_ zxXG;4m;YOJ{)@^cO%uV&?5$ElW;BnGLVdq~iYCYn1%-vd=W;VMXx=U2M>MzJM+URh jZFmA59?Ad4=sp0N@{^f0ZGNR-Q4ARAo9dP6-o*b05f6k8 diff --git a/docs/html/classtvg_1_1Initializer-members.html b/docs/html/classtvg_1_1Initializer-members.html index 7baedf0f..6abf1363 100644 --- a/docs/html/classtvg_1_1Initializer-members.html +++ b/docs/html/classtvg_1_1Initializer-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */ - + +/* @license-end */

Static Public Member Functions

static Result init (CanvasEngine engine, uint32_t threads) noexcept - Initializes TVG engines. More...
+ Initializes TVG engines. More...
  static Result term (CanvasEngine engine) noexcept - Terminates TVG engines. More...
+ Terminates TVG engines. More...
 

Detailed Description

@@ -126,23 +129,23 @@ Static Public Member Functions

TVG requires the running-engine environment. TVG runs its own task-scheduler for parallelizing rendering tasks efficiently. You can indicate the number of threads, the count of which is designated threads. In the initialization step, TVG will generate/spawn the threads as set by threads count.

Parameters
- +
[in]engineThe engine types to initialize. This is relative to the Canvas types, in which it will be used. For multiple backeneds bitwise operation is allowed.
[in]engineThe engine types to initialize. This is relative to the Canvas types, in which it will be used. For multiple backeneds bitwise operation is allowed.
[in]threadsThe number of additional threads. Zero indicates only the main thread is to be used.
Return values
- - - - - + + + + +
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error possibly with memory allocation.
Result::InvalidArgumentsIf unknown engine type chosen.
Result::NonSupportIn case the engine type is not supported on the system.
Result::UnknownOthers.
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error possibly with memory allocation.
Result::InvalidArgumentsIf unknown engine type chosen.
Result::NonSupportIn case the engine type is not supported on the system.
Result::UnknownOthers.
-
Note
The Initializer keeps track of the number of times it was called. Threads count is fixed at the first init() call.
-
See also
Initializer::term()
+
Note
The Initializer keeps track of the number of times it was called. Threads count is fixed at the first init() call.
+
See also
Initializer::term()
@@ -173,22 +176,22 @@ Static Public Member Functions

Terminates TVG engines.

Parameters
- +
[in]engineThe engine types to terminate. This is relative to the Canvas types, in which it will be used. For multiple backeneds bitwise operation is allowed
[in]engineThe engine types to terminate. This is relative to the Canvas types, in which it will be used. For multiple backeneds bitwise operation is allowed
Return values
- - - - - + + + + +
Result::SuccessWhen succeed.
Result::InsufficientConditionIn case there is nothing to be terminated.
Result::InvalidArgumentsIf unknown engine type chosen.
Result::NonSupportIn case the engine type is not supported on the system.
Result::UnknownOthers.
Result::SuccessWhen succeed.
Result::InsufficientConditionIn case there is nothing to be terminated.
Result::InvalidArgumentsIf unknown engine type chosen.
Result::NonSupportIn case the engine type is not supported on the system.
Result::UnknownOthers.
-
Note
Initializer does own reference counting for multiple calls.
-
See also
Initializer::init()
+
Note
Initializer does own reference counting for multiple calls.
+
See also
Initializer::init()
@@ -197,7 +200,7 @@ Static Public Member Functions diff --git a/docs/html/classtvg_1_1LinearGradient-members.html b/docs/html/classtvg_1_1LinearGradient-members.html index 7cbe4951..63a18f6d 100644 --- a/docs/html/classtvg_1_1LinearGradient-members.html +++ b/docs/html/classtvg_1_1LinearGradient-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */ - + +/* @license-end */
-

A class representing the linear gradient fill of the Shape object. +

A class representing the linear gradient fill of the Shape object. More...

Inheritance diagram for LinearGradient:
Inheritance graph
- + +
[legend]
- + - + @@ -107,18 +111,18 @@ Public Member Functions - +

Public Member Functions

Result linear (float x1, float y1, float x2, float y2) noexcept
 Sets the linear gradient bounds. More...
 Sets the linear gradient bounds. More...
 
Result linear (float *x1, float *y1, float *x2, float *y2) const noexcept
 Gets the linear gradient bounds. More...
 Gets the linear gradient bounds. More...
 
- Public Member Functions inherited from Fill
Result colorStops (const ColorStop *colorStops, uint32_t cnt) noexcept
 Gets the FillSpread value of the fill. More...
 
Fillduplicate () const noexcept
 Creates a copy of the Fill object. More...
 Creates a copy of the Fill object. More...
 
- +

Static Public Member Functions

static std::unique_ptr< LinearGradientgen () noexcept
 Creates a new LinearGradient object. More...
 Creates a new LinearGradient object. More...
 

Detailed Description

-

A class representing the linear gradient fill of the Shape object.

-

Besides the APIs inherited from the Fill class, it enables setting and getting the linear gradient bounds. The behavior outside the gradient bounds depends on the value specified in the spread API.

+

A class representing the linear gradient fill of the Shape object.

+

Besides the APIs inherited from the Fill class, it enables setting and getting the linear gradient bounds. The behavior outside the gradient bounds depends on the value specified in the spread API.

Member Function Documentation

◆ gen()

@@ -143,74 +147,13 @@ Static Public Member Functions
-

Creates a new LinearGradient object.

-
Returns
A new LinearGradient object.
- -
-
- -

◆ linear() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result linear (float x1,
float y1,
float x2,
float y2 
)
-
-noexcept
-
- -

Sets the linear gradient bounds.

-

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

-
Parameters
- - - - - -
[in]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[in]y1The vertical coordinate of the first point used to determine the gradient bounds.
[in]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[in]y2The vertical coordinate of the second point used to determine the gradient bounds.
-
-
-
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
+

Creates a new LinearGradient object.

+
Returns
A new LinearGradient object.
-

◆ linear() [2/2]

+

◆ linear() [1/2]

@@ -266,7 +209,68 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
+ +
+
+ +

◆ linear() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result linear (float x1,
float y1,
float x2,
float y2 
)
+
+noexcept
+
+ +

Sets the linear gradient bounds.

+

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

+
Parameters
+ + + + + +
[in]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[in]y1The vertical coordinate of the first point used to determine the gradient bounds.
[in]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[in]y2The vertical coordinate of the second point used to determine the gradient bounds.
+
+
+
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
@@ -275,7 +279,7 @@ Static Public Member Functions diff --git a/docs/html/classtvg_1_1LinearGradient__inherit__graph.map b/docs/html/classtvg_1_1LinearGradient__inherit__graph.map index f72fa22f..6fd3e951 100644 --- a/docs/html/classtvg_1_1LinearGradient__inherit__graph.map +++ b/docs/html/classtvg_1_1LinearGradient__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classtvg_1_1LinearGradient__inherit__graph.md5 b/docs/html/classtvg_1_1LinearGradient__inherit__graph.md5 index a4a6519f..98e77692 100644 --- a/docs/html/classtvg_1_1LinearGradient__inherit__graph.md5 +++ b/docs/html/classtvg_1_1LinearGradient__inherit__graph.md5 @@ -1 +1 @@ -2edf487fdc41b1e6bc31c0b82be8e52f \ No newline at end of file +c3db0510d28e17e6d0f350e1e207e474 \ No newline at end of file diff --git a/docs/html/classtvg_1_1LinearGradient__inherit__graph.png b/docs/html/classtvg_1_1LinearGradient__inherit__graph.png index f4a285c91de5ec631df63fdfb3f9563f7f003afa..1f73daa677cba049ae388711df585a035fc30aad 100644 GIT binary patch literal 1810 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 + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@
- + +/* @license-end */
This is the complete list of members for Paint, including all inherited members.

- - - - - - - - - - - + + + + + + + + + + + +
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
duplicate() const noexceptPaint
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
duplicate() const noexceptPaint
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
diff --git a/docs/html/classtvg_1_1Paint.html b/docs/html/classtvg_1_1Paint.html index bbe97c5d..baf4c1fa 100644 --- a/docs/html/classtvg_1_1Paint.html +++ b/docs/html/classtvg_1_1Paint.html @@ -1,9 +1,9 @@ - + - + ThorVG: Paint @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
Inheritance graph
- - - + + + +
[legend]
- + - + - + - + - + - + - + - - - + + + + + + - + - + - +

Public Member Functions

Result rotate (float degree) noexcept
 Sets the angle by which the object is rotated. More...
 Sets the angle by which the object is rotated. More...
 
Result scale (float factor) noexcept
 Sets the scale value of the object. More...
 Sets the scale value of the object. More...
 
Result translate (float x, float y) noexcept
 Sets the values by which the object is moved in a two-dimensional space. More...
 Sets the values by which the object is moved in a two-dimensional space. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the object. More...
 Sets the matrix of the affine transformation for the object. More...
 
Matrix transform () noexcept
 Gets the matrix of the affine transformation of the object. More...
 Gets the matrix of the affine transformation of the object. More...
 
Result opacity (uint8_t o) noexcept
 Sets the opacity of the object. More...
 Sets the opacity of the object. More...
 
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 Sets the composition target object and the composition method. More...
 
Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 Duplicates the object. More...
 
uint8_t opacity () const noexcept
 Gets the opacity value of the object. More...
 Gets the opacity value of the object. More...
 
CompositeMethod composite (const Paint **target) const noexcept
 Gets the composition target object and the composition method. More...
 Gets the composition target object and the composition method. More...
 

Detailed Description

An abstract class for managing graphical elements.

-

A graphical element in TVG is any object composed into a Canvas. Paint represents such a graphical object and its behaviors such as duplication, transformation and composition. TVG recommends the user to regard a paint as a set of volatile commands. They can prepare a Paint and then request a Canvas to run them.

+

A graphical element in TVG is any object composed into a Canvas. Paint represents such a graphical object and its behaviors such as duplication, transformation and composition. TVG recommends the user to regard a paint as a set of volatile commands. They can prepare a Paint and then request a Canvas to run them.

Member Function Documentation

- -

◆ bounds()

+ +

◆ bounds() [1/2]

@@ -136,7 +143,7 @@ Public Member Functions - + @@ -182,13 +189,119 @@ Public Member Functions
Result bounds TVG_DEPRECATED Result bounds ( float *  x,
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
Note
The bounding box doesn't indicate the final rendered region. It's the smallest rectangle that encloses the object.
+
See also
Paint::bounds(float* x, float* y, float* w, float* h, bool transformed);
+ +
+
+ +

◆ bounds() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result bounds (float * x,
float * y,
float * w,
float * h,
bool transformed 
) const
+
+noexcept
+
+ +

Gets the axis-aligned bounding box of the paint object.

+
Parameters
+ + + + + + +
[out]xThe x coordinate of the upper left corner of the object.
[out]yThe y coordinate of the upper left corner of the object.
[out]wThe width of the object.
[out]hThe height of the object.
[in]transformedif true, apply the transformation of the paint.
+
+
+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
+
Note
The bounding box doesn't indicate the actual drawing region. It's the smallest rectangle that encloses the object.
+

@BETA_API

+ +
+
+ +

◆ composite() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
CompositeMethod composite (const Paint ** target) const
+
+noexcept
+
+ +

Gets the composition target object and the composition method.

+
Parameters
+ + +
[out]targetThe paint of the target object.
+
+
+
Returns
The method used to composite the source object with the target.
+
Since
0.5
-

◆ composite() [1/2]

+

◆ composite() [2/2]

@@ -229,42 +342,7 @@ Public Member Functions -
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
- -
-
- -

◆ composite() [2/2]

- -
-
- - - - - -
- - - - - - - - -
CompositeMethod composite (const Paint ** target) const
-
-noexcept
-
- -

Gets the composition target object and the composition method.

-
Parameters
- - -
[out]targetThe paint of the target object.
-
-
-
Returns
The method used to composite the source object with the target.
+
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
@@ -295,10 +373,38 @@ Public Member Functions

Creates a new object and sets its all properties as in the original object.

Returns
The created object when succeed, nullptr otherwise.
+
+ + +

◆ opacity() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t opacity () const
+
+noexcept
+
+ +

Gets the opacity value of the object.

+
Returns
The opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
+
-

◆ opacity() [1/2]

+

◆ opacity() [2/2]

@@ -328,37 +434,9 @@ Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
Note
Setting the opacity with this API may require multiple render pass for composition. It is recommended to avoid changing the opacity if possible.
-
-
- -

◆ opacity() [2/2]

- -
-
- - - - - -
- - - - - - - -
uint8_t opacity () const
-
-noexcept
-
- -

Gets the opacity value of the object.

-
Returns
The opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
@@ -393,7 +471,7 @@ Public Member Functions -
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
@@ -428,12 +506,47 @@ Public Member Functions -
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+ + + + +

◆ transform() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
Matrix transform ()
+
+noexcept
+
+ +

Gets the matrix of the affine transformation of the object.

+

The values of the matrix can be set by the transform() API, as well by the translate(), scale() and rotate(). In case no transformation was applied, the identity matrix is returned.

+
Return values
+ + +
Theaugmented transformation matrix.
+
+
+
Since
0.4
-

◆ transform() [1/2]

+

◆ transform() [2/2]

@@ -464,42 +577,7 @@ Public Member Functions -
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ transform() [2/2]

- -
-
- - - - - -
- - - - - - - -
Matrix transform ()
-
-noexcept
-
- -

Gets the matrix of the affine transformation of the object.

-

The values of the matrix can be set by the transform() API, as well by the translate(), scale() and rotate(). In case no transformation was applied, the identity matrix is returned.

-
Return values
- - -
Theaugmented transformation matrix.
-
-
-
Since
0.4
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
@@ -546,7 +624,7 @@ Public Member Functions -
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
@@ -555,7 +633,7 @@ Public Member Functions diff --git a/docs/html/classtvg_1_1Paint__inherit__graph.map b/docs/html/classtvg_1_1Paint__inherit__graph.map index c2c0cbd6..d5d483d6 100644 --- a/docs/html/classtvg_1_1Paint__inherit__graph.map +++ b/docs/html/classtvg_1_1Paint__inherit__graph.map @@ -1,5 +1,6 @@ - - - + + + + diff --git a/docs/html/classtvg_1_1Paint__inherit__graph.md5 b/docs/html/classtvg_1_1Paint__inherit__graph.md5 index ba72cb8c..4ab1240e 100644 --- a/docs/html/classtvg_1_1Paint__inherit__graph.md5 +++ b/docs/html/classtvg_1_1Paint__inherit__graph.md5 @@ -1 +1 @@ -3efaf1f005860c5cc87fb94f8afe22b0 \ No newline at end of file +c456acef28899fc544ed71aa41208138 \ No newline at end of file diff --git a/docs/html/classtvg_1_1Paint__inherit__graph.png b/docs/html/classtvg_1_1Paint__inherit__graph.png index b1e8f505403b90b01d5996b734bfb9c1e6d3d3df..feb7694d0bfc6c85ac0b70e46ff95d14d85df397 100644 GIT binary patch literal 4512 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 AO#lD@ literal 4609 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 diff --git a/docs/html/classtvg_1_1Picture-members.html b/docs/html/classtvg_1_1Picture-members.html index 69fdaff7..5174e01f 100644 --- a/docs/html/classtvg_1_1Picture-members.html +++ b/docs/html/classtvg_1_1Picture-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
This is the complete list of members for Picture, including all inherited members.

- - - - - - - - - - - - - + + + + + + + + + + + + + @@ -98,7 +101,7 @@ $(function() { diff --git a/docs/html/classtvg_1_1Picture.html b/docs/html/classtvg_1_1Picture.html index fceba240..dde66f39 100644 --- a/docs/html/classtvg_1_1Picture.html +++ b/docs/html/classtvg_1_1Picture.html @@ -1,9 +1,9 @@ - + - +ThorVG: Picture @@ -24,7 +24,7 @@ @@ -32,18 +32,21 @@
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
data(uint32_t *w, uint32_t *h) const noexceptPicture
duplicate() const noexceptPaint
gen() noexceptPicturestatic
load(const std::string &path) noexceptPicture
load(const char *data, uint32_t size, bool copy=false) noexceptPicture
load(const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexceptPicture
load(uint32_t *data, uint32_t w, uint32_t h, bool copy) noexceptPicture
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
paint(std::unique_ptr< Paint > paint) noexceptPicture
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
data(uint32_t *w, uint32_t *h) const noexceptPicture
duplicate() const noexceptPaint
gen() noexceptPicturestatic
load(const std::string &path) noexceptPicture
load(const char *data, uint32_t size, bool copy=false) noexceptPicture
load(const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexceptPicture
load(uint32_t *data, uint32_t w, uint32_t h, bool copy) noexceptPicture
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
size(float w, float h) noexceptPicture
ThorVG -  v0.4 +  v0.5
- + +/* @license-end */
-

A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas. +

A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas. More...

Inheritance diagram for Picture:
Inheritance graph
- + +
[legend]
- + - + - + - + - + - + - - - + - + @@ -135,9 +137,12 @@ Public Member Functions - - - + + + + + + @@ -151,11 +156,11 @@ Public Member Functions - +

Public Member Functions

Result load (const std::string &path) noexcept
 Loads a picture data directly from a file. More...
 Loads a picture data directly from a file. More...
 
TVG_DEPRECATED Result load (const char *data, uint32_t size, bool copy=false) noexcept
 Loads a picture data from a memory block of a given size. More...
 Loads a picture data from a memory block of a given size. More...
 
Result load (const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexcept
 Loads a picture data from a memory block of a given size. More...
 Loads a picture data from a memory block of a given size. More...
 
Result size (float w, float h) noexcept
 Resize the picture content with the given width and height. More...
 Resize the picture content with the given width and height. More...
 
Result size (float *w, float *h) const noexcept
 Gets the size of the image. More...
 Gets the size of the image. More...
 
const uint32_t * data (uint32_t *w, uint32_t *h) const noexcept
 Gets the pixels information of the picture. More...
 Gets the pixels information of the picture. More...
 
Result paint (std::unique_ptr< Paint > paint) noexcept
 
Result load (uint32_t *data, uint32_t w, uint32_t h, bool copy) noexcept
 Loads a raw data from a memory block with a given size. More...
 Loads a raw data from a memory block with a given size. More...
 
Result viewbox (float *x, float *y, float *w, float *h) const noexcept
 Gets the position and the size of the loaded SVG picture. More...
 Gets the position and the size of the loaded SVG picture. More...
 
- Public Member Functions inherited from Paint
Result rotate (float degree) noexcept
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 
Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 

Static Public Member Functions

static std::unique_ptr< Picturegen () noexcept
 Creates a new Picture object. More...
 Creates a new Picture object. More...
 

Detailed Description

-

A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas.

+

A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas.

Note
Supported formats are depended on the available TVG loaders.

Member Function Documentation

@@ -194,6 +199,7 @@ Static Public Member Functions

Gets the pixels information of the picture.

Warning
Please do not use it, this API is not official one. It could be modified in the next version.
+

@BETA_API

@@ -220,58 +226,13 @@ Static Public Member Functions
-

Creates a new Picture object.

-
Returns
A new Picture object.
- -
- - -

◆ load() [1/4]

- -
-
- - - - - -
- - - - - - - - -
Result load (const std::string & path)
-
-noexcept
-
- -

Loads a picture data directly from a file.

-
Parameters
- - -
[in]pathA path to the picture file.
-
-
-
Return values
- - - - - -
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case the path is invalid.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
-
-
-
Note
The Load behavior can be asynchronous if the assigned thread number is greater than zero.
-
See also
Initializer::init()
+

Creates a new Picture object.

+
Returns
A new Picture object.
-

◆ load() [2/4]

+

◆ load() [1/4]

@@ -321,20 +282,20 @@ Static Public Member Functions
Return values
- - - - + + + +
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case no data are provided or the size is zero or less.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case no data are provided or the size is zero or less.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
Warning
: you have responsibility to release the data memory if the copy is true
-
See also
Result load(const char* data, uint32_t size, const std::string& mimeType, bool copy = false) noexcept
+
See also
Result load(const char* data, uint32_t size, const std::string& mimeType, bool copy = false) noexcept
-

◆ load() [3/4]

+

◆ load() [2/4]

@@ -391,14 +352,60 @@ Static Public Member Functions
Return values
- - - - + + + +
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case no data are provided or the size is zero or less.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case no data are provided or the size is zero or less.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
Warning
: you have responsibility to release the data memory if the copy is true
+
Since
0.5
+ +
+
+ +

◆ load() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
Result load (const std::string & path)
+
+noexcept
+
+ +

Loads a picture data directly from a file.

+
Parameters
+ + +
[in]pathA path to the picture file.
+
+
+
Return values
+ + + + + +
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case the path is invalid.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
+
+
+
Note
The Load behavior can be asynchronous if the assigned thread number is greater than zero.
+
See also
Initializer::init()
@@ -450,11 +457,12 @@ Static Public Member Functions

Loads a raw data from a memory block with a given size.

Warning
Please do not use it, this API is not official one. It could be modified in the next version.
+

@BETA_API

- -

◆ paint()

+ +

◆ size() [1/2]

@@ -463,11 +471,21 @@ Static Public Member Functions - + - - + + + + + + + + + + + +
Result paint Result size (std::unique_ptr< Paintpaint)float * w,
float * h 
) const
@@ -476,12 +494,21 @@ Static Public Member Functions
-

Must remove it!

+ +

Gets the size of the image.

+
Parameters
+ + + +
[out]wThe width of the image in pixels.
[out]hThe height of the image in pixels.
+
+
+
Returns
Result::Success when succeed.
-

◆ size() [1/2]

+

◆ size() [2/2]

@@ -523,53 +550,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
- -
-
- -

◆ size() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result size (float * w,
float * h 
) const
-
-noexcept
-
- -

Gets the size of the image.

-
Parameters
- - - -
[out]wThe width of the image in pixels.
[out]hThe height of the image in pixels.
-
-
-
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
@@ -621,6 +602,7 @@ Static Public Member Functions

Gets the position and the size of the loaded SVG picture.

Warning
Please do not use it, this API is not official one. It could be modified in the next version.
+

@BETA_API

@@ -629,7 +611,7 @@ Static Public Member Functions diff --git a/docs/html/classtvg_1_1Picture__inherit__graph.map b/docs/html/classtvg_1_1Picture__inherit__graph.map index 9c31d3e4..4fa48ee1 100644 --- a/docs/html/classtvg_1_1Picture__inherit__graph.map +++ b/docs/html/classtvg_1_1Picture__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classtvg_1_1Picture__inherit__graph.md5 b/docs/html/classtvg_1_1Picture__inherit__graph.md5 index b7e62634..69e97cd8 100644 --- a/docs/html/classtvg_1_1Picture__inherit__graph.md5 +++ b/docs/html/classtvg_1_1Picture__inherit__graph.md5 @@ -1 +1 @@ -f0bd8f7cbee3bc2bf96247af82c1a723 \ No newline at end of file +0b8550a77e51777da10f3bd3b30e5ee9 \ No newline at end of file diff --git a/docs/html/classtvg_1_1Picture__inherit__graph.png b/docs/html/classtvg_1_1Picture__inherit__graph.png index 5f9b7575afac44e9623db88b5af473870afb4b51..1aeb6e1ea2ffbd87eddb4d2d04e59ce514a0e51a 100644 GIT binary patch literal 1620 zcmV-a2CMmrP)~U5Clw#O0|iW#P-QUAMkj2!A8iYDuklYKW@A4u-aEk zX-kpOe)Y*tp5QmK6Z{(Z=ROAuIr z!JnU@_^PU^bUNM2%8JwJR45dUjg3+5M@B{_CnrCB`czt4dh_N@@H4Tw1c4S788K~lWHN5!*s)_Cj|Wyf5hPUKCIY)7$Fy2) zQ&W@CXcUXZo12>wi6rsf4)67LCtF)vB9SO7E6eG0-nemNPv_?5<}NHOKn#XQo!#Bt z4Gj%Kp-`n#6%`fj>D-2fhKm<3!W`Au(>KBE(7}TAI&{b(I`M+�#R6H`s&t=PIGP zZ)j);qRW>r=}VX75KDlSm6iPb{5VFjZ?9aP02N9q{XHWi4{oP%>jc!b&Z}4d$mNE{ zMk8XssORVC=pWoC!vsMTcIxUukuU~xtfb{gV(NPCV z*GP2^4?EJ+(*OVr6L|7u&g1bTbB#{t_O}1&)4v!d!0q~c%(G|n$h@P|X*R#}`JFBvGO>|`h>f8@A4f4-|T#WM--ixFJDFx z3!l7r@gkxnRpuwri5EoY-chMk5PO45GV9(#dX67Ie&NCeolYkbi2wi=izV)facy`a z$?>#UEEbEUv$NCh_j7L%IOOarZ*y~V^?LoAH$N6!hUaY{5a{jg)o3)8m6c;-W1*ue zl`3Qwk>}y+9>gSxTkSmX?;#YfzGduR7t%l`HM-?KDlVudhFN z@PKO+i^Wc-Gh}n-%$dQ#L9f?K)AYT2_jc>5yu7@%wbki#`h32{#l<^!?j#WpU+cy- z8jZ)}sjI6C27{rjtEs8Eb?er*Z{N6dsIRYYZEbz@=#fk&tEs7Z{rYv(t|}@jD2i%o zYI3<;r%s&;&*8+O*svw~LqkIvjpm?kp>2MX$1@#jL{|}qN{<$1^=a$Ev2-qK$QN2(&^j7 zY-%Z`g)%cb&HPT&H}Adg`}NICU#HWDA%q}H$@$p{&1>;kj>{C=f+Mr zx0GOUh{fVVhYmTN&V?#F9FDZt0IHy7+o5=v4606-}L0JGVgwvOFykG*ue-2gB(HI=$mQtWnn+LRWb8};WKkH-UmNF)LP z4<9}(E-qfRYSqS#8*kmZ1#^!{48yEe>-O#2MIzCqOP2s(*REXvP*_+q8#Qh*R;*aDckkXWU%nuO!r}18j~@ep07B^H%a;IPx7!okY&IK0Xm)mX{@&%g zrJr*x2D{y^P$&`#1pD1|Te!pL-R3>e>e*Jm?;Pa_TBLP}EB?*Va6%`dNEiGkb zWivA~_wL=BUneJr#t&E;yAA{bp-_m==Z8X}ix)2ffY0Y!OhdolPe}qax{1Z&D_5@6 z)YK@IN`*pETU&eJz=70Fii(O#N=kmA>*UWOZEoCrlAUmF?1Xb;CycrUgJCAarJr;4 z^z={_%xe9oyj;%bGxdh1{d}Yf4C5CRG^|{iIHg_=%leK(Asrokg@vc<>;GUZB6H_k zTU#FhJbgOo_s=jBks&vqZ~ED@K>(PYCAzx)W+o^@ZjT?oBZw#fU>Ihxyk#aRLvF3D zZ^>Ig(P*^0`}6oXHQ&%u!-U)Txc~KQJ2`Fu0DyIN_A?Nd3Agt4UVtC>k`Y2U{)U0L zOt|6r8-!wm2GJ<$?HzWxCh3k#yPMNF@$Q{F8l6+f*ethqeLP^ zYb))CCGBoF{+1w!`Q@KJc|U*l(i)mxw+|mi9gcsKPD=#>UPlMLhb6skZEbz=SIBr~ zX9=_UPg+@ zjh%3A>?E7r=KOAIHk)aUB^3V7=jYMae^pggyiSteyUG6rv5wZ()`XHIZo7ByW+E4= zvDs`1CE0wwac=A+o82;bE@;o5J+W<}P*_}CeCpIGsZ=^TI;vKyU%YrhU3$wR!*Mej zjaIAGVzD$eH4y}H`SN7|5DJC0wY3X1@pwFk4Xq{_0`nW3=9kq1Yt6nR4P?@dAY%0AQv%U!fkqbdU|>~ z6bgAfo~EXzEnBv%S+gd#7sv7L?(S>XuHCqC!{u^4c<=xKZr{EQ02YfSb!1Q!7w;DNUlq;Br<%)u&%D||MqVG@3hi?kqLQ4BeWWo5|$@k}@_nCX>m? zZMj@7m&;Rhh2}mM8>{^F>(?Vkj>O7^Lg7-Aq~+Prb?er7yRV$H(If$t6O_POe|SPQHVIKwxrm$B6Z{NPVckg;U9;ef(*Xz@ssPm!4O|4e%*s2xPgo|MUCTCH}eX<+e( zdrM18b#?WxGqG3_jg5^Gi6s78TsF@qIX8B~xv>+@jh!T!b2T + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */ - + +/* @license-end */
-

A class representing the radial gradient fill of the Shape object. +

A class representing the radial gradient fill of the Shape object. More...

Inheritance diagram for RadialGradient:
Inheritance graph
- + +
[legend]
- + - + @@ -107,17 +111,17 @@ Public Member Functions - +

Public Member Functions

Result radial (float cx, float cy, float radius) noexcept
 Sets the radial gradient bounds. More...
 Sets the radial gradient bounds. More...
 
Result radial (float *cx, float *cy, float *radius) const noexcept
 Gets the radial gradient bounds. More...
 Gets the radial gradient bounds. More...
 
- Public Member Functions inherited from Fill
Result colorStops (const ColorStop *colorStops, uint32_t cnt) noexcept
 Gets the FillSpread value of the fill. More...
 
Fillduplicate () const noexcept
 Creates a copy of the Fill object. More...
 Creates a copy of the Fill object. More...
 
- +

Static Public Member Functions

static std::unique_ptr< RadialGradientgen () noexcept
 Creates a new RadialGradient object. More...
 Creates a new RadialGradient object. More...
 

Detailed Description

-

A class representing the radial gradient fill of the Shape object.

+

A class representing the radial gradient fill of the Shape object.

Member Function Documentation

◆ gen()

@@ -142,67 +146,13 @@ Static Public Member Functions
-

Creates a new RadialGradient object.

-
Returns
A new RadialGradient object.
- -
-
- -

◆ radial() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
Result radial (float cx,
float cy,
float radius 
)
-
-noexcept
-
- -

Sets the radial gradient bounds.

-

The radial gradient bounds are defined as a circle centered in a given point (cx, cy) of a given radius.

-
Parameters
- - - - -
[in]cxThe horizontal coordinate of the center of the bounding circle.
[in]cyThe vertical coordinate of the center of the bounding circle.
[in]radiusThe radius of the bounding circle.
-
-
-
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
+

Creates a new RadialGradient object.

+
Returns
A new RadialGradient object.
-

◆ radial() [2/2]

+

◆ radial() [1/2]

@@ -251,7 +201,61 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
+ +
+
+ +

◆ radial() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result radial (float cx,
float cy,
float radius 
)
+
+noexcept
+
+ +

Sets the radial gradient bounds.

+

The radial gradient bounds are defined as a circle centered in a given point (cx, cy) of a given radius.

+
Parameters
+ + + + +
[in]cxThe horizontal coordinate of the center of the bounding circle.
[in]cyThe vertical coordinate of the center of the bounding circle.
[in]radiusThe radius of the bounding circle.
+
+
+
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
@@ -260,7 +264,7 @@ Static Public Member Functions diff --git a/docs/html/classtvg_1_1RadialGradient__inherit__graph.map b/docs/html/classtvg_1_1RadialGradient__inherit__graph.map index 5075dae2..4de59aa6 100644 --- a/docs/html/classtvg_1_1RadialGradient__inherit__graph.map +++ b/docs/html/classtvg_1_1RadialGradient__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classtvg_1_1RadialGradient__inherit__graph.md5 b/docs/html/classtvg_1_1RadialGradient__inherit__graph.md5 index 4642d01a..fa8af78c 100644 --- a/docs/html/classtvg_1_1RadialGradient__inherit__graph.md5 +++ b/docs/html/classtvg_1_1RadialGradient__inherit__graph.md5 @@ -1 +1 @@ -dbae08bc0e246ca8a5fb4cea6179e098 \ No newline at end of file +7d9ed750e4461d9e03c1d214d789095e \ No newline at end of file diff --git a/docs/html/classtvg_1_1RadialGradient__inherit__graph.png b/docs/html/classtvg_1_1RadialGradient__inherit__graph.png index f5e97f88b9f3c866af5d9dec6e903ae3017369ad..cdf54c672d5df7f17feb5b90a68d7221b3438271 100644 GIT binary patch literal 1905 zcmb_dc~lbU7Dpu^Tyo6RWYOc8&na`k4VT81 z001gzFL$iWX2?zqSYD<(m9v;KqZsOa)*W#0P3n3d7XttwL$tdKj#Rx&jrO{912#BX z{j7dGKQfIDK0FN+wEP44+DhzEG7SE^8b#xaYg~iRT_Y@+;hIxsOykx4>($r(SLHe5 zr}N8`w?6mAo@OW=c7wu0?JOe(msu!bV#kP+sDw@3+U>a?j~Lykjvf_Ni>fzpBCtLM zoRMB64+pq_4g>7cLGZp}2t3`aYJ}LPWtJ|C0==`RfJGVOi_0r3iW7`cQ9KH!#|)QG zL#P4UBSsPTGkM|kPg`F~r&k?jMiqeYzD(5_Gy)`_p*J7*=Rh=Q@AD$b;AILATRtw_ z#9fQ?L9KJ-D8^^@Pop&ZW&R<#T8{qw#af>a>a{R~OKgk&b}%9VaKtV>*G4szs9c`C z_TZ@Qdz4q`n4H4`;4haf&4JsXy>69!wCk{z^p0cI2&XkFLPUyctrWtnm)NIwU4fM^ zUbw2R9fEkQJ;g7QgbLzo6k${Zbzi!1wO*{%xMpKQ00`wA*a%CT1N6beCuRwn+v0!s zKfVxOh}b#`G&eWr3#@?f+%pbIGiyB%MK_?!!$*%SZ6q#(SC16JQPh;?<{yAAnBS|p zTav*-`dD7T3x5!wPhVa>!2AyD)qz}OA2@=cc~*B4$Nt!kOM39nRtQl3FM zzE4Z%(bDxR);3xz3#4OU9|g})6;n7+o=+eQY^akf5ObAgLE@wl;HqexDTY zpmD5o>L6eOHJy=F&LnE4q(loM(FuuUvY)}ZV-P1@pQA^0zwV=(u%*6Hh;pZLiqNN2tgR+dXfY@Hx7ZH!~Q z!&^3mh?4>Pq6qn8IU`KE_Zb(^_lxif$@{JVfhi1r z;jT~Na6HSnR#sMw=xNsadR%*ePjvjsyI*%DtL)p7DE_1KcsxEZFmSWa`QUo2bxbz` znAs0Hg18 zML0ZnHfS548XKEQV%p}!qF@RN3gL9=``+6c9)T@?EVR{}xgCzIKsercF2kiy`0P!u zA_{YbF)!a{_|XKB3_I$Zxj1u?b<{MgH)S`8;#E>pLktdn$LG71b#-+?l@%*|49mDG zif+T!9|U3QVBp6%X^-~sjpqI<0nDV+60<^Gr`9J=Ff_sOZw|#j~EC58e`#2KLEndF~tz$0UU1fJ8Q6n-|vW>+7p*qFKoshT6*NKuXd2ggLq> zl2J)~Gdz56B3xGEL+mG6%Nn}?o3Volbr>Vfn=wCJ-Ag?fD*js|ZTLcBYal&`D2rQ< zF$&)b>)$8qsezFe7N)_^F+oAy@uD}+o>|`2Ga+>2aJZ7<;^LYbM=Pr){-=ffFyzF} z&JHIZdibt36#DbT6&YI6@}yvLG6;+9aDM6m4L+xx?HW7xx^$tPVHC{LAKsEW*JFN~ z=xAze%p_7PD$w5EM}Ph;mCf$#wC)Zh65lg!jC&Osppoy-<7Cl%sdif*hl+D@a(Fx* z#z;e1QER6FSY~$U&>;qcu}LJdQ&aZ$q}jVJCrb+o3QT&=JFo^Uf>Kjcy}gxs?`$tk zT<(g3+a)|{Xb7F^yve)iTaBvsqg|+VBoK);RaH%kkP=D*b{)kVEp}W?TBZy?Pqt^K7@sZE!C{E$Yqry;rzv|Up_-t*%$@{s-g2nkfJP literal 2259 zcmb_ei9gg^8~>qKgCdGMd}5F&!X(CCk#$H@*@4>S%LoGiu;1Fs z>=MW$z=eYdg1eH@vKGh$y=*MafFD0+QRBl50DzFJ%}negsfz^xwg+cr+J7YC@5mP? z+gF<%8WXTQ?a^b+VnMH9i+oXcMhR`oIIOAk!gM|elkxV6 z5DQOu6&XJJk-?7~#Ze^5p~p+qLrx!1rDccB_BKCU*35<99+`cAW^EpA@ctc1FLmN| zQAdz&@j-Z&sB$*kR>Ly~{f3k%>Ot<#);w3*2a#=2W-^(BwV1oTCj)DrW}{Oq5>it| zi@lv`Os2GefPiUxb$6{Bo=@JuK&Bo$B4v>DFGY&g3?#M-Je5vu=1L@W9^IE=1I6Rb z6)A6v>+1*Vj$8|%N_59yZ=UqkmLVo3xzycl_2N!Xi=51&Jcl{Zm6$+r?bPSXgPNDNC&{*HA1iZ?VcNV|WZi<8AJ!@q4UH&?n& zH{TGHOIMFIt6JUS^z_7zf5QGq85+`NwYwHdD3JoTPj8UVl=F5rT!1*_dg*IFYO+no z&eAJ)4>*($IJ3P1v$eGqqIT#rh@7k}pYmlp>6BBxK|AK7X7Az~I6R(pU40X=PtV&w zAUH^BeB5~(xLL|5xz6A zGjnt8J@=UCQcA+5kH=A}(- zJee7ypyu>=L0dMnHU$!~w9UP5WLmwz7FJK{>k|qbs*}n`RO&o$ym=~qY3av!K6W=4 zvG|~g@853dsi(c5MGD#OExo;x#ie>81A1!QC;yDjPZa$Zr2jub7fu9q?9gEVpWwW$ z`)*(ZMwoVf(kzV3A7C9jaiXq&J(GT6252bh_wVCy0-v+XIg6j_H67#x*@NlbFMc8G zZ}jZb#Cv;r^&|}rI#cyS1fRJzx`e(hE>>W%SUI~fvtQPvrKL^${EkZ;JSYx>kvSZ6 zXhejjK}M-`!G5ewFa~qfUR4sLx%qj8j7}69y@0#w?(SYzR<=DkJ-Z%7HI9~2q(E9* zTOU1nVrp-HXmxdUWp&afIfO^Kak{0Y#mdTR^myNihR*ekjbt;$cr!&491dPfr}vGF zkT;e`4DAQlY_Z(j+}O>VVPRnqF)>RM6F$WwN5my02ovpO?~SEl&=sPXakYtCdZ{6i zZtB-MUogFDpdhI^K7~IAhk~)OY)ws#6%t86()i(9r7mx zPeq%l0hlCIYG7X>g%V$CNzUtEnwvAlJv2EvnUk0I=4IHtEn8Mr);uzj zaiy`k8s1$U?%(4x*_FAnwsy|l9fkU3ZO)-srQ30@0Fccjxf<6_Yj@ja;eX-d3obX`fHHvsnrjw)N^(guUJ3Fsi zw>W<;PfbxvNpx4RnywxU?xi_qX0UUPaU*p60syk-__PuxcbjD>|D5{bl(vxGXXX)O%a2u!~# zXxZJ_qU7cMJ~ZS4=4ufb`f2uq`bU1x+D!TR`BAQ}BB>K7XJ=AFgVC4u^|3!_HrEYZ z++BXyoZ^37h!L z?rfC{g+&a;;E;OwAZF$Gf9lRZ>*Ao%wzIuGmj%7os)ayYr?X9$@^k{ya&j1D@z8CB uOk|B`i(tiVjgV4{--xosCI2g`yJE4UQttZJO2ObS1+X@^GpjQ7Ap8aRdr{2* diff --git a/docs/html/classtvg_1_1Saver-members.html b/docs/html/classtvg_1_1Saver-members.html index 10b1340c..ec5929af 100644 --- a/docs/html/classtvg_1_1Saver-members.html +++ b/docs/html/classtvg_1_1Saver-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@
- + +/* @license-end */
This is the complete list of members for Saver, including all inherited members.

- +
gen() noexceptSaverstatic
save(std::unique_ptr< Paint > paint, const std::string &path) noexceptSaver
save(std::unique_ptr< Paint > paint, const std::string &path, bool compress=true) noexceptSaver
sync() noexceptSaver
diff --git a/docs/html/classtvg_1_1Saver.html b/docs/html/classtvg_1_1Saver.html index 02e79d3c..c21e6040 100644 --- a/docs/html/classtvg_1_1Saver.html +++ b/docs/html/classtvg_1_1Saver.html @@ -1,9 +1,9 @@ - + - + ThorVG: Saver @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */

Public Member Functions

-Result save (std::unique_ptr< Paint > paint, const std::string &path) noexcept - Export the given paint data to the given path. More...
-  +Result save (std::unique_ptr< Paint > paint, const std::string &path, bool compress=true) noexcept + Exports the given paint data to the given path. More...
Result sync () noexcept - Guarantees that the saving task is finished. More...
+ Guarantees that the saving task is finished. More...
  - +

Static Public Member Functions

static std::unique_ptr< Savergen () noexcept
 Creates a new Saver object. More...
 Creates a new Saver object. More...
 

Detailed Description

A class for exporting a paint object into a specified file, from which to recover the paint data later.

ThorVG provides a feature for exporting & importing paint data, the Saver has a role to export it to a file. Basically, this feature is useful when you need to save the composed scene or image from a paint object and recreate it later.

-

The file format is decided by the extension name(i.e. "*.tvg") while the supported formats depend on the TVG packaging environment. If it doesn't support the file format, it will return the NonSuppport result by the save() method.

-

Once you export a paint to the file successfully, you can recreate it using the Picture class.

-
See also
Picture::load()
+

The file format is decided by the extension name(i.e. "*.tvg") while the supported formats depend on the TVG packaging environment. If it doesn't support the file format, it will return the NonSuppport result by the save() method.

+

Once you export a paint to the file successfully, you can recreate it using the Picture class.

+
See also
Picture::load()
+
Since
0.5

Member Function Documentation

◆ gen()

@@ -124,11 +128,12 @@ Static Public Member Functions

Creates a new Saver object.

Returns
A new Saver object.
+
Since
0.5
- -

◆ save()

+ +

◆ save()

@@ -146,7 +151,13 @@ Static Public Member Functions const std::string &  - path  + path, + + + + + bool  + compress = true  @@ -161,24 +172,27 @@ Static Public Member Functions
-

Export the given paint data to the given path.

+

Exports the given paint data to the given path.

+

If the saver module supports any compression mechanism, it will optimize the data size. This might affect the encoding/decoding time slow down in cases, You can turn off the compression if your system whole focus on the speed.

Parameters
- + +
[in]paintThe paint to be saved with all its associated properties.
[in]pathA path to the file, in which the paint data is to be saved.
[in]pathA path to the file, in which the paint data is to be saved.
[in]compressUse data compression if it's available.
Return values
- - - + + +
Result::SuccessWhen succeed.
Result::NonSupportWhen trying to save a file with an unknown extension nor non supported format.
Result::UnknownOthers.
Result::SuccessWhen succeed.
Result::NonSupportWhen trying to save a file with an unknown extension nor non supported format.
Result::UnknownOthers.
-
Note
Saving can be asynchronous if the assigned thread number is greater than zero. To guarantee the saving is done, call sync() afterwards.
-
See also
Saver::sync()
+
Note
Saving can be asynchronous if the assigned thread number is greater than zero. To guarantee the saving is done, call sync() afterwards.
+
See also
Saver::sync()
+
Since
0.5
@@ -206,12 +220,13 @@ Static Public Member Functions

Guarantees that the saving task is finished.

-

The behavior of the saver will work on a sync/async basis, depending on the threading setting of the Initializer. Thus if you wish to have a benefit of it, you must call sync() after the save() in the proper delayed time. Otherwise, you can call sync() immediately.

-
Returns
Result::Success when succeed.
+

The behavior of the saver will work on a sync/async basis, depending on the threading setting of the Initializer. Thus if you wish to have a benefit of it, you must call sync() after the save() in the proper delayed time. Otherwise, you can call sync() immediately.

+
Returns
Result::Success when succeed.
-Result::InsufficientCondition otherwise.
+Result::InsufficientCondition otherwise.
Note
The asynchronous tasking is depend on the saver module implementation.
-
See also
Saver::save()
+
See also
Saver::save()
+
Since
0.5
@@ -220,7 +235,7 @@ Static Public Member Functions diff --git a/docs/html/classtvg_1_1Scene-members.html b/docs/html/classtvg_1_1Scene-members.html index e3e4bbc5..667a1f38 100644 --- a/docs/html/classtvg_1_1Scene-members.html +++ b/docs/html/classtvg_1_1Scene-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
This is the complete list of members for Scene, including all inherited members.

- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
clear(bool free=true) noexceptScene
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
duplicate() const noexceptPaint
gen() noexceptScenestatic
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
push(std::unique_ptr< Paint > paint) noexceptScene
reserve(uint32_t size) noexceptScene
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint
clear(bool free=true) noexceptScene
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
duplicate() const noexceptPaint
gen() noexceptScenestatic
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
push(std::unique_ptr< Paint > paint) noexceptScene
reserve(uint32_t size) noexceptScene
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
diff --git a/docs/html/classtvg_1_1Scene.html b/docs/html/classtvg_1_1Scene.html index 4616a3cf..13f76cb8 100644 --- a/docs/html/classtvg_1_1Scene.html +++ b/docs/html/classtvg_1_1Scene.html @@ -1,9 +1,9 @@ - + - + ThorVG: Scene @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
Inheritance graph
- + +
[legend]
- + - + - + @@ -118,9 +122,12 @@ Public Member Functions - - - + + + + + + @@ -134,7 +141,7 @@ Public Member Functions - +

Public Member Functions

Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Scene using Paint objects. More...
 Passes drawing elements to the Scene using Paint objects. More...
 
Result reserve (uint32_t size) noexcept
 Sets the size of the container, where all the paints pushed into the Scene are stored. More...
 Sets the size of the container, where all the paints pushed into the Scene are stored. More...
 
Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the scene to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 Sets the total number of the paints pushed into the scene to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
- Public Member Functions inherited from Paint
Result rotate (float degree) noexcept
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 
Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 

Static Public Member Functions

static std::unique_ptr< Scenegen () noexcept
 Creates a new Scene object. More...
 Creates a new Scene object. More...
 

Detailed Description

@@ -173,7 +180,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed
+
Returns
Result::Success when succeed
Warning
If you don't free the paints they become dangled. They are supposed to be reused, otherwise you are responsible for their lives. Thus please use the free argument only when you know how it works, otherwise it's not recommended.
Please do not use it, this API is not official one. It could be modified in the next version.
@@ -204,8 +211,8 @@ Please do not use it, this API is not official one. It could be modified in the
-

Creates a new Scene object.

-
Returns
A new Scene object.
+

Creates a new Scene object.

+
Returns
A new Scene object.
@@ -233,17 +240,17 @@ Please do not use it, this API is not official one. It could be modified in the
-

Passes drawing elements to the Scene using Paint objects.

-

Only pushed paints in the scene will be drawing targets. They are retained by the scene until you call Scene::clear(). If you know the number of the pushed objects in the advance, please call Scene::reserve().

+

Passes drawing elements to the Scene using Paint objects.

+

Only pushed paints in the scene will be drawing targets. They are retained by the scene until you call Scene::clear(). If you know the number of the pushed objects in the advance, please call Scene::reserve().

Parameters
- +
[in]paintA Paint object to be drawn.
[in]paintA Paint object to be drawn.
-
Returns
Result::Success when succeed, Result::MemoryCorruption otherwise.
+
Returns
Result::Success when succeed, Result::MemoryCorruption otherwise.
Note
The rendering order of the paints is the same as the order as they were pushed. Consider sorting the paints before pushing them if you intend to use layering.
-
See also
Scene::reserve()
+
See also
Scene::reserve()
@@ -271,7 +278,7 @@ Please do not use it, this API is not official one. It could be modified in the
-

Sets the size of the container, where all the paints pushed into the Scene are stored.

+

Sets the size of the container, where all the paints pushed into the Scene are stored.

If the number of objects pushed into the scene is known in advance, calling the function prevents multiple memory reallocation, thus improving the performance.

Parameters
@@ -279,7 +286,7 @@ Please do not use it, this API is not official one. It could be modified in the
-
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
@@ -288,7 +295,7 @@ Please do not use it, this API is not official one. It could be modified in the diff --git a/docs/html/classtvg_1_1Scene__inherit__graph.map b/docs/html/classtvg_1_1Scene__inherit__graph.map index eccf6f30..363f3c1b 100644 --- a/docs/html/classtvg_1_1Scene__inherit__graph.map +++ b/docs/html/classtvg_1_1Scene__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classtvg_1_1Scene__inherit__graph.md5 b/docs/html/classtvg_1_1Scene__inherit__graph.md5 index 41fb7b35..ea5ca2bf 100644 --- a/docs/html/classtvg_1_1Scene__inherit__graph.md5 +++ b/docs/html/classtvg_1_1Scene__inherit__graph.md5 @@ -1 +1 @@ -6229babcb4a5d1a23682fa16be43c81b \ No newline at end of file +e036cfb9024a5a214ab27e428762f2a6 \ No newline at end of file diff --git a/docs/html/classtvg_1_1Scene__inherit__graph.png b/docs/html/classtvg_1_1Scene__inherit__graph.png index d3d5dc147dcf3bd0555eadc14fd1414aa2e66ce5..9ff9ca1aa5ef17987827b362faade1e7ea07c9e6 100644 GIT binary patch literal 1666 zcmV-|27UR7P)00006VoOIv0RI60 z0RN!9r;`8x1~*AWK~#90?VMXo6ImF5&(P%}T?#1%1`4LeH*e9Wsxgs9AM`~MQf%V` zga_jVQ!()YLbgg`f-wXMCPXostQWMlG{#f~iDARlMA)^pyAt}KjU^-2N-R4L4bz!@ zn03OXQ)oLgaGLWyO;7(h|NrHjGd(RcU@XgmR3vS!3y=yV1{*0W_KVOPm6erp){!ta zn=NWPCUjNAFl^7BJtZY2QdX4|e!u_q>(_!;byffXfYoXhdUriwwOV7;pR#KViNOXE zOBxKrWXlDT6vKXk<9Ky-bubu=5zMY)w=JT4vLnV_TgS)8DT*?i&7#yK3gS#fjYf0* z`t{!4UI4)493@dZ^@R@TN&!^F78X6j+#ycF2XV0E}`SRt+kt3&0odQ4SDmMj0C`jm& z8?0jI!Jj@gHDxlHOeWKkfbZYGmz0z&3FeLog5ZuxlH9Oi!}6FFk#^_74b<-4yA=vW zdwV+oU~Fvc;K74xwHm{)+}vD(Afld#<2ZMaot;flRFY*ZM{sw)O4w!7#$+;CEEb#1 zmYbU!3Wd~a_3C?DM_0w=kR+*6sgz2k&*wXF;zV5MZrr%>{rmT#lp(&@?c2BO>+5rJ za`bxrfddEPI=8;Qe&4=*;*4923j_MvvK~QVuz|#21BoRKcNLZ`U92tD=;)}3nLd7; z1pw1(e-*34*yY9g!BngYI8>@K06-}8hq&De)h{?=;!c}LgxR_CHvoX!{Ys&bWB$vu z#)gNzGc!MCW_}D0d*#U}lbFNtXL`CKJze2&jLVZz4zX~Ub~;`2^O5=ah|}qso12#* zsT^XjUj0K+VeXis=KK36WJoH9n8PuimZsp26$(tA*(kZ#?Ce}$-`|l)gnLQT%*&Ua zP-sr-ypoH(c=3*=nT0Kp2-Dm9PU^gpi*ATiiLVz7b4U;~N4 z1`>mfloea_qyhKrfkb3v6lG)-N!S09=Q^VN4f^86i_)c+h^D5dB`s0J%F4>*s6|wk zi>2%uLt?Oj#9$+lTaHMQ?CR(;FXgJJvj?V=Z#42g&}H8m9$7B)9G z7Zw%h)7$8j7#bm$NOAQFk(y?eK(r-!EL zs;a8;@^SzG%d+?H-+%u6IZ2ZH_wP5G%~@Gl006yS-_X#|)z$U+^XDyFwp_SyVe{tA zG2-JTku|n!*RGb97LUgh4u==EKYaMm?RHTU*=FqeqV)KYruJ4U!}Q06jfD zX0y4txLB=L*VWZ=!A_^MuCA`As3<2V=k)2*0|NtmKj+V%$8kI>E6Zp!dcEEiMx$90JUu;KRaM2mTzKO%|4@5oW+p%Q zG2-JQsT(md4AW}0XV0EB8jS#ef`WpnsVQ!$@DvmjT)ldg|IY#|5^uZ^iA=>aXU_EX z^$`R?(=RKcI*HE96o%wy}g|vh;QG%wY9Zz!R6)UEiElRpD!E^PfScSHa5oY zJl=RA5*e}D+FHBa-r3n13Wf6X^L08Mm)>YJQWSOW+&P9}_~}$pQGsEY#bTMBp4Mu$ z3#VCB;*A$#(XF$OA3ru4js5-oiS@OH==FN5)q3pMF}@{bw^T?BHjo%>ATij8@&SG6 z(k0o;5T8Y2rKP0?gJG>oNd|+#P+D5LutmOyc4Q`H*BBCmjg%Gp4+a0uLbE2K9{>OV M07*qoM6N<$f&xxA8~^|S literal 1798 zcmV+h2l@DkP)4~3Xb76A~K#XC0=uM*eaHtmS-n~1XbtG4G#~aEGcp@3^SX}As12Z9{@OU;)F~lLsL>zuvjdrMTypb7$17W z_yoWTAT>30`}XZPj#CAjOr|jXI95cvf4aK5tXAvD$cSFA_jo*VxtuC8B_&0nP*5!$ z8X6J^1W^_P06j{EzyWO*w zM&lE1yfYV!Mq^G+PEaG4%f)fLy1LroaOCFZhFo#QiWLCB;Y3?N5Ha2y$@KJeX=!Ow zQ`6S1Tc@U`Zrr#rJ0>X!$)yj;Mx9RQea*e|%xCS+Rn};w)cYwO~Q;ur(UyeZLSxbh^Iu^y7yP zHO3)VJo-;tTOR;CeLCQ9Org$&+{bQrJ$p6)0B*PU$&)`(r$g@Z@Znpp*9QPB7OSPD z2X#8+KF!TNAW0`e4`_g7EJg@cD?|-oMRe8@h}LeQ)f z))#nY3&idAYPH>n@*??u6aYLP@9)3=>VMnO@qW#kjI^{R{+7|viDk={gjzK^;xOhV z2qHcG`2G8RaY)46Z_^vbhu$zg^oH@FH;fOxVSMNf<3n#4A9}<1&>O~w-Y`D&hVh{{ zj1RqGeCQ41LvI)#dXs2AGk%}bYPE>6@OZy*IKQCSvQ#P!R0#3=DLI4Ur=YpHIjALs zPeDOJJZgyrdc8iVCDHm1<3n!}%_oxQLtHMGMx%N0;)Ts-69@zni9{}!CnqPzytoL6 z#OKnbOIEA3uC6XEEe*$Ul}cr|+m9YS8uQ{JAd=(l<;#~96%`_pXz9|WVzKzhkt5_J zQ#ufd50A&w>2&_Nh+?t$?%lfp;Pd%z-n>~>R#sYCdiLyDr_)IWc)eb=S}l{wN=izU zN+mfVy0Ea&U@%lvRBYR}?bfYZVIq z3l}b!&F0&;Zt#){L`10k;N~LmOV1S(C3;-P+9TzWNtg5PNY-}VabW%m4^;x}o z_4Vu5RVtNOEPnj>@!q|ApFe*N0PXGV2M!z%3WeF(*$RciKQs8zqesV%9TNxy+1c5Z zm6bg`-<~Spv17;L#fvv@-VEO-s8U7Foq3-RrlzJkJ39*s3Pd82NF*vRFV|=^4Gj&2 zg@vP|qZt_)WLRcqW@ct4`TFzc&pUVS^lyR31;d_H`il^;G5p^wk!tFN!m%F0@` zY8BbCZrwVaPDj>fwOWNjApn?6rdO|Ck$>;N=kw2>KTl5Bb~>Fl+qdVHXHR*iikv(1 zKHe5CTv%LOTvu1u-Q8`mSPTZkl`B_@ii!ZBxVTuYRu2sg;W(~TDy`OU54{!@6*V+8 zjEs!nI8Jsss*TS*l8Q*KKQ%Qq8ja@a)vFeZh0o_pB$EC6_XB`jE_btKPR$X1~cDpxi+I0BvVX7_9J(3C*5%3IdQ&Uq}SsB^6e+p`AYXt&9 z;9XFnjo%m_dc*k88^(v;gt(s8*4D + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
appendCircle(float cx, float cy, float rx, float ry) noexceptShape appendPath(const PathCommand *cmds, uint32_t cmdCnt, const Point *pts, uint32_t ptsCnt) noexceptShape appendRect(float x, float y, float w, float h, float rx, float ry) noexceptShape - bounds(float *x, float *y, float *w, float *h) const noexceptPaint - close() noexceptShape - composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint - composite(const Paint **target) const noexceptPaint - cubicTo(float cx1, float cy1, float cx2, float cy2, float x, float y) noexceptShape - duplicate() const noexceptPaint - fill(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexceptShape - fill(std::unique_ptr< Fill > f) noexceptShape - fill(FillRule r) noexceptShape - fill() const noexceptShape - fillColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexceptShape - fillRule() const noexceptShape - gen() noexceptShapestatic - lineTo(float x, float y) noexceptShape - moveTo(float x, float y) noexceptShape - opacity(uint8_t o) noexceptPaint - opacity() const noexceptPaint - pathCommands(const PathCommand **cmds) const noexceptShape - pathCoords(const Point **pts) const noexceptShape - reset() noexceptShape - rotate(float degree) noexceptPaint - scale(float factor) noexceptPaint - stroke(float width) noexceptShape - stroke(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexceptShape - stroke(std::unique_ptr< Fill > f) noexceptShape - stroke(const float *dashPattern, uint32_t cnt) noexceptShape - stroke(StrokeCap cap) noexceptShape - stroke(StrokeJoin join) noexceptShape - strokeCap() const noexceptShape - strokeColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexceptShape - strokeDash(const float **dashPattern) const noexceptShape - strokeFill() const noexceptShape - strokeJoin() const noexceptShape - strokeWidth() const noexceptShape - transform(const Matrix &m) noexceptPaint - transform() noexceptPaint - translate(float x, float y) noexceptPaint + bounds(float *x, float *y, float *w, float *h) const noexceptPaint + bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint + close() noexceptShape + composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint + composite(const Paint **target) const noexceptPaint + cubicTo(float cx1, float cy1, float cx2, float cy2, float x, float y) noexceptShape + duplicate() const noexceptPaint + fill(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexceptShape + fill(std::unique_ptr< Fill > f) noexceptShape + fill(FillRule r) noexceptShape + fill() const noexceptShape + fillColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexceptShape + fillRule() const noexceptShape + gen() noexceptShapestatic + lineTo(float x, float y) noexceptShape + moveTo(float x, float y) noexceptShape + opacity(uint8_t o) noexceptPaint + opacity() const noexceptPaint + pathCommands(const PathCommand **cmds) const noexceptShape + pathCoords(const Point **pts) const noexceptShape + reset() noexceptShape + rotate(float degree) noexceptPaint + scale(float factor) noexceptPaint + stroke(float width) noexceptShape + stroke(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexceptShape + stroke(std::unique_ptr< Fill > f) noexceptShape + stroke(const float *dashPattern, uint32_t cnt) noexceptShape + stroke(StrokeCap cap) noexceptShape + stroke(StrokeJoin join) noexceptShape + strokeCap() const noexceptShape + strokeColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexceptShape + strokeDash(const float **dashPattern) const noexceptShape + strokeFill() const noexceptShape + strokeJoin() const noexceptShape + strokeWidth() const noexceptShape + transform(const Matrix &m) noexceptPaint + transform() noexceptPaint + translate(float x, float y) noexceptPaint
diff --git a/docs/html/classtvg_1_1Shape.html b/docs/html/classtvg_1_1Shape.html index 75cc5b89..35923fa9 100644 --- a/docs/html/classtvg_1_1Shape.html +++ b/docs/html/classtvg_1_1Shape.html @@ -1,9 +1,9 @@ - + - + ThorVG: Shape @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
Inheritance graph
- + +
[legend]
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -196,9 +200,12 @@ Public Member Functions - - - + + + + + + @@ -212,13 +219,13 @@ Public Member Functions - +

Public Member Functions

Result reset () noexcept
 Resets the properties of the shape path. More...
 Resets the properties of the shape path. More...
 
Result moveTo (float x, float y) noexcept
 Sets the initial point of the sub-path. More...
 Sets the initial point of the sub-path. More...
 
Result lineTo (float x, float y) noexcept
 Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point. More...
 Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point. More...
 
Result cubicTo (float cx1, float cy1, float cx2, float cy2, float x, float y) noexcept
 Adds new points to the sub-path, which results in drawing a cubic Bezier curve starting at the current point and ending at the given end-point (x, y) using the control points (cx1, cy1) and (cx2, cy2). More...
 Adds new points to the sub-path, which results in drawing a cubic Bezier curve starting at the current point and ending at the given end-point (x, y) using the control points (cx1, cy1) and (cx2, cy2). More...
 
Result close () noexcept
 Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path. More...
 Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path. More...
 
Result appendRect (float x, float y, float w, float h, float rx, float ry) noexcept
 Appends a rectangle to the path. More...
 Appends a rectangle to the path. More...
 
Result appendCircle (float cx, float cy, float rx, float ry) noexcept
 Appends an ellipse to the path. More...
 Appends an ellipse to the path. More...
 
Result appendArc (float cx, float cy, float radius, float startAngle, float sweep, bool pie) noexcept
 Appends a circular arc to the path. More...
 Appends a circular arc to the path. More...
 
Result appendPath (const PathCommand *cmds, uint32_t cmdCnt, const Point *pts, uint32_t ptsCnt) noexcept
 Appends a given sub-path to the path. More...
 Appends a given sub-path to the path. More...
 
Result stroke (float width) noexcept
 Sets the stroke width for all of the figures from the path. More...
 Sets the stroke width for all of the figures from the path. More...
 
Result stroke (uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept
 Sets the color of the stroke for all of the figures from the path. More...
 Sets the color of the stroke for all of the figures from the path. More...
 
Result stroke (std::unique_ptr< Fill > f) noexcept
 Sets the gradient fill of the stroke for all of the figures from the path. More...
 Sets the gradient fill of the stroke for all of the figures from the path. More...
 
Result stroke (const float *dashPattern, uint32_t cnt) noexcept
 Sets the dash pattern of the stroke. More...
 Sets the dash pattern of the stroke. More...
 
Result stroke (StrokeCap cap) noexcept
 Sets the cap style of the stroke in the open sub-paths. More...
 Sets the cap style of the stroke in the open sub-paths. More...
 
Result stroke (StrokeJoin join) noexcept
 Sets the join style for stroked path segments. More...
 Sets the join style for stroked path segments. More...
 
Result fill (uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept
 Sets the solid color for all of the figures from the path. More...
 Sets the solid color for all of the figures from the path. More...
 
Result fill (std::unique_ptr< Fill > f) noexcept
 Sets the gradient fill for all of the figures from the path. More...
 Sets the gradient fill for all of the figures from the path. More...
 
Result fill (FillRule r) noexcept
 Sets the fill rule for the Shape object. More...
 Sets the fill rule for the Shape object. More...
 
uint32_t pathCommands (const PathCommand **cmds) const noexcept
 Gets the commands data of the path. More...
 Gets the commands data of the path. More...
 
uint32_t pathCoords (const Point **pts) const noexcept
 Gets the points values of the path. More...
 Gets the points values of the path. More...
 
const Fillfill () const noexcept
 Gets the pointer to the gradient fill of the shape. More...
 Gets the pointer to the gradient fill of the shape. More...
 
Result fillColor (uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexcept
 Gets the solid color of the shape. More...
 Gets the solid color of the shape. More...
 
FillRule fillRule () const noexcept
 Gets the fill rule value. More...
 Gets the fill rule value. More...
 
float strokeWidth () const noexcept
 Gets the stroke width. More...
 Gets the stroke width. More...
 
Result strokeColor (uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexcept
 Gets the color of the shape's stroke. More...
 Gets the color of the shape's stroke. More...
 
const FillstrokeFill () const noexcept
 Gets the pointer to the gradient fill of the stroke. More...
 Gets the pointer to the gradient fill of the stroke. More...
 
uint32_t strokeDash (const float **dashPattern) const noexcept
 Gets the dash pattern of the stroke. More...
 Gets the dash pattern of the stroke. More...
 
StrokeCap strokeCap () const noexcept
 Gets the cap style used for stroking the path. More...
 Gets the cap style used for stroking the path. More...
 
StrokeJoin strokeJoin () const noexcept
 Gets the join style value used for stroking the path. More...
 Gets the join style value used for stroking the path. More...
 
- Public Member Functions inherited from Paint
Result rotate (float degree) noexcept
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 
Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 

Static Public Member Functions

static std::unique_ptr< Shapegen () noexcept
 Creates a new Shape object. More...
 Creates a new Shape object. More...
 

Detailed Description

A class representing two-dimensional figures and their properties.

-

A shape has three major properties: shape outline, stroking, filling. The outline in the Shape is retained as the path. Path can be composed by accumulating primitive commands such as moveTo(), lineTo(), cubicTo(), or complete shape interfaces such as appendRect(), appendCircle(), etc. Path can consists of sub-paths. One sub-path is determined by a close command.

-

The stroke of Shape is an optional property in case the Shape needs to be represented with/without the outline borders. It's efficient since the shape path and the stroking path can be shared with each other. It's also convenient when controlling both in one context.

+

A shape has three major properties: shape outline, stroking, filling. The outline in the Shape is retained as the path. Path can be composed by accumulating primitive commands such as moveTo(), lineTo(), cubicTo(), or complete shape interfaces such as appendRect(), appendCircle(), etc. Path can consists of sub-paths. One sub-path is determined by a close command.

+

The stroke of Shape is an optional property in case the Shape needs to be represented with/without the outline borders. It's efficient since the shape path and the stroking path can be shared with each other. It's also convenient when controlling both in one context.

Member Function Documentation

◆ appendArc()

@@ -291,7 +298,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
Note
Setting sweep value greater than 360 degrees, is equivalent to calling appendCircle(cx, cy, radius, radius).
@@ -355,7 +362,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
@@ -406,7 +413,7 @@ Static Public Member Functions

Appends a given sub-path to the path.

-

The current point value is set to the last point from the sub-path. For each command from the cmds array, an appropriate number of points in pts array should be specified.

+

The current point value is set to the last point from the sub-path. For each command from the cmds array, an appropriate number of points in pts array should be specified. If the number of points in the pts array is different than the number required by the cmds array, the shape with this sub-path will not be displayed on the screen.

Parameters
@@ -416,7 +423,7 @@ Static Public Member Functions
[in]cmdsThe array of the commands in the sub-path.
-
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
+
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
Note
The interface is designed for optimal path setting if the caller has a completed path commands already.
@@ -495,7 +502,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
Note
For rx and ry greater than or equal to the half of w and the half of h, respectively, the shape become an ellipse.
@@ -525,7 +532,7 @@ Static Public Member Functions

Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path.

The value of the current point is set to the initial point of the closed sub-path.

-
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
Note
In case the sub-path does not contain any points, this function has no effect.
@@ -601,13 +608,113 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
Note
In case this is the first command in the path, no data from the path are rendered.
+ + + +

◆ fill() [1/4]

+ +
+
+ + + + + +
+ + + + + + + +
const Fill* fill () const
+
+noexcept
+
+ +

Gets the pointer to the gradient fill of the shape.

+
Returns
The pointer to the gradient fill of the stroke when succeed, nullptr in case no fill was set.
+ +
+
+ +

◆ fill() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + +
Result fill (FillRule r)
+
+noexcept
+
+ +

Sets the fill rule for the Shape object.

+
Parameters
+ + +
[in]rThe fill rule value.
+
+
+
Returns
Result::Success when succeed.
+ +
+
+ +

◆ fill() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
Result fill (std::unique_ptr< Fillf)
+
+noexcept
+
+ +

Sets the gradient fill for all of the figures from the path.

+

The parts of the shape defined as inner are filled.

+
Parameters
+ + +
[in]fThe unique pointer to the gradient fill.
+
+
+
Returns
Result::Success when succeed, Result::MemoryCorruption otherwise.
+
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
+
-

◆ fill() [1/4]

+

◆ fill() [4/4]

@@ -663,109 +770,9 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
-
-
- -

◆ fill() [2/4]

- -
-
- - - - - -
- - - - - - - - -
Result fill (std::unique_ptr< Fillf)
-
-noexcept
-
- -

Sets the gradient fill for all of the figures from the path.

-

The parts of the shape defined as inner are filled.

-
Parameters
- - -
[in]fThe unique pointer to the gradient fill.
-
-
-
Returns
Result::Success when succeed, Result::MemoryCorruption otherwise.
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
- -
-
- -

◆ fill() [3/4]

- -
-
- - - - - -
- - - - - - - - -
Result fill (FillRule r)
-
-noexcept
-
- -

Sets the fill rule for the Shape object.

-
Parameters
- - -
[in]rThe fill rule value.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ fill() [4/4]

- -
-
- - - - - -
- - - - - - - -
const Fill* fill () const
-
-noexcept
-
- -

Gets the pointer to the gradient fill of the shape.

-
Returns
The pointer to the gradient fill of the stroke when succeed, nullptr in case no fill was set.
-
@@ -824,7 +831,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
@@ -879,8 +886,8 @@ Static Public Member Functions
-

Creates a new Shape object.

-
Returns
A new Shape object.
+

Creates a new Shape object.

+
Returns
A new Shape object.
@@ -927,8 +934,8 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
-
Note
In case this is the first command in the path, it corresponds to the moveTo() call.
+
Returns
Result::Success when succeed.
+
Note
In case this is the first command in the path, it corresponds to the moveTo() call.
@@ -975,7 +982,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
@@ -1074,13 +1081,70 @@ Static Public Member Functions

Resets the properties of the shape path.

The color, the fill and the stroke properties are retained.

-
Returns
Result::Success when succeed.
+
Returns
Result::Success when succeed.
Note
The memory, where the path data is stored, is not deallocated at this stage for caching effect.
+ + + +

◆ stroke() [1/6]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Result stroke (const float * dashPattern,
uint32_t cnt 
)
+
+noexcept
+
+ +

Sets the dash pattern of the stroke.

+
Parameters
+ + + +
[in]dashPatternThe array of consecutive pair values of the dash length and the gap length.
[in]cntThe length of the dashPattern array.
+
+
+
Return values
+ + + + +
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error with a memory allocation for an object to be dashed.
Result::InvalidArgumentsIn case that either dashPattern is nullptr or cnt is zero.
+
+
+
Note
If any of the dash pattern values is zero, this function has no effect.
+
+To reset the stroke dash pattern, pass nullptr to dashPattern and zero to cnt.
+
Warning
cnt must be greater than 1 if the dash pattern is valid.
+
-

◆ stroke() [1/6]

+

◆ stroke() [2/6]

@@ -1110,12 +1174,125 @@ Static Public Member Functions -
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+ +
+
+ +

◆ stroke() [3/6]

+ +
+
+ + + + + +
+ + + + + + + + +
Result stroke (std::unique_ptr< Fillf)
+
+noexcept
+
+ +

Sets the gradient fill of the stroke for all of the figures from the path.

+
Parameters
+ + +
[in]fThe gradient fill.
+
+
+
Return values
+ + + + +
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error with a memory allocation for an object to be filled.
Result::MemoryCorruptionIn case a nullptr is passed as the argument.
+
+
+ +
+
+ +

◆ stroke() [4/6]

+ +
+
+ + + + + +
+ + + + + + + + +
Result stroke (StrokeCap cap)
+
+noexcept
+
+ +

Sets the cap style of the stroke in the open sub-paths.

+
Parameters
+ + +
[in]capThe cap style value. The default value is StrokeCap::Square.
+
+
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+ +
+
+ +

◆ stroke() [5/6]

+ +
+
+ + + + + +
+ + + + + + + + +
Result stroke (StrokeJoin join)
+
+noexcept
+
+ +

Sets the join style for stroked path segments.

+

The join style is used for joining the two line segment while stroking the path.

+
Parameters
+ + +
[in]joinThe join style value. The default value is StrokeJoin::Bevel.
+
+
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
-

◆ stroke() [2/6]

+

◆ stroke() [6/6]

@@ -1170,177 +1347,7 @@ Static Public Member Functions -
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ stroke() [3/6]

- -
-
- - - - - -
- - - - - - - - -
Result stroke (std::unique_ptr< Fillf)
-
-noexcept
-
- -

Sets the gradient fill of the stroke for all of the figures from the path.

-
Parameters
- - -
[in]fThe gradient fill.
-
-
-
Return values
- - - - -
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error with a memory allocation for an object to be filled.
Result::MemoryCorruptionIn case a nullptr is passed as the argument.
-
-
- -
-
- -

◆ stroke() [4/6]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result stroke (const float * dashPattern,
uint32_t cnt 
)
-
-noexcept
-
- -

Sets the dash pattern of the stroke.

-
Parameters
- - - -
[in]dashPatternThe array of consecutive pair values of the dash length and the gap length.
[in]cntThe length of the dashPattern array.
-
-
-
Return values
- - - - -
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error with a memory allocation for an object to be dashed.
Result::InvalidArgumentsIn case that either dashPattern is nullptr or cnt is zero.
-
-
-
Note
If any of the dash pattern values is zero, this function has no effect.
-
-To reset the stroke dash pattern, pass nullptr to dashPattern and zero to cnt.
-
Warning
cnt must be greater than 1 if the dash pattern is valid.
- -
-
- -

◆ stroke() [5/6]

- -
-
- - - - - -
- - - - - - - - -
Result stroke (StrokeCap cap)
-
-noexcept
-
- -

Sets the cap style of the stroke in the open sub-paths.

-
Parameters
- - -
[in]capThe cap style value. The default value is StrokeCap::Square.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ stroke() [6/6]

- -
-
- - - - - -
- - - - - - - - -
Result stroke (StrokeJoin join)
-
-noexcept
-
- -

Sets the join style for stroked path segments.

-

The join style is used for joining the two line segment while stroking the path.

-
Parameters
- - -
[in]joinThe join style value. The default value is StrokeJoin::Bevel.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
+
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
@@ -1428,7 +1435,7 @@ To reset the stroke dash pattern, pass nullptr to dashPattern -
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
+
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
@@ -1556,7 +1563,7 @@ To reset the stroke dash pattern, pass nullptr to dashPattern diff --git a/docs/html/classtvg_1_1Shape__inherit__graph.map b/docs/html/classtvg_1_1Shape__inherit__graph.map index 374a36b7..24d291a0 100644 --- a/docs/html/classtvg_1_1Shape__inherit__graph.map +++ b/docs/html/classtvg_1_1Shape__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classtvg_1_1Shape__inherit__graph.md5 b/docs/html/classtvg_1_1Shape__inherit__graph.md5 index f9b02476..68f35a5b 100644 --- a/docs/html/classtvg_1_1Shape__inherit__graph.md5 +++ b/docs/html/classtvg_1_1Shape__inherit__graph.md5 @@ -1 +1 @@ -0867c9935a1572c6da995555c890eb0d \ No newline at end of file +a9827c2c55561e89e0ec21823467757c \ No newline at end of file diff --git a/docs/html/classtvg_1_1Shape__inherit__graph.png b/docs/html/classtvg_1_1Shape__inherit__graph.png index 630e26dfbf1ed6a8cce98b73ed5cdd5bf332b85c..867f24e2b5be181681d62849b153604747f240cc 100644 GIT binary patch literal 1828 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 V@QZ#FL4N=M002ovPDHLkV1j{)ze4~3 diff --git a/docs/html/classtvg_1_1SwCanvas-members.html b/docs/html/classtvg_1_1SwCanvas-members.html index a0ff0727..31077c1c 100644 --- a/docs/html/classtvg_1_1SwCanvas-members.html +++ b/docs/html/classtvg_1_1SwCanvas-members.html @@ -1,9 +1,9 @@ - + - + ThorVG: Member List @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
Shareable enum valueSwCanvas sync() noexceptCanvasvirtual target(uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Colorspace cs) noexceptSwCanvas - update(Paint *paint) noexceptCanvasvirtual + update(Paint *paint=nullptr) noexceptCanvasvirtual
diff --git a/docs/html/classtvg_1_1SwCanvas.html b/docs/html/classtvg_1_1SwCanvas.html index 109e548d..b1cb508d 100644 --- a/docs/html/classtvg_1_1SwCanvas.html +++ b/docs/html/classtvg_1_1SwCanvas.html @@ -1,9 +1,9 @@ - + - + ThorVG: SwCanvas @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
Inheritance graph
- + +
[legend]
@@ -90,39 +94,39 @@ Inheritance diagram for SwCanvas: Public Types - + } + - + } +
enum  Colorspace { ABGR8888 = 0, ARGB8888 - }
 Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color. More...
 Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color. More...
 
enum  MempoolPolicy { Default = 0, Shareable, Individual - }
 Enumeration specifying the methods of Memory Pool behavior policy. More...
 Enumeration specifying the methods of Memory Pool behavior policy. More...
 
- + - + - + - + - - - + + + - + @@ -131,7 +135,7 @@ Public Member Functions - +

Public Member Functions

Result target (uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Colorspace cs) noexcept
 Sets the target buffer for the rasterization. More...
 Sets the target buffer for the rasterization. More...
 
Result mempool (MempoolPolicy policy) noexcept
 Set sw engine memory pool behavior policy. More...
 Set sw engine memory pool behavior policy. More...
 
- Public Member Functions inherited from Canvas
Result reserve (uint32_t n) noexcept
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 
virtual Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Canvas using Paint objects. More...
 Passes drawing elements to the Canvas using Paint objects. More...
 
virtual Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
virtual Result update (Paint *paint) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result update (Paint *paint=nullptr) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result draw () noexcept
 Request the canvas to draw the Paint objects. More...
 Request the canvas to draw the Paint objects. More...
 
virtual Result sync () noexcept
 Guarantees that drawing task is finished. More...

Static Public Member Functions

static std::unique_ptr< SwCanvasgen () noexcept
 Creates a new SwCanvas object. More...
 Creates a new SwCanvas object. More...
 

Detailed Description

@@ -208,8 +212,8 @@ Static Public Member Functions
-

Creates a new SwCanvas object.

-
Returns
A new SwCanvas object.
+

Creates a new SwCanvas object.

+
Returns
A new SwCanvas object.
@@ -248,9 +252,9 @@ Static Public Member Functions
Return values
- - - + + +
Result::SuccessWhen succeed.
Result::InsufficientConditionIf the canvas has no paints.
Result::NonSupportIn case the software engine is not supported.
Result::SuccessWhen succeed.
Result::InsufficientConditionIf the canvas has no paints.
Result::NonSupportIn case the software engine is not supported.
@@ -326,14 +330,14 @@ Static Public Member Functions
Return values
- + - - + +
Result::SuccessWhen succeed.
Result::SuccessWhen succeed.
Result::MemoryCorruptionWhen casting in the internal function implementation failed.
Result::InvalidArgumentsIn case no valid pointer is provided or the width, or the height or the stride is zero.
Result::NonSupportIn case the software engine is not supported.
Result::InvalidArgumentsIn case no valid pointer is provided or the width, or the height or the stride is zero.
Result::NonSupportIn case the software engine is not supported.
-
Warning
Do not access buffer during Canvas::draw() - Canvas::sync(). It should not be accessed while TVG is writing on it.
+
Warning
Do not access buffer during Canvas::draw() - Canvas::sync(). It should not be accessed while TVG is writing on it.
@@ -342,7 +346,7 @@ Static Public Member Functions diff --git a/docs/html/classtvg_1_1SwCanvas__inherit__graph.map b/docs/html/classtvg_1_1SwCanvas__inherit__graph.map index 8f9bdaed..4337e014 100644 --- a/docs/html/classtvg_1_1SwCanvas__inherit__graph.map +++ b/docs/html/classtvg_1_1SwCanvas__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classtvg_1_1SwCanvas__inherit__graph.md5 b/docs/html/classtvg_1_1SwCanvas__inherit__graph.md5 index cbaab4e2..b25a728e 100644 --- a/docs/html/classtvg_1_1SwCanvas__inherit__graph.md5 +++ b/docs/html/classtvg_1_1SwCanvas__inherit__graph.md5 @@ -1 +1 @@ -dafbee4f4b5d1bfea679290db320ba18 \ No newline at end of file +9ca8dd4d52313b63c924e59e71877bcd \ No newline at end of file diff --git a/docs/html/classtvg_1_1SwCanvas__inherit__graph.png b/docs/html/classtvg_1_1SwCanvas__inherit__graph.png index 5b741bece8273a0196dde5393bfc009f3daf9d66..aae156c19b18674e5bfa45b6b1bda42a207b1d91 100644 GIT binary patch literal 2508 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�$DKfCV?C9?$H6js`Wz%6^)$iZS27|CzY?h*FY|LM#8v1!=rl7D8 zMEmCU+5#B%I6dhlnapOCT>wrS8CANGg7pgE8EAUnikZls)vu`DkcS z?<~CBNjsnPiL)^cLQ-Gf^_UoYl73lT>S=lT8Nx-8%(ymBGAo3{isojioSz1gDY`QD=IFZhZxWF6&h~aI^)DM1NsWuKYu3|;wIkC-srYXJ|D0GqK?2IpTQXwu(3o~JU72~`yWRKWa$6^ diff --git a/docs/html/dir_bfccd401955b95cf8c75461437045ac0.html b/docs/html/dir_bfccd401955b95cf8c75461437045ac0.html index 320c7d1e..6209a701 100644 --- a/docs/html/dir_bfccd401955b95cf8c75461437045ac0.html +++ b/docs/html/dir_bfccd401955b95cf8c75461437045ac0.html @@ -1,9 +1,9 @@ - + - + ThorVG: /home/hermet/Projects/thorvg/inc Directory Reference @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@ - + +/* @license-end */
diff --git a/docs/html/doxygen-awesome.css b/docs/html/doxygen-awesome.css index 8fb8d5b5..75ac3cdd 100644 --- a/docs/html/doxygen-awesome.css +++ b/docs/html/doxygen-awesome.css @@ -167,6 +167,8 @@ html { @media (prefers-color-scheme: dark) { html:not(.light-mode) { + color-scheme: dark; + --primary-color: #1982d2; --primary-dark-color: #5ca8e2; --primary-light-color: #4779ac; @@ -211,6 +213,8 @@ html { /* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ html.dark-mode { + color-scheme: dark; + --primary-color: #1982d2; --primary-dark-color: #5ca8e2; --primary-light-color: #4779ac; diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css index 4f1ab919..73ecbb2c 100644 --- a/docs/html/doxygen.css +++ b/docs/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.8.13 */ +/* The standard CSS for doxygen 1.8.17 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -53,17 +53,24 @@ dt { font-weight: bold; } -div.multicol { +ul.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; + column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; + column-count: 3; } p.startli, p.startdd { margin-top: 2px; } +th p.starttd, p.intertd, p.endtd { + font-size: 100%; + font-weight: 700; +} + p.starttd { margin-top: 0px; } @@ -80,6 +87,15 @@ p.endtd { margin-bottom: 2px; } +p.interli { +} + +p.interdd { +} + +p.intertd { +} + /* @end */ caption { @@ -134,12 +150,12 @@ a.qindex { a.qindexHL { font-weight: bold; background-color: #9CAFD4; - color: #ffffff; + color: #FFFFFF; border: 1px double #869DCA; } .contents a.qindexHL:visited { - color: #ffffff; + color: #FFFFFF; } a.el { @@ -163,6 +179,25 @@ dl.el { margin-left: -1cm; } +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + pre.fragment { border: 1px solid #C4CFE5; background-color: #FBFCFD; @@ -177,8 +212,8 @@ pre.fragment { } div.fragment { - padding: 0px; - margin: 4px 8px 4px 2px; + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; background-color: #FBFCFD; border: 1px solid #C4CFE5; } @@ -248,7 +283,7 @@ span.lineno a:hover { div.ah, span.ah { background-color: black; font-weight: bold; - color: #ffffff; + color: #FFFFFF; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; @@ -324,7 +359,7 @@ img.formulaDsp { } -img.formulaInl { +img.formulaInl, img.inline { vertical-align: middle; } @@ -402,6 +437,13 @@ blockquote { padding: 0 12px 0 16px; } +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + /* @end */ /* @@ -498,7 +540,7 @@ table.memberdecls { white-space: nowrap; } -.memItemRight { +.memItemRight, .memTemplItemRight { width: 100%; } @@ -666,17 +708,17 @@ dl.reflist dd { padding-left: 0px; } -.params .paramname, .retval .paramname { +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } -.params .paramtype { +.params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; } -.params .paramdir { +.params .paramdir, .tparams .paramdir { font-family: "courier new",courier,monospace; vertical-align: top; } @@ -1081,72 +1123,143 @@ div.headertitle padding: 5px 5px 5px 10px; } -dl -{ - padding: 0 0 0 10px; +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { margin-left: 0px; padding-left: 0px; } -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; } -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; } -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; } -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; } -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; } -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; } -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; } dl.section dd { @@ -1263,6 +1376,11 @@ div.toc { width: 200px; } +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; @@ -1271,6 +1389,12 @@ div.toc li { padding-top: 2px; } +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; color: #4665A2; @@ -1300,6 +1424,26 @@ div.toc li.level4 { margin-left: 45px; } +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + .inherit_header { font-weight: bold; color: gray; @@ -1413,7 +1557,7 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; + border-top-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } @@ -1441,7 +1585,7 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; + border-bottom-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } @@ -1468,7 +1612,7 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #ffffff; + border-left-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; @@ -1484,7 +1628,7 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #ffffff; + border-right-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; @@ -1592,5 +1736,36 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } +.DocNodeRTL { + text-align: right; + direction: rtl; +} +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} /* @end */ + +u { + text-decoration: underline; +} + diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js index 85e18369..ea0a7b39 100644 --- a/docs/html/dynsections.js +++ b/docs/html/dynsections.js @@ -1,3 +1,26 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ function toggleVisibility(linkObj) { var base = $(linkObj).attr('id'); @@ -15,7 +38,7 @@ function toggleVisibility(linkObj) summary.hide(); $(linkObj).removeClass('closed').addClass('opened'); $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } + } return false; } @@ -94,4 +117,4 @@ function toggleInherit(id) $(img).attr('src',src.substring(0,src.length-10)+'open.png'); } } - +/* @license-end */ diff --git a/docs/html/functions.html b/docs/html/functions.html index c2109f81..8a5f9db8 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -1,9 +1,9 @@ - + - + ThorVG: Class Members @@ -24,7 +24,7 @@ Logo
ThorVG -  v0.4 +  v0.5
@@ -32,18 +32,21 @@
- + +/* @license-end */ @@ -93,7 +96,7 @@ $(function() { : Fill::ColorStop
  • bounds() -: Paint +: Paint
  • @@ -215,9 +218,6 @@ $(function() {

    - p -

      -
    • paint() -: Picture -
    • pathCommands() : Shape
    • @@ -253,7 +253,7 @@ $(function() {

      - s -

      • save() -: Saver +: Saver
      • scale() : Paint @@ -314,7 +314,7 @@ $(function() {

        - u -

        @@ -329,7 +329,7 @@ $(function() { diff --git a/docs/html/functions_enum.html b/docs/html/functions_enum.html index 597d4e4b..9957d4b3 100644 --- a/docs/html/functions_enum.html +++ b/docs/html/functions_enum.html @@ -1,9 +1,9 @@ - + - + ThorVG: Class Members - Enumerations @@ -24,7 +24,7 @@ Logo
        ThorVG -  v0.4 +  v0.5
        @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -74,7 +77,7 @@ $(function() { diff --git a/docs/html/functions_eval.html b/docs/html/functions_eval.html index f8d62d28..d2f0ecea 100644 --- a/docs/html/functions_eval.html +++ b/docs/html/functions_eval.html @@ -1,9 +1,9 @@ - + - + ThorVG: Class Members - Enumerator @@ -24,7 +24,7 @@ Logo
        ThorVG -  v0.4 +  v0.5
        @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -83,7 +86,7 @@ $(function() { diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index db3efb44..9d502cb3 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -1,9 +1,9 @@ - + - + ThorVG: Class Members - Functions @@ -24,7 +24,7 @@ Logo
        ThorVG -  v0.4 +  v0.5
        @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -81,7 +84,7 @@ $(function() {

        - b -

        @@ -185,9 +188,6 @@ $(function() {

        - p -

          -
        • paint() -: Picture -
        • pathCommands() : Shape
        • @@ -220,7 +220,7 @@ $(function() {

          - s -

          • save() -: Saver +: Saver
          • scale() : Paint @@ -278,7 +278,7 @@ $(function() {

            - u -

            @@ -293,7 +293,7 @@ $(function() { diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index f177c854..e668b82f 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -1,9 +1,9 @@ - + - + ThorVG: Class Members - Variables @@ -24,7 +24,7 @@ Logo
            ThorVG -  v0.4 +  v0.5
            @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -83,7 +86,7 @@ $(function() { diff --git a/docs/html/graph_legend.html b/docs/html/graph_legend.html index f643ab35..63e73e1e 100644 --- a/docs/html/graph_legend.html +++ b/docs/html/graph_legend.html @@ -1,9 +1,9 @@ - + - + ThorVG: Graph Legend @@ -24,7 +24,7 @@ Logo
            ThorVG -  v0.4 +  v0.5
            @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -66,11 +69,42 @@ $(function() {

            This page explains how to interpret the graphs that are generated by doxygen.

            -

            Consider the following example:

            /*! Invisible class because of truncation */
            class Invisible { };
            /*! Truncated class, inheritance relation is hidden */
            class Truncated : public Invisible { };
            /* Class not documented with doxygen comments */
            class Undocumented { };
            /*! Class that is inherited using public inheritance */
            class PublicBase : public Truncated { };
            /*! A template class */
            template<class T> class Templ { };
            /*! Class that is inherited using protected inheritance */
            class ProtectedBase { };
            /*! Class that is inherited using private inheritance */
            class PrivateBase { };
            /*! Class that is used by the Inherited class */
            class Used { };
            /*! Super class that inherits a number of other classes */
            class Inherited : public PublicBase,
            protected ProtectedBase,
            private PrivateBase,
            public Undocumented,
            public Templ<int>
            {
            private:
            Used *m_usedClass;
            };

            This will result in the following graph:

            -
            - -
            -

            The boxes in the above graph have the following meaning:

            +

            Consider the following example:

            /*! Invisible class because of truncation */
            +
            class Invisible { };
            +
            +
            /*! Truncated class, inheritance relation is hidden */
            +
            class Truncated : public Invisible { };
            +
            +
            /* Class not documented with doxygen comments */
            +
            class Undocumented { };
            +
            +
            /*! Class that is inherited using public inheritance */
            +
            class PublicBase : public Truncated { };
            +
            +
            /*! A template class */
            +
            template<class T> class Templ { };
            +
            +
            /*! Class that is inherited using protected inheritance */
            +
            class ProtectedBase { };
            +
            +
            /*! Class that is inherited using private inheritance */
            +
            class PrivateBase { };
            +
            +
            /*! Class that is used by the Inherited class */
            +
            class Used { };
            +
            +
            /*! Super class that inherits a number of other classes */
            +
            class Inherited : public PublicBase,
            +
            protected ProtectedBase,
            +
            private PrivateBase,
            +
            public Undocumented,
            +
            public Templ<int>
            +
            {
            +
            private:
            +
            Used *m_usedClass;
            +
            };
            +

            This will result in the following graph:

            +

            The boxes in the above graph have the following meaning:

            • A filled gray box represents the struct or class for which the graph is generated.
            • @@ -99,7 +133,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem diff --git a/docs/html/graph_legend.md5 b/docs/html/graph_legend.md5 index a06ed050..8fcdccd1 100644 --- a/docs/html/graph_legend.md5 +++ b/docs/html/graph_legend.md5 @@ -1 +1 @@ -387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file +f51bf6e9a10430aafef59831b08dcbfe \ No newline at end of file diff --git a/docs/html/graph_legend.png b/docs/html/graph_legend.png index 81788d8b778e11ebf43d6a041820fcaf7ec9a65e..1a5462e6f2b86646a5d86a2b6ce7c68e5bb7116d 100644 GIT binary patch literal 19431 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 A00000 literal 19465 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%0Av4SqcN@e|5`jp~UDrU|Bek zHGsVFd^h;z^eQu}>^tbFD(=Nr024oXav(&<=$n@ILOjx`2O4TwGG9A6>s-9On4DL& zMx75u{lk%|svqhK-{J=ffPmVN+R-eF)X@x|o_Ea5L!4d&oASIJ!p`Yw^6~kXCE7Bn zXtgXdfjQB-l<#K}D`8;JN-@-kn( z#(FKEvAI%Gq&VeNv}eF*$*uZiJo_XDKh@7alPE`GLqx{_h43wf6OnPaJo5{Y5y?}6 zXFwBOSzi8hQbPkY0+|GccEE)mpKYr+?M|ZtArwyE=l+~7(aaY#QwOEHGlPlIm*zy@L3aC4;0Q@%}kGuPwgF`j!~iW z>$`8@45jlC+RWCpFZn!1Yz!tsdv@?&zek}dP6kat)6M;+4)gUG=mKq$PZ1<2$jM)L zc+A>4*9HYiXr1hA{nFoJAym7r(0Ft`d9-7ENH+deJmb*@qJ!_hAYoTm8qb(}7h+cD z7(Q>BfEnC~i&$ znXMQpKtnl1_4W$r!;{r!3ZQEtA84QxK!C(4kB^HR1uA1-PfsA|3faz%;s@+JIq2M8 z-`Eh7mzRfj*8-(G8we}31E6CYkn$DMm7q6UT2{7%EfVOfDnQKd`|;xwx67U+Pz_2{ z!r5DTcDg{D)U@rQI6WA)7Ba z@zdM)5OdJmMG5-!K=T3(ZBg>n+9hPJ%?73r&<{ z2oVtkw31^eY0;ahMVWwB0EX;5Q+67fptJMy{=q?+m}SuI(2WNtAt50xC8g9nGcpq8 zad{xO(BzsAOi*2O1ZreR)R2MUvg`Q^YodSY>cM1h-l!h`whXPTyV6R#GIy~x?;(gu z(z0s4&?dE>=Oo6!u(I16qH)_T{ao)O00$VNXM7)-dasTNE8S1I=3CPy8E#p*G&v1B z2??J+>hZpB80p|%a^9-1p}>8xB~x}#_D3rpbFy;|n7g}1)NLWyR#FlUq6jY4fwcn+ zmYe%e!4wWgD<}VO;Qi5F-4O~^6{SIYr-+~h1rj(hXhB!F6^baJD^z>7xJY9+eI z(_Z_j!pCZ#fu(;pO0YRx3ZV*;tgT}rL{rewX&UGq@VJ<_G&S`P!((0r4JF`^P3ItU zTR4!fX!GLbrKN>I<2qnap%l{gc8I_KQ%Y*;ZweXwI0N7`0}SMAa&iZdi~*4zKkcc)5ix)==-f>UTk}1O1$>TkV01`MI=_we#JME@>U;p z<4ApoAH^az=44Qm72!ZqYmk+Ds54|kKR&;ZI5`MTFojc z*_?=J)l`?|5pn%;ifo4Y6L+kb&>%Mqoe7yZL0io2<3toO_h_dhV|Kj#Vl&@l@l4{+ zRxu@}L>0wRFOS{QrM>}640n$QNl-Ty`2WRKp=;&zV4QeW?F+$sBAr20X$vini z=ylLPK&S81$_(=1|8i=iguN$O-^6*fbFG9e&-n5%|HslJ6Ci@^x0M;z9ek@DgM6r| zwm#z-)Bwq<=9V4FhnGO_d%OAllD z*k@fcZlhg2uSx^DwA>WZQATXr0tUlh0F_y%ZII<5yU(!r$aAlob8@-6UAFZP84#~ZYyr&`p2ax zQ^NfrC*vgKLK4G&h~R5%wx)A34@Zgst=ezIgoWV&;|*Q0kkF-)Dy83lf_%BMsq?~h zS`Gy3z!`UD?7`6ErS`|}FJm%>CYBUV=I7Lj{S|=O{;W&gS%XEBnVU`FB#DZPj~}o- z@!g~|(BkWxZLzFQiwb%T664d&)1%8M(R}&+qhTIDR>w`jt!)ea?{OVOFTRL4#5_;+ zTd&Z?mXS8H&PV4#Hvwq;=^%e8+4O40rB+xkcsI!f6%|i4%6rIO6)?C*M9K>lt2YAS z7Yh_$tnX!+owi2bXzS*PDc^Y?yO!`Yp;>%+BkPW(1#Es||}6~>(!8D)MJRJ7*`XFwzJjDqDJt zujvO@rhm(AjmF_t`UrRm+@i!@9!da8KL9OXf8C*@#-fd!l@%70;*~_E59mJ ze$|hW+S@Cz8jGScXtGrG53y0vM~g7gY!Psz8OY*eK@TXfvx|wb={B4^|L?3msLaKq z4&V?Fe(t-zqT!NX;195s_wpOGPfXdX(4Y~xd)}{6W|#ofJ=qj-`par45eFE=h|Zut z*#-hUS)EGK@86R=0MZ5=*uVhtNKeGBAKWuu_V;ZgKH9!rVO)|?1HH@4+{naeCUV5k zsW?kXCDq%l@B;(0UlGOz0zXb^nMfd~@s%A7KEVzW@%#96;){Xq9=HrQ?{U+>7CPX% z!!Z;_+pE6EJT8dDkwET`WdXpIL5~~P@edjvcPh7x?9dO}HaMfDRv92zw5QlMuC!e8 z8d_LTn(I;`j2~`LuyP^*_DHfV1Koy?6?nN}m+QsoG~P1;QWH7Ab%wLkuq6?_{m|7p z!i?G8J{BA-8JM2Vp{uvQvZ9pG+*tn$nfN``|EZeCM2e= zEQiM3T@0V^hUV97UH4*(V{+G19H3WpTt7wNxt$gpu)p93I_$!>qi|e zi&CGwmIhT`Sfoh!C?Jx-R0VaSVpV%oKLOWFuFhAWLPQDoZS$dI(yfo0pZ7&BE$a+) zo+)SzMbF^x3Unl_;4|k5KZ`h8sX(tZUnl=sGd@q&%;b5`{$YP!iz8JnkqJz#`1LDOVJRGl)B@VLgU)e{H3>VSL<`+o;%0ULHdt7;o z(8~Kec26=ZfcaL1Y-~A*s1ZVdcz}jPM!6@?!Z?5`d@+IuyI^EWX|3L4sQNc~D%m|h@Qa~4{;RFD4A=uAa;UhbCQ2~G><`+}*&d97f|-zxUYM!a zQR_|w)MdWb;D_(C_Txd5#AkXrkzY9?2+ockJw9vHDX8nTt;<2-b78PpoGc~-60a)W=dht!$$I>UVE@A~z%kuD-4K0z}tLi_^JyR{Eb7p9YA zM_*5OKu>8EFWleK9$mJDWoDY|Hex?(NL}8WUjgsjW4Rk|pYXoy1dI$#_^rgZ#w&dR zU-=EWYq~n9Ucebhytg+i&|kqZL_N@7`5E9DLrcrxcE2XN zMifo$qPOm{{Zj4B4{e4(pED1sJ-Ybu{kZ!p^XOuIi}uWI$@r@Ap4Yiru(K1({x8eR)@|%GmldrzT*@aJxK$xv} zsSbH;9MM$i0h=M~1>KAWsa+;$R9Q8CK}0;)36y;jl1Mwp-EVa~6BD`Hznr|WIN+>( zYZOCi%Ty{>r*P~l>=XxY(i1U=Blt{uSG&>qe`I!t5xz^?@K2UkE7(?y6?U+HbmQhm zV+-6jq`uu!bExvoVA+f{LhvG`wQ!*#>V4@<^@5YVTnPt7mh)ZYWObqhG*+E z^rT{K742^C_I3I?Z#&`r(vR`P#E#$E_kKf5ce~7~k300T$H$*bo0?{45D;Id6*cCI z#N+g3*<^B6tAm5TI3QH98pVBYgh!BAgBB@+^#6skq_cHqq-AV>puau7PdcM)Yu;`-?%SMB>1QNa@C}VRzw}_}W`PTokpICL&41 zfdl;=dV+VPt`QzyTnO~ZrKSBBz+rPGC$nKvn;yy;kUq^<>2_u;OUQycYdp319LHzn z37ULHqz1;I!2w!$SbFCf?6~na;OeE744*>o%e;mGM#7sBsQX6L9CmQnao9S z^iwGu8kbFyLFXdq9d^6A79$7J5C%s7=*&zzv|}Jh;&*)+=qcbZC;lF5Ym#=zz1P-E z%8|#Rx!!K@3^6Sy|@WD8_`I0lz$2_e<$v(SSB57H`WtfevIso6VFp&BKlPD^3 zfjtp>m~;?>N2M6n>j@raUE{t$Azun5Tgi7_gngRi_NgMwcPX@U$NobWTrBDcA`kBp z#vREnQauWKf3Kc$E|wQ>x~GGq80Gx#=>|SaPkz??uF1_3lA7*<8z{ujPcE=8p!l5m z;n7Qwx%n=&DpkQ}L-)E&GcIFPv0eO_D&t95x#Y5%oH3HxKnh$z35ik{VW=# z65&c@>86Y9`If7J(nHNaq zu&@*Z162~fR^AU*tTbHLp8VJM4+SRKCfPTQyH@NAAI25!B;mB+W^Z<;>ph6>HVN-% z=SwvBuSFB^R(0M#M+-XN&R?=zY*vj===ttr?el1Rvl>QtavKz%mPVaOFH+w2U_6;I z%m$8#;+Z@vixE`B<3CJj^AgPVGO7BR;_kCF5pOY|$szOl%Wn_lA6R51Pp(Wn>}G09 z_cJUlw!v{OfdONwaUEO6QJ%wf^Nj(4-H5lF5*?aSQX#{sT(8|(i*qz+^dBi&Tfb1Y znAa8wV275EJ`LM&59lNd=)7Dl&G}ueNAO}>k>zS4M+5v!#^CO`yay8}=D5bK_vjr? zb=*d3>Dk_&wLJs~C5AeTEMD6kTh7JBaLAE|p1>n-0qBkgKi|=|wg25wRl`-&%d6$Y zjaU4;r8G&D1X>Wqdri1cw5uDoiI6CaP-p;bbLr<<<3{HUYS@}NLW7q{IlfGkHWY2_s5r(mhP(lzD{N3zI}1Av9YUG ztqKC}PP94*Cil6q>XIxCDL0Yqiyvfi?mM&@-Q(n+x3J zwFNjjEfy-zaHeMi7Xv3S3|0WQFRYE+>^5o9p;y4o1XCwXQd)jl(^Cp~^o5G4xp_8l zPfn4AOw^W)iNH~zl8=v$p7;%9OqoA_J#Z}By{>GHRr>jPQ*XbWcKKyURn;!wfjDxJ zehdt0#{(D`JQQ}{)$`mGwbt-FaCeidEI$j=tsRBQR}5#L6|0;(b?VoM`Le713?zDX zX={4|=aVYe%wk9|Ii$s)GU2Gu@5ZZ#6~8j>zPk>%kxfHc*?E$Qjm?^U`}Upqd9vyK z`<2BnE-03km1O~)G%-8>-kzTkri=$NbeI_!n%BndjkZ_M8F9O$smjIXVt=PJv z-{@DoaZ>Wtn;R0FSFK)s_1?X8|Nhm*?kI3n_nR|g)p}+I&ZBcf84MyaGgoG1WrYL= zE=(|3A*vmA;%%Ax-Pqb2z|H4VCr@4s9B4E(HMQO3S5&m=*zx0`!NH5~-HX$W*%1I- z6By#^di3(IE`|?BCLMZMaN~s + - + ThorVG: ThorVG @@ -24,7 +24,7 @@ Logo
              ThorVG -  v0.4 +  v0.5
              @@ -32,18 +32,21 @@
            - + +/* @license-end */ @@ -84,22 +87,22 @@ Classes  An abstract class for managing graphical elements. More...
              class  Fill - An abstract class representing the gradient fill of the Shape object. More...
            + An abstract class representing the gradient fill of the Shape object. More...
              class  Canvas  An abstract class for drawing graphical elements. More...
              class  LinearGradient - A class representing the linear gradient fill of the Shape object. More...
            + A class representing the linear gradient fill of the Shape object. More...
              class  RadialGradient - A class representing the radial gradient fill of the Shape object. More...
            + A class representing the radial gradient fill of the Shape object. More...
              class  Shape  A class representing two-dimensional figures and their properties. More...
              class  Picture - A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas. More...
            + A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas. More...
              class  Scene  A class to composite children paints. More...
            @@ -129,50 +132,50 @@ Enumerations NonSupport, Unknown
            - } Enumeration specifying the result from the APIs. More...
            - + } + Enumeration specifying the result from the APIs. More...
              enum  PathCommand { Close = 0, MoveTo, LineTo, CubicTo - } Enumeration specifying the values of the path commands accepted by TVG. More...
            - + } + Enumeration specifying the values of the path commands accepted by TVG. More...
              enum  StrokeCap { Square = 0, Round, Butt - } Enumeration determining the ending type of a stroke in the open sub-paths. More...
            - + } + Enumeration determining the ending type of a stroke in the open sub-paths. More...
              enum  StrokeJoin { Bevel = 0, Round, Miter - } Enumeration determining the style used at the corners of joined stroked path segments. More...
            - + } + Enumeration determining the style used at the corners of joined stroked path segments. More...
              enum  FillSpread { Pad = 0, Reflect, Repeat - } Enumeration specifying how to fill the area outside the gradient bounds. More...
            - + } + Enumeration specifying how to fill the area outside the gradient bounds. More...
              enum  FillRule { Winding = 0, EvenOdd - } Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape. More...
            - + } + Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape. More...
              enum  CompositeMethod { None = 0, ClipPath, AlphaMask, InvAlphaMask - } Enumeration indicating the method used in the composition of two objects - the target and the source. More...
            - + } + Enumeration indicating the method used in the composition of two objects - the target and the source. More...
              enum  CanvasEngine { Sw = (1 << 1), Gl = (1 << 2) - } Enumeration specifying the engine type used for the graphics backend. For multiple backeneds bitwise operation is allowed. More...
            - + } + Enumeration specifying the engine type used for the graphics backend. For multiple backeneds bitwise operation is allowed. More...
             

            Detailed Description

            @@ -448,7 +451,7 @@ Enumerations diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html index 4df85d55..d270b147 100644 --- a/docs/html/hierarchy.html +++ b/docs/html/hierarchy.html @@ -1,9 +1,9 @@ - + - + ThorVG: Class Hierarchy @@ -24,7 +24,7 @@ Logo
            ThorVG -  v0.4 +  v0.5
            @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -73,13 +76,13 @@ This inheritance list is sorted roughly, but not completely, alphabetically: CGlCanvasA class for the rendering graphic elements with a GL raster engine  CSwCanvasA class for the rendering graphical elements with a software raster engine  CFill::ColorStopA data structure storing the information about the color and its relative position inside the gradient bounds - CFillAn abstract class representing the gradient fill of the Shape object - CLinearGradientA class representing the linear gradient fill of the Shape object - CRadialGradientA class representing the radial gradient fill of the Shape object + CFillAn abstract class representing the gradient fill of the Shape object + CLinearGradientA class representing the linear gradient fill of the Shape object + CRadialGradientA class representing the radial gradient fill of the Shape object  CInitializerA class that enables initialization and termination of the TVG engines  CMatrixA data structure representing a three-dimensional matrix  CPaintAn abstract class for managing graphical elements - CPictureA class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas + CPictureA class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas  CSceneA class to composite children paints  CShapeA class representing two-dimensional figures and their properties  CPointA data structure representing a point in two-dimensional space @@ -91,7 +94,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically: diff --git a/docs/html/index.html b/docs/html/index.html index ada068bf..498f5c09 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -1,9 +1,9 @@ - + - + ThorVG: ThorVG API Documentation @@ -24,7 +24,7 @@ Logo
            ThorVG -  v0.4 +  v0.5
            @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -60,22 +63,22 @@ $(function() { -
            +
            ThorVG API Documentation
            -
            - -
            -


            +

            +

            +


            -
            +
            +
            diff --git a/docs/html/inherit_graph_0.map b/docs/html/inherit_graph_0.map index edae2d6b..90c11e4a 100644 --- a/docs/html/inherit_graph_0.map +++ b/docs/html/inherit_graph_0.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/docs/html/inherit_graph_0.md5 b/docs/html/inherit_graph_0.md5 index 0b9c1113..fb27b2ea 100644 --- a/docs/html/inherit_graph_0.md5 +++ b/docs/html/inherit_graph_0.md5 @@ -1 +1 @@ -939ff38c78bb9bdfc6d18914331b44ee \ No newline at end of file +ae6407577601a23847640b70da872bc3 \ No newline at end of file diff --git a/docs/html/inherit_graph_0.png b/docs/html/inherit_graph_0.png index f96c1a3dc6f3c3835e281713ae7d5f13aa877ee9..1c970d8056d036c6ce1b00292a6b10ed84c096da 100644 GIT binary patch literal 3428 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 diff --git a/docs/html/inherit_graph_1.map b/docs/html/inherit_graph_1.map index 41a5d8ec..5e21b5af 100644 --- a/docs/html/inherit_graph_1.map +++ b/docs/html/inherit_graph_1.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/docs/html/inherit_graph_1.md5 b/docs/html/inherit_graph_1.md5 index 5779d23a..b922cd16 100644 --- a/docs/html/inherit_graph_1.md5 +++ b/docs/html/inherit_graph_1.md5 @@ -1 +1 @@ -72b0fd6249b6b0b6cd26b4045ba3d8f7 \ No newline at end of file +9538d085c6d20544be80813738423b33 \ No newline at end of file diff --git a/docs/html/inherit_graph_1.png b/docs/html/inherit_graph_1.png index 4a6aa4309795b6f6115d6e4720f95ac33c43f644..edd2e48e7406edfb2398b8540aac10ce5b6cd8b6 100644 GIT binary patch literal 3645 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 literal 2941 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 Jt5U-${9g|wmp=di diff --git a/docs/html/inherit_graph_2.map b/docs/html/inherit_graph_2.map index 9f439bec..c5b725ad 100644 --- a/docs/html/inherit_graph_2.map +++ b/docs/html/inherit_graph_2.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_2.md5 b/docs/html/inherit_graph_2.md5 index 61234c0e..db605e9b 100644 --- a/docs/html/inherit_graph_2.md5 +++ b/docs/html/inherit_graph_2.md5 @@ -1 +1 @@ -602f51cab5b9298a11af2037db4aea34 \ No newline at end of file +61e01b0cebedb63af994c66ac7d0845e \ No newline at end of file diff --git a/docs/html/inherit_graph_2.png b/docs/html/inherit_graph_2.png index b8fb4024e607782d6d00b8fa2ccb0047d4e1eacc..090fbf31436873344b00c818ad651da5bb216876 100644 GIT binary patch delta 1075 zcmV-31kC&R2(}0ziBL{Q4GJ0x0000DNk~Le0001c0000b2nGNE0AfRy_>mzLe*^1D zL_t(|ob8)UNGe|##-E86Q&30-bIDq0(56M(2p2-DXj4RqwP+WF$RM?-MbM&b)dzyB zwr#YaO}T5Mh(tkD+6R>ejY}!pj0O4rH~%YFbH?#rE$^N4g8|RH&&+!~&-p@UI3gl2 z^uTVzch`XNbuhDa1T$MlFtc?;e`E29Xf%qAjg9Z93!{qc?(Tj%_i1E5Jw0J>Z|_Sg z#Hc=!Bq{p$X=MMTRL@}4KY>61cDub~jIG%^f|;!&nAtkw%gyFEPPP0UbwkT9Y3kX|138*Hy9fmgVAV2Yild4Rx5(RVAb=ek;!DRxVVU(f1VyRH#eiJ zs|(}fZg;j@#Q?f2^&om2VWSRM0aN zK~Ycs_4?v_l`EH{v9Xb4Syt6pEEbB#hq{{DXKf9&iakx1bE{T<0<5(^6p zuv)DEfcExwTwh;ToX72UBb7=al}f?wc4KO4O1-fvp@L~Z5jA~rtXx@(=IZK-Mn^}< zU@%ZiOAA@8Rtg4#`M500sEbut(X1=niHj-AHj!=A*I1mVYWjz>GA{vb<#uUv~diI#{_rg)F t_xp@`fxVxtCz#nff|;!&nAtkwKNC$r=0zd&8~^|S2>?k&PDHLkV1hJ-40iwk delta 1141 zcmV-*1d98%2>1vgiBL{Q4GJ0x0000DNk~Le0001V0000b2m$~A030e>B9S2!e*`T_ zL_t(&f$f@0NHSd*$B!S=!Xbk|yO<&xN<>mY7H(r8ENGjQShNblf-(vM(^ab?XwfEG zwQx!)NO0F8!a<}(Y6N+UbQ6&mQc%X6cOeXumwD%{raokTt8>mX^Y@t_T(qq|@oa!NG}%3A^1c5D46Ex4~e5VOXcreXcPoCX?y$@zLpYN~O~K`}?J( zrDQU>zrP=g#fFE6UtV6m{t{RdcB^yvbMH{ zAjn_Cnb6wW>h*fb>DAShe@rI(*AV6a08kYDutJ@DMQ*iI>NC_Ei^XCL!>BpgZ1(Bt zsXR`n({pokLZMJ1k(kZqd_GUTw_f$~@=_*~U0+|zW6>#zLWx*Xva( zl~${jiI(q?TY<~vqL*8fWHJc=NT<^^t2mBB5OjBUSDv1oohg+{GLxnn2n5KGQmJ%v zbF;m@JuooP)YN3Rf7>e>W0HfSs8Xq9qUCqCg?e;$c6vM>>Wa_j(`YogTrQDF007AE zV;~UV^Z8^ZO%=y+f*^9aoZW7Je}5;FtyZg4Dy?XYCWl<~`~7@ApNWcWMgk{Z}d5%qod() z*yr=9R4R+bf5Jq||Le3s5JWs4*X#8Xi9{d}Xf&Gh^K-J4N~MfOqfjUmi^XQMxlkxj z@1?I21W_y&Ef$Mft>*Lj-QC@ro129~p}eluYMYyz>2r>bj^uK=NF*|uOh0#8Xm~z% z5U!TX{kFg&oZK3;w6rWNEPOqOlUoCkNOW*;@bw%{OD>CWa#@6v%Oady7OC-L`N_%2 z&-c-g)Q~$hHTCm-G$cHN`+qKLaC - + diff --git a/docs/html/inherit_graph_3.md5 b/docs/html/inherit_graph_3.md5 index 4f1426ee..7d6962f4 100644 --- a/docs/html/inherit_graph_3.md5 +++ b/docs/html/inherit_graph_3.md5 @@ -1 +1 @@ -2559b4a089ee5cbb4da60ef305768f32 \ No newline at end of file +69a36c8f48d03dff21785b935499d35e \ No newline at end of file diff --git a/docs/html/inherit_graph_3.png b/docs/html/inherit_graph_3.png index 3622dde47bf82e9492a9360f786091e3f67a9b41..6e8ad7050cffc6a0362fcdecf2db3a7a6484b510 100644 GIT binary patch delta 791 zcmV+y1L*w12A&2XiBL{Q4GJ0x0000DNk~Le000180000b2m$~A0Iy;?VkCkhA}FklapxAxT_$?2Mz3+bm-(uhGiPT1`FCcPK`DfgjIe-QY5{u+ z@dbwX0z-U(IlwEWQYn#0NF_yDe_SqCG#VAFU)IaV$H(*Y^UftnPq|z!l}dQzU@__G z>1kJb_63Gv<|5>Lfg!%Y5MN;S)EA1Pq!sW}zATy8x^tGqqfLDIj!^tMI+wrhO;wVc z?Vj!<$@yDfD2lqjzjrtsYPH(sa#gEUF^(4~ikgcEG#U+>rVR#zR;%^5fD5_e9cMHenM|gY-4R0heE#h0Y&;$d zRlD6@uh)fguh+9!EMmv^_xF|4K?u<_P1E!jk$7b@U%;ks`oglT+wIorbizwgC=@HZ zzrMbnoSd{;Eis~0D)Bchm&?VDJkPJ34uX8y#ksrW`xOWTE-x?Nf8O3cKR<`V;cPZr zK2*Qo_xt^KcXw8+RScTVX51!xkd43byYS`c=%`k!flVC8X*3$OTHS89gTdg+p?p4H zEEYRIKgWaNa5xwY)@rrMWWutn&*$5MXngVf&_0UC<65m2Y|7CcfhlggfIh9I* zIdkPj@w3@1l}g#|ZFZGP<#akt`SLG9e1Rdpzz|j5 zK~!jg?U~O@`d}Q#KZ_~UX$3)9sZc~9D0otd&Pk_WrP#49k%thGz=H=t!GnjQL(s)T z2TSx1=uii1-Us4Akyt^OLUco#!a9uac(Q%XUrl0rou22t&*$Ou-sjn~!7xD(K*daq zyMQsH`Byh;_m86!ilUOq6iX943o)Z6fa3R3WWkiQK*7{54yRz zQK}xL+1c6YP}KhXYyQ=Z=D&Y1469Ts|GQeLR4@$dMf`rXd)RL<`u-CHadL730M%-B zc6PQy>@in41cY=t-J!?=0OfM|$FOp_+{-;cx)J{QNw8-PpNY&T6$zO--3hrn9p%bTu?=@*jG=UJ~2wb~qefT3VW!neqGm zJkN_McXxMYv-#oSp>G4|%^0Bn0I<8eTdUPBFE0V$?d?r!CfZeLT(8%4I^F*M{>#hD z)zuXMyuZK8rbu`^p2NdKe{md-$4Qc87>1^4yWJiP2E`P&+nr9QS(fd$|0D2!e}69s zLaWsh_3r+8o-dV39LEWQ@c8)HB}L@o;=2yy|Pkz6jWm${G(mj}_>3BSz&*$}ef4!(M3^O-3Cj}4$ zAr98o)&?nkBPGGUKLG%m5*e%r+~LLm00007*k7 diff --git a/docs/html/inherit_graph_4.map b/docs/html/inherit_graph_4.map index bbef689d..47a3004f 100644 --- a/docs/html/inherit_graph_4.map +++ b/docs/html/inherit_graph_4.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_4.md5 b/docs/html/inherit_graph_4.md5 index ee6b7b7b..96f410af 100644 --- a/docs/html/inherit_graph_4.md5 +++ b/docs/html/inherit_graph_4.md5 @@ -1 +1 @@ -16b12fc3ae04d264f08a3e665f157693 \ No newline at end of file +9f1c18d72bc17c377ca779dae08dbf36 \ No newline at end of file diff --git a/docs/html/inherit_graph_4.png b/docs/html/inherit_graph_4.png index 15ee0d3b6d08c358701ae084e239317a2b4ad78f..d0dac312a7c8cc3f2bdd7aca2d24abfcbaca352a 100644 GIT binary patch delta 809 zcmV+^1J?Z52CoJoiBL{Q4GJ0x0000DNk~Le0000>0000b2nGNE01B`az>y&oe*)x5 zL_t(&f$f^VOL9>d$Dd=i)MAK`aSbFSC~W8taA;{ONTDqVT8w6GYAvB0+KMPz0`#(v@|&wflz^ii9*OlwC_9F+x6aS9`L={+xd*o^KhQ?d^jAqKNtXzpcmqn@7}>r zLdfDk$l^fA;=tM&$mMbrjYhv?e=h??JRaA?G$-rn>4_4Fgee;uM4q3Y4d>UKtTuXP ze*>~C)9UJ~Zcf};90*w)2w5BmSseUmS&T7L`}IW@V~l2JXQ}g<901MC%y19YYrWa; z0Qz>aMn*;`oldJ_sZ@$aM@ReB;@jz)tWYRKkw`=pi$o$64u>_hg+hS>e}Mqm?RK)+ zY_zhnLgjLqi2j}`#+d4aF~;cRvolqn)6-Mh+}!NXfJ8*- zAQp>3C)^bxLaWt+$K%26?JWS{`uZ9kj|Z(*OS9hG+#IsmEb8?-s?{pCwzjabv7uT| zugCK8GG1O@bn6<827Epre`2xN#~ePN4~<5HYnCqa%YBmt07pkhSXx>F04y#p;`sPj zl{cbRt3i?^&3c_Zip8RC-!`RE32wI=+uPf4yWJ?2N?daQCdyJ21x}|E7Z(?BI-O7y zMU`)JcXx+{g$0a_je&?jL>L+x(yZ6n*BpS! zvUh(I; zECVMilgVIudK$ySf5VuZoW$Ybp{nNK-~cw8O%?k}*4o|qeQ`sqXwC0HRqi(hxhe-^Kk|Vgb-8_ zir+Ty&B%GAO||7w2?vo#WNmHjf48jQLDTfo(o$*o*Zw3Di9jIm(i;ISahDu$l)jFL{JP)E^<{2Cu6t?wXFgP$UfAGQl*Vor% zGFhqXbUK&Ih37#O%sed1`u+aWFc1hZ3{x8J?(TMXcatR9+}ymeu>k;meSH8xQ53w@ z*ulYp(P-S-+T!ai7z`Q=hEysA0A8=Ry}dn`%i%af0(?GSnIZ}RoS&al6m@cPf)ILo zdeUe#4-XFjz;RqUomQ*We|Ee5=H_O5dm8{AA0Ii6E3M354-XIfd_KNtdEI8S&CJZ) z-rhDgHXa`z|I-FSh+!CpVT6jv`QS4smCCWPF~8q$Hk(7CP=9}aeSJNDtEQ&r?Ch+m zsfi@XmX;PiPvr`3x4W~mQ`kS&*Vntcx`u{^91cfMPY<3k{C>@{e=PqBl@*&>t-iXt zvRbV)O>b^)zV~=XM@N}bTU$FfHy4dY9S#S!E6jT1IPT@;g`%i%IIPiV?(XhNda+m} zNiq})A%qHr0xwq9Tjg~kk$idipcPCR%U!`=d}OMn^~I=jVHSdxgC?o6Y9) zd6i0)&*xWGRsbNAf64H-o}ZsT_*rLXXBQV2y+5TS!5~yb@=Q!jDg2b5Z=mdSLLmA7A1Nc} dkv7$q=MT{czMIFR6V3nt002ovPDHLkV1hR=lRE$a diff --git a/docs/html/inherit_graph_5.map b/docs/html/inherit_graph_5.map index c971e024..655a7048 100644 --- a/docs/html/inherit_graph_5.map +++ b/docs/html/inherit_graph_5.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/docs/html/inherit_graph_5.md5 b/docs/html/inherit_graph_5.md5 index d0789bc7..8a148bd3 100644 --- a/docs/html/inherit_graph_5.md5 +++ b/docs/html/inherit_graph_5.md5 @@ -1 +1 @@ -648ea332fb90868b8962f4867a3bce2a \ No newline at end of file +2e4b7612c145d3666242075c70f88943 \ No newline at end of file diff --git a/docs/html/inherit_graph_5.png b/docs/html/inherit_graph_5.png index f415699a3becdb4e0c735f6dcdcb489f4ec5f10b..7659010a558984f1b4283c0c2fd5f15a8c4b3da5 100644 GIT binary patch literal 5029 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 I3eVsE1LDNj@Bjb+ diff --git a/docs/html/inherit_graph_6.map b/docs/html/inherit_graph_6.map index ca29e238..03343626 100644 --- a/docs/html/inherit_graph_6.map +++ b/docs/html/inherit_graph_6.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_6.md5 b/docs/html/inherit_graph_6.md5 index 6b914efe..0305d29a 100644 --- a/docs/html/inherit_graph_6.md5 +++ b/docs/html/inherit_graph_6.md5 @@ -1 +1 @@ -78bbf20664e931597638d713256f250e \ No newline at end of file +483d52ca3b4be5d0af2b4d13a1c33cdc \ No newline at end of file diff --git a/docs/html/inherit_graph_6.png b/docs/html/inherit_graph_6.png index 2f854f45e56dcd2db5ddbb3258c846c3b7ad5c39..62177a5e8d5cc5ce1f777d1b4679bf04d2bc080d 100644 GIT binary patch delta 591 zcmV-V02iBL{Q4GJ0x0000DNk~Le0000%0000b2m$~A0Fv+%UXdXce+)@P zK~z|U?U}u*>Oc_3v)9w8t;K4rqK&2!(!@8gkC;@pRwh^p+G=T`k6`5ob{0NC1hr9v zjo6qd2$m93?Jbrgxt?&y-Q$h9l3z75%;w zs&+b^SC!%(p66?|+TH!5569zie>@(0Ueez&pU+iQwMRa_CXGfTuj(P8SS&t7-r+t3 z8vH?^!5sjAe>y*j2Ji`luv{)*uh;MM-8?IQqLZ)>2qA>fYPB*=vs$eZFaH#Nbe3qE z?)7@J*$lguWhsghkH;Z|ilSJSh2!=;1_1Q?eU@dT(J0UJ+wJzAfP3q;e};#JTdkI+ zX^X{Txm>Q->vp^CIAk)JOsCV!rfbmpJ;F^q)4c?6ol44ASiY1Aa0I@+C}K5xG4&54sK3vPL54W{Rwt5 z;@&N7Ef!kEMKpsLJWjXVn#5L&>AfZoWXN~Uck;gZa&iudB!mzIlk&v46^xV6d{7Cr zdHG{N*L9AMkH?|qM=6)fwwSH*f48@{R4Nr;1o=Uy({c4+S(fJc6(@UqtQT;Brjxq8P6)O>pHz&k8Zb1tyaUbEY{c8 zhvq4Y!rtEA(0;8}3sqIUklM#}srxFbsuGLE0GOGX;q>&BL?Xe{(-VNJ!s*+45+1c6Q<>kfp*h`W`wOVCi zVF5)^I6OQAAd|@eFgrWznMThlZ<;2iX(EK+{{Eib-CdTJmWW290Bmh-(d+fNzP`pZ zP4f9Xkx0aGYLrSPE-o&pe^e?Ii$yj!H@UjHBArgt?RLGA4B`W&Qb{<3KLr>#rlzJu zHk%dAW>W|u#Ov#;kY!oa>-B!l`T4n+pPv_oVGLXk5VcyZp9cuTFl_xs$+>3t9iF?-M - + diff --git a/docs/html/inherit_graph_7.md5 b/docs/html/inherit_graph_7.md5 index 7542ad7a..0dbc5c6e 100644 --- a/docs/html/inherit_graph_7.md5 +++ b/docs/html/inherit_graph_7.md5 @@ -1 +1 @@ -7e2bd0e494bbaff76fcc969e559e233f \ No newline at end of file +4c3841a9bba99c2bb836865e6d1e0159 \ No newline at end of file diff --git a/docs/html/inherit_graph_7.png b/docs/html/inherit_graph_7.png index 73a83800ddd0bd01a8bac2e383962b07665df976..620614d513b1b30b2c266926761bde85656445a3 100644 GIT binary patch delta 839 zcmV-N1GxO}2h9c{iBL{Q4GJ0x0000DNk~Le0000*0000b2m$~A0Gk`LB#|K%e*#HF zK~z|U?U_GFGGQFYAFl$ne<;!7Wm=GK5i}??L_-h_CEX>sM1w)NRYMN7xJTHgQxNob z3370WAPy6uDX@l8$sveGyXX&eoxgWDc(^y?rT04Yko!#ceEHtP_xt?rmOBFgpaz1f zcL0^q`)Hd+>(eY>q*AGkjg5Lme^G|l>s?w}BFn$#bANw-baYhnNXogmxJac^a;3T2 zba;4Jt31DjW!W!EqrE?RA8n)e(Kbr@@H`(5hX)1*%w}^>PY=to9LK4iOc_f0`2Bv2 zaUzi@m&@np=hM^E%gf8ECsPQ>*x%p(qI`?VWO{mfs@89AZf0g?tX6Ahe`lx9=X-p7 z#29yVb(Kmb;=veqcXvyQD2kCt#NlvQESCBC`Ina$$%7Dz$Ky0j8w`ejCt(u^92hVzEFVV6j*bLYteL zXJ==pr>D2Kw}K$7udfr^f62*7I-RamDz%so&+}_*YlDM>Mx(K>uWw~#rFvXE&(kyw z0NHHTZnq19004p@IGxUXJ}-IPZuj-|wRHXP@X*`aOXfp7|2rQgeF&l`UR_E-x?1jV_lfm&;Xe`11_vygwd~XJ=>U z?(Xj6<0F^Lt*)+)jEo?JUSD53IyzcgTMLCkFc>8M@$vEJ=jW}ht+uwdp`jt7FD@z=v9cA=B+NRO^`~l#ZcH%EZ Ri0%LY002ovPDHLkV1gk1nlb(Wpr@iJ%$&E6kYtFc`8DA8fBP{%KmQfARFw7g^*6CMoe_ydu(7dGk%GR0Xf#@M ze{VYDC-0g24tTv@n9b&Q=cF@3gd{_RBtwKGLqu6*q*5t391b)!H9?_Jz-TnW<#HjD z$&@2~#VC3;DTVRzafHKRY;JBsr_92gj2BobjD5MWzd8|`*GL!l4>u&1Yo9*>8~Wb(tE zQ5G2_`TF|Gi;D}o-EOwFwo)dOacymlB$>Ca`f51>E#HXhxDwRr} zpP!Q?2L}f^GczOPH5!e4cz6)T2L}f=tgf!+f92(6LHzjmm|CrtB$>@-sZc2B^Z7`UnM|fYhR^4t!C>I(>MA=s zI}7p{3I!{*efaU? z$4AS4pAyU!C7;i8c6OG{&CQg{ + - + ThorVG: Class Hierarchy @@ -24,7 +24,7 @@ Logo
            ThorVG -  v0.4 +  v0.5
            @@ -32,18 +32,21 @@ - + +/* @license-end */ @@ -68,51 +71,51 @@ $(function() { - - - - - - - -
            +
            - - - + + +
            +
            - - - + + +
            +
            - +
            +
            - +
            +
            - +
            +
            - - - - + + + +
            +
            - +
            +
            - +
            @@ -121,7 +124,7 @@ $(function() { diff --git a/docs/html/jquery.js b/docs/html/jquery.js index f5343eda..103c32d7 100644 --- a/docs/html/jquery.js +++ b/docs/html/jquery.js @@ -1,71 +1,26 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
            "],col:[2,"","
            "],tr:[2,"","
            "],td:[3,"","
            "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
            ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
            ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
            "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
            ").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("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",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(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{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"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
            "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
            "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,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}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1)[^>]*$|#([\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(;b40){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(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?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
            a";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>",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="
            ";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="
            t
            ";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="
            ";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-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=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=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=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;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?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;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=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 bRe[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=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.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="";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="

            ";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="
            ";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;bT0){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;bT0){for(bB=bA;bB=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-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=/",""],legend:[1,"
            ","
            "],thead:[1,"","
            "],tr:[2,"","
            "],td:[3,"","
            "],col:[2,"","
            "],area:[1,"",""],_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
            ","
            "]}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>");try{for(var bw=0,bv=this.length;bw1&&bw0?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>");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]===""&&!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=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)<[^<]*)*<\/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=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("
            ").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.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").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"?"":"")+"");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;h0){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('
            ').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
            ');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(hl.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');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=$('